[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/2665008.2665034acmotherconferencesArticle/Chapter ViewAbstractPublication PagesspringsimConference Proceedingsconference-collections
research-article

Sprat: hierarchies of domain-specific languages for marine ecosystem simulation engineering

Published: 13 April 2014 Publication History

Abstract

Scientific software is becoming more complex and its development nowadays is often an interdisciplinary process in which usually scientists -- most of them without training in software engineering -- implement the software themselves. To help them achieve a good code quality, we propose to employ a process called Sprat based on the concept of hierarchies of domain-specific languages (DSLs). In such a hierarchy, every DSL constitutes an implementation platform for the DSL directly above it. Each role in the development process (i.e., a scientist from a specific discipline) implements a layer of the software in a DSL belonging to the hierarchy. Therefore, the scientists only deal with abstractions they are familiar with from their respective domain and a clear separation of components is attained. To evaluate the Sprat approach, we present its application to the development of the Sprat simulation -- a marine ecosystem model for long-term fish stock prediction.

References

[1]
David Abrahams and Aleksey Gurtovoy. 2004. C++ template metaprogramming: concepts, tools, and techniques from Boost and beyond. Addison Wesley.
[2]
M. S. Alnæs. 2012. "UFL: a Finite Element Form Language". In: Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book. Vol. 84. LNCSE. Springer. Chap. 17.
[3]
Krzysztof Czarnecki et al. 2004. "DSL implementation in MetaOCaml, Template Haskell, and C++". In: Domain-Specific Program Generation. Vol. 3016. LNCS. Springer, pp. 51--72.
[4]
Leonardo Dagum and Ramesh Menon. 1998. "OpenMP: an industry standard API for shared-memory programming". In: Computational Science & Engineering, IEEE 5.1, pp. 46--55.
[5]
Z. DeVito et al. 2011. "Liszt: a domain specific language for building portable mesh-based PDE solvers". In: Proceedings SC11. ACM.
[6]
S. M. Easterbrook and T. C. Johns. 2009. "Engineering the software for understanding climate change". In: Computing in science & engineering 11.6, pp. 65--74.
[7]
Sven Efftinge et al. 2012. "Xbase: implementing domain-specific languages for Java". In: Proceedings GPCE'12. ACM, pp. 112--121.
[8]
Jim Gray. 2009. "eScience: A Transformed Scientific Method". In: The Fourth Paradigm: Data-Intensive Scientific Discovery. Ed. by Tony Hey, Stewart Tansley, and Kristin Tolle. Microsoft Research, pp. XVII--XXXI.
[9]
J. E. Hannay et al. 2009. "How do scientists develop and use scientific software?" In: Proceedings SECSE'09. IEEE, pp. 1--8.
[10]
Dimitri Kuzmin, Rainald Löhner, and Stefan Turek. 2012. Flux-Corrected Transport: Principles, Algorithms, and Applications. Scientific Computation. 2nd ed. Scientific Computation. Springer.
[11]
A. Logg, K. A. Mardal, and G. Wells. 2012. Automated Solution of Differential Equations by the Finite Element Method: The FEniCS Book. Vol. 84. LNCSE. Springer.
[12]
James M. Neighbors. 1984. "The Draco approach to constructing software from reusable components". In: Software Engineering, IEEE Transactions on 5, pp. 564--574.
[13]
Eric Niebler. 2007. "Proto: A compiler construction toolkit for DSELs". In: Proceedings LCSD'07. ACM, pp. 42--51.
[14]
Herbert Prähofer and Dominik Hurnaus. 2010. "MONACO -- A domain-specific language supporting hierarchical abstraction and verification of reactive control programs". In: Proceedings INDIN 2010. IEEE, pp. 908--914.
[15]
Christopher Preschern, Andrea Leitner, and Christian Kreiner. 2012. "Domain specific language architecture for automation systems: an industrial case study". In: Proceedings ECMFA'12.
[16]
Doraiswami Ramkrishna. 2000. Population Balances: Theory and Applications to Particulate Systems in Engineering. Academic Press.
[17]
Diomidis Spinellis. 2001. "Notable design patterns for domain-specific languages". In: Journal of Systems and Software 56.1, pp. 91--99.
[18]
Thomas Stahl and Markus Völter. 2006. Model-Driven Software Development: Technology, Engineering, Management. Wiley.
[19]
D. Steinberg et al. 2008. EMF: Eclipse Modeling Framework. 2nd ed. Addison-Wesley Professional.
[20]
Michael L Van De Vanter et al. 2009. Productive petascale computing: requirements, hardware, and software. Tech. rep. Sun Microsystems, Inc.
[21]
Todd L. Veldhuizen. 2000. "Blitz++: The library that thinks it is a compiler". In: Advances in Software tools for scientific computing. Springer, pp. 57--87.
[22]
Todd L. Veldhuizen. 1995. "Expression templates". In: C++ Report 7.5, pp. 26--31.
[23]
Todd L. Veldhuizen and M. Ed. Jernigan. 1997. "Will C++ be faster than Fortran?" In: Scientific Computing in Object-Oriented Parallel Environments. Springer, pp. 49--56.
[24]
G. V. Wilson. 2006. "Where's the real bottleneck in scientific computing?" In: American Scientist 94.1, pp. 5--6.

Cited By

View all
  • (2014)Hierarchical Combination of Internal and External Domain-Specific Languages for Scientific ComputingProceedings of the 2014 European Conference on Software Architecture Workshops10.1145/2642803.2642820(1-8)Online publication date: 25-Aug-2014

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
DEVS '14: Proceedings of the Symposium on Theory of Modeling & Simulation - DEVS Integrative
April 2014
298 pages

Sponsors

  • (SCS): The Society for Modeling and Simulation International

In-Cooperation

Publisher

Society for Computer Simulation International

San Diego, CA, United States

Publication History

Published: 13 April 2014

Check for updates

Author Tags

  1. DSL
  2. domain-specific languages
  3. model-driven software engineering

Qualifiers

  • Research-article

Conference

SpringSim '14
Sponsor:
  • (SCS)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Hierarchical Combination of Internal and External Domain-Specific Languages for Scientific ComputingProceedings of the 2014 European Conference on Software Architecture Workshops10.1145/2642803.2642820(1-8)Online publication date: 25-Aug-2014

View Options

Login options

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