Domain-Specific Code Generator Modeling: A Case Study for Multi-faceted Concurrent Systems

  • Stefan Naujokat
  • Louis-Marie Traonouez
  • Malte Isberner
  • Bernhard Steffen
  • Axel Legay
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8802)


In this paper we discuss an elaborate case study utilizing the domain-specific development of code generators within the Cinco meta tooling suite. Cinco is a framework that allows for the automatic generation of a wide range of graphical modeling tools from an abstract high-level specification. The presented case study makes use of Cinco to rapidly construct custom graphical interfaces for multi-faceted, concurrent systems, comprising non-functional properties like time, probability, data, and costs. The point of this approach is to provide user communities and their favorite tools with graphical interfaces tailored to their specific needs. This will be illustrated by generating graphical interfaces for timed automata (TA), probabilistic timed automata (PTA), Markov decision processes (MDP) and simple labeled transition systems (LTS). The main contribution of the presented work, however, is the metamodel-based domain-specific construction of the corresponding code generators for the verification tools Uppaal, Spin, Plasma-lab, and Prism.


Code Generator Markov Decision Process Label Transition System Graphical Editor Eclipse Modeling Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. Morgan & Claypool (2012)Google Scholar
  2. 2.
    Xtend, (Online; last accessed April 23, 2014)
  3. 3.
    Gronback, R.C.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Addison-Wesley, Boston (2008)Google Scholar
  4. 4.
    MetaEdit+ Version 4.5 Workbench Users Guide - 5.3 MERL Generator Definition Language, (Online; last accessed July 31, 2014)
  5. 5.
    Kelly, S., Tolvanen, J.P.: Domain-Specific Modeling: Enabling Full Code Generation. Wiley-IEEE Computer Society Press, Hoboken (2008)Google Scholar
  6. 6.
    Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit+: A Fully Configurable Multi-User and Multi-Tool CASE and CAME Environment. In: Constantopoulos, P., Vassiliou, Y., Mylopoulos, J. (eds.) CAiSE 1996. LNCS, vol. 1080, pp. 1–21. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  7. 7.
    Kastens, U., Pfahler, P., Jung, M.T.: The Eli System. In: Koskimies, K. (ed.) CC 1998. LNCS, vol. 1383, pp. 294–297. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  8. 8.
    Schmidt, C., Cramer, B., Kastens, U.: Generating visual structure editors from high-level specifications. Technical report, University of Paderborn, Germany (2008)Google Scholar
  9. 9.
    Naujokat, S., Lybecait, M., Steffen, B., Kopetzki, D., Margaria, T.: Full generation of domain-specific graphical modeling tools: A meta2modeling approach (under submission, 2014)Google Scholar
  10. 10.
    Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126, 183–235 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Kwiatkowska, M., Norman, G., Segala, R., Sproston, J.: Automatic verification of real-time systems with discrete probability distributions. Theoretical Computer Science 282, 101–150 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Howard, R.A.: Dynamic Programming and Markov Processes. MIT Press (1960)Google Scholar
  13. 13.
    Katoen, J.-P.: Labelled Transition Systems. In: Broy, M., Jonsson, B., Katoen, J.-P., Leucker, M., Pretschner, A. (eds.) Model-Based Testing of Reactive Systems. LNCS, vol. 3472, pp. 615–616. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    Bengtsson, J., Larsen, K.G., Larsson, F., Pettersson, P., Yi, W.: Uppaal – a Tool Suite for Automatic Verification of Real-Time Systems. In: Alur, R., Sontag, E.D., Henzinger, T.A. (eds.) HS 1995. LNCS, vol. 1066, pp. 232–243. Springer, Heidelberg (1996) CrossRefGoogle Scholar
  15. 15.
    Holzmann, G.J.: The SPIN Model Checker - Primer and Reference Manual. Addison-Wesley (2004)Google Scholar
  16. 16.
    Boyer, B., Corre, K., Legay, A., Sedwards, S.: Plasma-lab: A flexible, distributable statistical model checking library. In: Joshi, K., Siegle, M., Stoelinga, M., D’Argenio, P.R. (eds.) QEST 2013. LNCS, vol. 8054, pp. 160–164. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  17. 17.
    Kwiatkowska, M., Norman, G., Parker, D.: PRISM 4.0: Verification of probabilistic real-time systems. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 585–591. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Jörges, S.: Construction and Evolution of Code Generators. LNCS, vol. 7747. Springer, Heidelberg (2013)Google Scholar
  19. 19.
    Lybecait, M.: Entwicklung und Implementierung eines Frameworks zur grafischen Modellierung von Modelltransformationen auf Basis von EMF-Metamodellen und Genesys. diploma thesis, TU Dortmund (2012)Google Scholar
  20. 20.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar
  21. 21.
    Steffen, B., Margaria, T., Nagel, R., Jörges, S., Kubczak, C.: Model-Driven Development with the jABC. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, pp. 92–108. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    McAffer, J., Lemieux, J.M., Aniszczyk, C.: Eclipse Rich Client Platform, 2nd edn. Addison-Wesley Professional (2010)Google Scholar
  23. 23.
    Margaria, T., Steffen, B.: Simplicity as a Driver for Agile Innovation. Computer 43(6), 90–92 (2010)CrossRefGoogle Scholar
  24. 24.
    Kopetzki, D.: Model-based generation of graphical editors on the basis of abstract meta model specifications. Master’s thesis, TU Dortmund (2014)Google Scholar
  25. 25.
    Parr, T.: String Template, (Online; last accessed July 18, 2014)
  26. 26.
    The Apache Software Foundation: Apache Velocity Site, (Online; last accessed July 17, 2014)
  27. 27.
    Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods in System Design 15(1), 7–48 (1999)MathSciNetCrossRefGoogle Scholar
  28. 28.
    Behrmann, G., David, A., Larsen, K.G., Håkansson, J., Pettersson, P., Yi, W., Hendriks, M.: Uppaal 4.0. In: QEST, pp. 125–126. IEEE Computer Society (2006)Google Scholar
  29. 29.
    Blom, S., van de Pol, J., Weber, M.: Ltsmin: Distributed and symbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 354–359. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  30. 30.
    Baier, C., Ciesinski, F., Grosser, M.: PROBMELA: A Modeling Language for Communicating Probabilistic Processes. In: Proceedings of the Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, MEMOCODE 2004, pp. 57–66. IEEE (2004)Google Scholar
  31. 31.
    Tripakis, S., Courcoubetis, C.: Extending PROMELA and SPIN for Real Time. In: Margaria, T., Steffen, B. (eds.) TACAS 1996. LNCS, vol. 1055, pp. 329–348. Springer, Heidelberg (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Stefan Naujokat
    • 1
  • Louis-Marie Traonouez
    • 2
  • Malte Isberner
    • 1
  • Bernhard Steffen
    • 1
  • Axel Legay
    • 2
  1. 1.Programming SystemsTechnische Universität DortmundDortmundGermany
  2. 2.IRISA / INRIARennesFrance

Personalised recommendations