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 journalArticlepeer-review

21 Scopus citations


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
Issue number3
StatePublished - Aug 1 2007


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

ASJC Scopus subject areas

  • Hardware and Architecture
  • General Physics and Astronomy


Dive into the research topics of 'PUPIL: A systematic approach to software integration in multi-scale simulations'. Together they form a unique fingerprint.

Cite this