TY - JOUR
T1 - PUPIL
T2 - A systematic approach to software integration in multi-scale simulations
AU - Torras, Juan
AU - He, Yao
AU - Cao, Chao
AU - Muralidharan, Krishna
AU - Deumens, E.
AU - Cheng, H. P.
AU - Trickey, S. B.
N1 - Funding Information:
Financial support from NSF ITR Grant DMR-0325553 is acknowledged with thanks.
PY - 2007/8/1
Y1 - 2007/8/1
N2 - We present a relatively straightforward way to integrate existing software packages into a full multi-scale simulation package in which each application runs in its own address space and there is no run-time intervention by the researcher. The PUPIL (Program for User Package Interfacing and Linking) architectural concept is to provide a simulation Supervisor, implemented as a Manager and various Workers which involve small wrapper interfaces written and installed within each application package and various communication services. The different, autonomous packages ("Calculation Units") are plugged into the PUPIL system which one then operates as a software driver for them. Well-defined protocols are provided for communication between the different Calculation Units and the PUPIL system. The CORBA communication protocol is used to exchange information between running processes. All simulation directives from the user are stored in an XML file that is interpreted by the PUPIL Manager and Workers. An initial version has been designed using the Object Oriented (OO) paradigm and implemented in Java as a fast prototyping language. Tests of implementation ease and of operational correctness (on toy physical systems) have been carried out. In the former category, we document how interfaces to both DL_POLY and SIESTA were done relatively straightforwardly. In the latter category, the most demanding test was the joining of three different packages to do a MD calculation with pattern recognition to identify the QM-forces region and an external QM force calculation. The results show that PUPIL provides ease of operation and maintenance with little overhead.
AB - We present a relatively straightforward way to integrate existing software packages into a full multi-scale simulation package in which each application runs in its own address space and there is no run-time intervention by the researcher. The PUPIL (Program for User Package Interfacing and Linking) architectural concept is to provide a simulation Supervisor, implemented as a Manager and various Workers which involve small wrapper interfaces written and installed within each application package and various communication services. The different, autonomous packages ("Calculation Units") are plugged into the PUPIL system which one then operates as a software driver for them. Well-defined protocols are provided for communication between the different Calculation Units and the PUPIL system. The CORBA communication protocol is used to exchange information between running processes. All simulation directives from the user are stored in an XML file that is interpreted by the PUPIL Manager and Workers. An initial version has been designed using the Object Oriented (OO) paradigm and implemented in Java as a fast prototyping language. Tests of implementation ease and of operational correctness (on toy physical systems) have been carried out. In the former category, we document how interfaces to both DL_POLY and SIESTA were done relatively straightforwardly. In the latter category, the most demanding test was the joining of three different packages to do a MD calculation with pattern recognition to identify the QM-forces region and an external QM force calculation. The results show that PUPIL provides ease of operation and maintenance with little overhead.
KW - Java
KW - Multi-scale simulations
KW - QM/MM software
KW - Software engineering
UR - http://www.scopus.com/inward/record.url?scp=34347344947&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=34347344947&partnerID=8YFLogxK
U2 - 10.1016/j.cpc.2007.01.009
DO - 10.1016/j.cpc.2007.01.009
M3 - Article
AN - SCOPUS:34347344947
VL - 177
SP - 265
EP - 279
JO - Computer Physics Communications
JF - Computer Physics Communications
SN - 0010-4655
IS - 3
ER -