PUPIL: A systematic approach to software integration in multi-scale simulations

Juan Torras, Yao He, Chao Cao, Krishna Muralidharan, E. Deumens, H. P. Cheng, S. B. Trickey

Research output: Contribution to journalArticle

17 Citations (Scopus)

Abstract

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.

Original languageEnglish (US)
Pages (from-to)265-279
Number of pages15
JournalComputer Physics Communications
Volume177
Issue number3
DOIs
StatePublished - Aug 1 2007
Externally publishedYes

Fingerprint

computer programs
Managers
Computer systems
simulation
Network protocols
Common object request broker architecture (CORBA)
Communication
Supervisory personnel
XML
Software packages
Joining
communication
Pattern recognition
files
pattern recognition
maintenance

Keywords

  • Java
  • Multi-scale simulations
  • QM/MM software
  • Software engineering

ASJC Scopus subject areas

  • Computer Science Applications
  • Physics and Astronomy(all)

Cite this

PUPIL : A systematic approach to software integration in multi-scale simulations. / Torras, Juan; He, Yao; Cao, Chao; Muralidharan, Krishna; Deumens, E.; Cheng, H. P.; Trickey, S. B.

In: Computer Physics Communications, Vol. 177, No. 3, 01.08.2007, p. 265-279.

Research output: Contribution to journalArticle

Torras, Juan ; He, Yao ; Cao, Chao ; Muralidharan, Krishna ; Deumens, E. ; Cheng, H. P. ; Trickey, S. B. / PUPIL : A systematic approach to software integration in multi-scale simulations. In: Computer Physics Communications. 2007 ; Vol. 177, No. 3. pp. 265-279.
@article{f9c987d4bae6494687f2c50b52c01202,
title = "PUPIL: A systematic approach to software integration in multi-scale simulations",
abstract = "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.",
keywords = "Java, Multi-scale simulations, QM/MM software, Software engineering",
author = "Juan Torras and Yao He and Chao Cao and Krishna Muralidharan and E. Deumens and Cheng, {H. P.} and Trickey, {S. B.}",
year = "2007",
month = "8",
day = "1",
doi = "10.1016/j.cpc.2007.01.009",
language = "English (US)",
volume = "177",
pages = "265--279",
journal = "Computer Physics Communications",
issn = "0010-4655",
publisher = "Elsevier",
number = "3",

}

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.

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 -