skip to main content
research-article

SESSL: A domain-specific language for simulation experiments

Published: 01 February 2014 Publication History

Abstract

This article introduces SESSL (Simulation Experiment Specification via a Scala Layer), an embedded domain-specific language for simulation experiments. It serves as an additional software layer between users and simulation systems and is implemented in Scala. SESSL supports multiple simulation systems and offers various features (e.g., for experiment design, performance analysis, result reporting, and simulation-based optimization). It supports “cutting-edge” experiments by allowing to add custom code, enables a reuse of functionality across simulation systems, and improves the reproducibility of simulation experiments.

References

[1]
F. T. Bergmann, J. Cooper, N. Le Novère, D. Nickerson, and D. Waltemath. 2013. Simulation experiment description markup language (SED-ML): Level 1 version 2. Retrieved from http://sed-ml.org/documents/sed-ml-L1V2.pdf.
[2]
D. Bruce. 1997. What makes a good domain-specific language? APOSTLE, and its approach to parallel discrete event simulation. In Proceedings of the ACM SIGPLAN Workshop on Domain Specific Languages. ACM, 17--35.
[3]
Y. Cao, D. T. Gillespie, and L. R. Petzold. 2006. Efficient step size selection for the tau-leaping simulation method. Journal of Chemical Physics 124, 4.
[4]
M. Courtot, N. Juty, C. Knupfer, D. Waltemath, A. Zhukova, A. Drager, M. Dumontier, A. Finney, M. Golebiewski, J. Hastings, S. Hoops, S. Keating, D. B. Kell, S. Kerrien, J. Lawson, A. Lister, J. Lu, R. Machne, P. Mendes, M. Pocock, N. Rodriguez, A. Villeger, D. J. Wilkinson, S. Wimalaratne, C. Laibe, M. Hucka, and N. Le Novere. 2011. Controlled vocabularies and semantics in systems biology. Molecular Systems Biology 7, 1.
[5]
T. Despeyroux. 2008. Evolution of ontologies and types. In Proceedings of the IADIS International Conference WWW/Internet 2008, P. Isaías, M. B. Nunes, and D. Ifenthaler, Eds. 419--422.
[6]
Z. DeVito, N. Joubert, F. Palacios, S. Oakley, M. Medina, M. Barrientos, E. Elsen, F. Ham, A. Aiken, K. Duraisamy, E. Darve, J. Alonso, and P. Hanrahan. 2011. Liszt: aA domain specific language for building portable mesh-based PDE solvers. In Proceedings of the 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC’11). ACM.
[7]
A. Dräger, R. Keller, A. Dörr, S. Tscherneck, U. Hofmann, C. Wrzodek, A. Funahashi, A. Tabira, B. Kandel, M. Klein, M. Thomas, N. Rodriguez, N. Le Novère, U. M. Zanger, and A. Zell. 2012. SBMLsimulator: An efficient Java solver implementation for SBML. Retrieved from http://www.ra.cs.uni-tuebingen.de/software/SBMLsimulator.
[8]
I. Dragos, M. Odersky, L. Bourlier, M. Dotta, M. Farwell, H. Miller, E. Molitor, H. Plociniczak, M. Russell, and M. Stocker. 2013. ScalaIDE for Eclipse. Retrieved from http://scala-ide.org.
[9]
R. Ewald. 2011. Automatic Algorithm Selection for Complex Simulation Problems. Vieweg + Teubner.
[10]
R. Ewald, J. Himmelspach, M. Jeschke, S. Leye, and A. M. Uhrmacher. 2010. Flexible experimentation in the modeling and simulation framework JAMES II--implications for computational systems biology. Briefings in Bioinformatics 11, 3, 290--300.
[11]
M. Fowler. 2010. Domain-Specific Languages, 1st ed. Addison-Wesley Professional.
[12]
M. Garcia, A. Izmaylova, and S. Schupp. 2010. Extending scala with database query capability. Journal of Object Technology 9, 45--68.
[13]
M. A. Gibson and J. Bruck. 2000. Efficient exact stochastic simulation of chemical systems with many species and many channels. Journal of Chemical Physics 104, 1876--1889.
[14]
A. W. Hallagan. 2011. The design of XML-based model and experiment description languages for network simulation. Bachelor’s thesis, Department of Computer Science, Bucknell University.
[15]
T. Helms, J. Himmelspach, C. Maus, O. Röwer, J. Schützel, and A. M. Uhrmacher. 2012. Toward a language for the flexible observation of simulations. In Proceedings of the 2012 Winter Simulation Conference, C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A. M. Uhrmacher, Eds. IEEE.
[16]
I. Hepburn, W. Chen, S. Wils, and E. De Schutter. 2012. STEPS: Efficient simulation of stochastic reaction-diffusion models in realistic morphologies. BMC Systems Biology 6, 36.
[17]
J. Himmelspach, R. Ewald, S. Leye, and A. M. Uhrmacher. 2010. Enhancing the scalability of simulations by embracing multiple levels of parallelization. In Proceedings of the 2nd International Workshop on High Performance Computational Systems Biology (HiBi’10). IEEE, 57--66.
[18]
J. Himmelspach, R. Ewald, and A. M. Uhrmacher. 2008. A flexible and scalable experimentation layer. In Proceedings of the 2008 Winter Simulation Conference, S. Mason, R. Hill, L. Moench, and O. Rose, Eds.
[19]
J. Himmelspach and A. M. Uhrmacher. 2007. Plug’n simulate. In Proceedings of the 40th Annual Simulation Symposium. IEEE CS, 137--143.
[20]
K. Hinsen. 2013. A glimpse of the future of scientific programming. Computing in Science & Engineering 15, 1, 84--88.
[21]
M. Hucka, et al. 2003. The systems biology markup language (SBML): A medium for representation and exchange of biochemical network models. Bioinformatics 19, 4, 524--531.
[22]
P. Hudak. 1996. Building domain-specific embedded languages. ACM Computing Surveys 28, 4, 196.
[23]
L. N. Joppa, G. McInerny, R. Harper, L. Salido, K. Takeda, K. O’Hara, D. Gavaghan, and S. Emmott. 2013. Troubling trends in scientific software use. Science 340, 6134, 814--815.
[24]
S. Kite, C. Wood, S. J. E. Taylor, and N. Mustafee. 2011. SakerGrid: Simulation experimentation using grid enabled simulation software. In Proceedings of the 2011 Winter Simulation Conference, S. Jain, R. R. Creasey, J. Himmelspach, K. P. White, and M. Fu, Eds.
[25]
A. Law. 2006. Simulation Modeling and Analysis, 4th ed. McGraw-Hill.
[26]
P. L’Ecuyer, L. Meliani, and J. Vaucher. 2002. SSJ: A framework for stochastic simulation in Java. In Proceedings of the 2002 Winter Simulation Conference, E. Yücesan and C. H. Chen, Eds. IEEE.
[27]
F. Leisch. 2002. Sweave: Dynamic generation of statistical reports using literate data analysis. In Compstat 2002 - Proceedings in Computational Statistics. Physica Verlag, Heidelberg, 575--580.
[28]
C. Li, M. Donizelli, N. Rodriguez, H. Dharuri, L. Endler, V. Chelliah, L. Li, E. He, A. Henry, M. I. Stefan, J. L. Snoep, M. Hucka, N. Le Novère, and C. Laibe. 2010. BioModels Database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Systems Biology 4, 92.
[29]
C. F. Lopez, J. L. Muhlich, J. A. Bachman, and P. K. Sorger. 2013. Programming biological models in Python using PySB. Molecular systems biology 9, 1.
[30]
M. Lukasiewycz, M. Glass, F. Reimann, and J. Teich. 2011. Opt4J: a modular framework for meta-heuristic optimization. In Proceedings of the 13th Annual Conference on Genetic and Evolutionary Computation. GECCO ’11. ACM, 1723--1730.
[31]
Z. Merali. 2010. Computational science: …error. Nature 467, 775--777.
[32]
J. A. Miller, G. T. Baramidze, A. P. Sheth, and P. A. Fishwick. 2004. Investigating ontologies for simulation modeling. In Proceedings of the 37th Annual Simulation Symposium. IEEE CS.
[33]
J. A. Miller, J. Han, and M. Hybinette. 2010. Using domain specific language for modeling and simulation: ScalaTion as a case study. In Proceedings of the 2010 Winter Simulation Conference, B. Johansson, S. Jain, J. Montoya-Torres, J. Hugan, and E. Yücesan, Eds. IEEE.
[34]
M. Odersky, L. Spoon, and B. Venners. 2011. Programming in Scala, 2nd ed. Artima.
[35]
M. Odersky and M. Zenger. 2005. Scalable component abstractions. In Proceedings of the 20th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’05). ACM, 41--57.
[36]
E. H. Page, L. Litwin, M. T. McMahon, B. Wickham, M. Shadid, and E. Chang. 2012. Goal-directed grid-enabled computing for legacy simulations. In IEEE International Symposium on Cluster Computing and the Grid. IEEE, 873--879.
[37]
K. Pawlikowski, H. D. J. Jeong, and J. S. R. Lee. 2002. On credibility of simulation studies of telecommunication networks. IEEE Communications Magazine 40, 1, 132--139.
[38]
L. F. Perrone, C. Cicconetti, G. Stea, and B. C. Ward. 2009. On the automation of computer network simulators. In Proceedings of the 2nd International Conference on Simulation Tools and Techniques (SIMTUTools’09). ICST.
[39]
L. F. Perrone, C. S. Main, and B. C. Ward. 2012. SAFE: simulation automation framework for experiments. In Proceedings of the 2012 Winter Simulation Conference, C. Laroque, J. Himmelspach, R. Pasupathy, O. Rose, and A. M. Uhrmacher, Eds. IEEE.
[40]
J. Ribault. 2011. Reuse and Scalability in Modeling and Simulation Software Engineering. Ph.D. thesis, Université de Nice Sophia-Antipolis.
[41]
H. M. Sauro, M. Hucka, A. Finney, C. Wellock, H. Bolouri, J. Doyle, and H. Kitano. 2003. Next generation simulation tools: The systems biology workbench and BioSPICE integration. OMICS: A Journal of Integrative Biology 7, 4, 355--372.
[42]
A. M. Sloane. 2008. Experiences with domain-specific language embedding in scala. In Proceedings of the 2nd International Workshop on Domain-Specific Program Development, J. Lawall and L. Reveillere, Eds.
[43]
S. Sobernig, P. Gaubatz, M. Strembeck, and U. Zdun. 2011. Comparing complexity of API designs: an exploratory experiment on DSL-based framework integration. In Proceedings of the 10th ACM International Conference on Generative Programming and Component Engineering. ACM, 157--166.
[44]
M. Strembeck and U. Zdun. 2009. An approach for the systematic development of domain-specific languages. Software: Practice and Experience 39, 15, 1253--1292.
[45]
A. Sujeeth, H. Lee, K. J. Brown, T. Rompf, H. Chafi, M. Wu, A. Atreya, M. Odersky, and K. Olukotun. 2011. OptiML: An implicitly parallel domain-specific language for machine learning. In Proceedings of the 28th International Conference on Machine Learning (ICML’11). 609--616.
[46]
A. van Deursen, P. Klint, and J. Visser. 2000. Domain-specific languages: an annotated bibliography. SIGPLAN Notices 35, 6, 26--36.
[47]
A. Varga. 2001. The OMNeT++ Discrete Event Simulation System. In Proceedings of the European Simulation Multiconference (ESM’2001). SCS Europe.
[48]
A. Varga. 2011. OMNeT++ User Manual Version 4.4. OpenSim Ltd. Retrieved from http://www.omnetpp.org/doc/omnetpp/Manual.pdf.
[49]
D. Waltemath, R. Adams, F. Bergmann, M. Hucka, F. Kolpakov, A. Miller, I. Moraru, D. Nickerson, S. Sahle, J. Snoep, and N. Le Novere. 2011. Reproducible computational biology experiments with SED-ML—the simulation experiment description markup language. BMC Systems Biology 5, 198.
[50]
M. Weber and E. Kindler. 2003. The petri net markup language. In Petri Net Technology for Communication-Based Systems, H. Ehrig, W. Reisig, G. Rozenberg, and H. Weber, Eds. Lecture Notes in Computer Science Series, vol. 2472. Springer, 124--144.
[51]
U. Zdun and M. Strembeck. 2009. Reusable architectural decisions for DSL design: Foundational decisions in DSL development. In Proceedings of the 14th European Conference on Pattern Languages of Programs.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Computer Simulation
ACM Transactions on Modeling and Computer Simulation  Volume 24, Issue 2
February 2014
136 pages
ISSN:1049-3301
EISSN:1558-1195
DOI:10.1145/2594460
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 February 2014
Accepted: 01 October 2013
Revised: 01 July 2013
Received: 01 July 2012
Published in TOMACS Volume 24, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Scala
  2. Simulation
  3. domain-specific language
  4. experiments

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)43
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Nov 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media