Computational Science Technical Note CSTN-123


Engineering Domain-Specific Languages for Computational Simulations of Complex Systems

K. A. Hawick

Archived June 2011


Simulating complex systems often requires high-performance software to be custom developed. However families of simulation problem do arise in which many computational tools, data structures and semantic ideas are shared in common. Software engineering mechanisms that support the sharing and reuse of developed code are strongly desireable to save cost on development effort, testing and validation effort, and specifically to lower the time involved from concept to implementation for a new simulation model. Domain-Specific Languages (DSLs) provide a valuable such mechanism and act as a semantic bridge between application domain expert and programmer. Even in cases of computational scientists where these two roles might be played by the same individual, a DSL provides a powerful mechanism to abstract domain-specific ideas to improve the development time by lowering the software code complexity. We discuss some families of complex systems simulation problem and some experiences with domain-specific languages and tools -- particularly when applied to manage simulations where parallell and distributed computing technologies are used to speed-up the process of statistics collection from the numerical experiments.

Keywords: domain specific languages; simulation models; complex system; software engineering

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

  author = {K. A. Hawick},
  title = {Engineering Domain-Specific Languages for Computational Simulations
	of Complex Systems},
  booktitle = {Proc. Int. Conf. on Software Engineering and Applications (SEA2011)},
  year = {2011},
  number = {CSTN-123},
  pages = {222-229},
  address = {Dallas, USA},
  month = {14-16 December},
  publisher = {IASTED},
  doi = {10.2316/P.2011.758-046},
  institution = {Massey University},
  timestamp = {2012.01.15}

[ CSTN Index | CSTN BiBTeX ]