Reifying Concurrency for Executable Metamodeling

  • Benoît Combemale
  • Julien De Antoni
  • Matias Vara Larsen
  • Frédéric Mallet
  • Olivier Barais
  • Benoit Baudry
  • Robert B. France
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8225)


Current metamodeling techniques can be used to specify the syntax and semantics of domain specific modeling languages (DSMLs). Still, there is little support for explicitly specifying concurrency semantics of DSMLs. Often, such semantics are provided by the implicit concurrency model of the execution environment supported by the language workbench used to implement the DSMLs. The lack of an explicit concurrency model has several drawbacks: it prevents from developing a complete understanding of the DSML’s behavioral semantics, as well as effective concurrency-aware analysis techniques, and explicit models of semantic variants. This work reifies concurrency as a metamodeling facility, leveraging formalization work from the concurrency theory and models of computation (MoC) community. The essential contribution of this paper is a language workbench for binding domain-specific concepts and models of computation through an explicit event structure at the metamodel level. We present a case study that serves to demonstrate the utility of the novel metamodeling facilities and clarify the scope of the approach.


Object Constraint Language Abstract Syntax Object Management Group Execution State 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.
    Combemale, B., Crégut, X., Pantel, M.: A Design Pattern to Build Executable DSMLs and associated V&V tools. In: APSEC. IEEE (December 2012)Google Scholar
  2. 2.
    Object Management Group, Inc.: Semantics of a Foundational Subset for Executable UML Models (fUML), v1.0 (2011)Google Scholar
  3. 3.
    Combemale, B., Hardebolle, C., Jacquet, C., Boulanger, F., Baudry, B.: Bridging the Chasm between Executable Metamodeling and Models of Computation. In: Czarnecki, K., Hedin, G. (eds.) SLE 2012. LNCS, vol. 7745, pp. 184–203. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  4. 4.
    Lee, E.A., Sangiovanni-Vincentelli, A.L.: A framework for comparing models of computation. IEEE Trans. on CAD of Integrated Circuits and Systems 17(12), 1217–1229 (1998)CrossRefGoogle Scholar
  5. 5.
    Jantsch, A.: Modeling Embedded Systems and SoCs. Morgan Kaufmann Publishers Inc. (2004)Google Scholar
  6. 6.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity – the Ptolemy approach. Proc. of the IEEE 91(1) (2003)Google Scholar
  7. 7.
    Plotkin, G.D.: A structural approach to operational semantics (1981)Google Scholar
  8. 8.
    Karsai, G., Agrawal, A., Shi, F., Sprinkle, J.: On the use of graph transformations for the formal specification of model interpreters. Journal of Universal Computer Science 9 (2003)Google Scholar
  9. 9.
    Bendraou, R., Jezéquél, J.-M., Fleurey, F.: Combining aspect and model-driven engineering approaches for software process modeling and execution. In: Wang, Q., Garousi, V., Madachy, R., Pfahl, D. (eds.) ICSP 2009. LNCS, vol. 5543, pp. 148–160. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  10. 10.
    Knuth, D.E.: Semantics of context-free languages. Theory of Computing Systems 2(2), 127–145 (1968)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Communications of the ACM 12(10), 576–580 (1969)CrossRefzbMATHGoogle Scholar
  12. 12.
    Gries, D.: The science of programming, vol. 198. Springer (1981)Google Scholar
  13. 13.
    Winskel, G.: The formal semantics of programming languages: an introduction. MIT press (1993)Google Scholar
  14. 14.
    Fredlund, L.A., Jonsson, B., Parrow, J.: An implementation of a translational semantics for an imperative language. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 246–262. Springer, Heidelberg (1990)Google Scholar
  15. 15.
    Scott, D.S., Strachey, C.: Toward a mathematical semantics for computer languages. Oxford University Computing Laboratory, Programming Research Group (1971)Google Scholar
  16. 16.
    Milner, R.: A calculus of communicating systems. Springer (1982)Google Scholar
  17. 17.
    Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Petri, C.A.: Introduction to general net theory. In: Advanced Course: Net Theory and Applications, pp. 1–19 (1975)Google Scholar
  19. 19.
    Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Applications and Relationships to Other Models of Concurrency. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  20. 20.
    McCarthy, J.: Towards a mathematical science of computation. Information Processing 62, 21–28 (1962)Google Scholar
  21. 21.
    Boulanger, F., Hardebolle, C.: Simulation of Multi-Formalism Models with ModHel’X. In: ICST, pp. 318–327. IEEE (2008)Google Scholar
  22. 22.
    Object Management Group, Inc.: Meta Object Facility (MOF) 2.0 Core (2006)Google Scholar
  23. 23.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley (2008)Google Scholar
  24. 24.
    Muller, P.-A., Fleurey, F., Jézéquel, J.-M.: Weaving Executability into Object-Oriented Meta-Languages. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 264–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Meyer, B.: Eiffel: The language. Prentice-Hall, Inc. (1992)Google Scholar
  26. 26.
    Clifton, C., Leavens, G.T.: Multijava: Modular open classes and symmetric multiple dispatch for java. In: OOPSLA, pp. 130–145 (2000)Google Scholar
  27. 27.
    Mallet, F., DeAntoni, J., André, C., de Simone, R.: The Clock Constraint Specification Language for building timed causality models. Innovations in Systems and Software Engineering 6, 99–106 (2010)CrossRefGoogle Scholar
  28. 28.
    Deantoni, J., Mallet, F.: ECL: The Event Constraint Language, an Extension of OCL with Events. Research report RR-8031, INRIA (July 2012)Google Scholar
  29. 29.
    Object Management Group, Inc.: UML Object Constraint Language (OCL) 2.0 (2003)Google Scholar
  30. 30.
    Jézéquel, J.M., Combemale, B., Barais, O., Monperrus, M., Fouquet, F.: Mashup of metalanguages and its implementation in the kermeta language workbench. In: SoSyM (2013)Google Scholar
  31. 31.
    DeAntoni, J., Mallet, F.: TimeSquare: Treat Your Models with Logical Time. In: Furia, C.A., Nanz, S. (eds.) TOOLS 2012. LNCS, vol. 7304, pp. 34–41. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  32. 32.
    Van Wyk, E., de Moor, O., Backhouse, K., Kwiatkowski, P.: Forwarding in attribute grammars for modular language design. In: Nigel Horspool, R. (ed.) CC 2002. LNCS, vol. 2304, pp. 128–142. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  33. 33.
    Ekman, T., Hedin, G.: The JastAdd system – modular extensible compiler construction. Sci. Comput. Program, 14–26 (2007)Google Scholar
  34. 34.
    Volter, M.: From Programming to Modeling-and Back Again. IEEE Software 28(6) (2011)Google Scholar
  35. 35.
    Borras, P., Clement, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: 3rd ACM Software Engineering Symposium on Practical Software Development Environments, pp. 14–24. ACM (1988)Google Scholar
  36. 36.
    Klint, P.: A meta-environment for generating programming environments. ACM TOSEM 2(2), 176–201 (1993)CrossRefGoogle Scholar
  37. 37.
    Cordy, J.R., Halpern, C.D., Promislow, E.: TXL: a rapid prototyping system for programming language dialects. In: Conf. Int Computer Languages, pp. 280–285 (1988)Google Scholar
  38. 38.
    Sztipanovits, J., Karsai, G.: Model-Integrated Computing. IEEE Computer 30(4) (1997)Google Scholar
  39. 39.
    Tolvanen, J., Rossi, M.: MetaEdit+: defining and using domain-specific modeling languages and code generators. In: Companion of the 18th Annual ACM SIGPLAN Conference OOPSLA, 92–93. ACM (2003)Google Scholar
  40. 40.
    Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development with Visual Studio DSL Tools. Addison-Wesley Professional (2007)Google Scholar
  41. 41.
    Krahn, H., Rumpe, B., Volkel, S.: MontiCore: Modular Development of Textual Domain Specific Languages. In: Paige, R.F., Meyer, B. (eds.) TOOLS EUROPE 2008. LNBIP, vol. 11, pp. 297–315. Springer, Heidelberg (2008)Google Scholar
  42. 42.
    Kats, L.C., Visser, E.: The spoofax language workbench: rules for declarative specification of languages and IDEs. In: OOPSLA, pp. 444–463. ACM (2010)Google Scholar
  43. 43.
    Voelter, M.: Language and IDE Modularization and Composition with MPS. In: Lämmel, R., Saraiva, J., Visser, J. (eds.) GTTSE 2011. LNCS, vol. 7680, pp. 383–430. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  44. 44.
    Hardebolle, C., Boulanger, F.: Multi-Formalism Modelling and Model Execution. International Journal of Computers and their Applications 31(3), 193–203 (2009)Google Scholar
  45. 45.
    Sander, I., Jantsch, A.: System Modeling and Transformational Design Refinement in ForSyDe. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 23(1), 17–32 (2004)CrossRefGoogle Scholar
  46. 46.
    Basu, A., Bozga, M., Sifakis, J.: Modeling heterogeneous real-time systems in BIP. In: 4th IEEE SEFM, pp. 3–12 (September 2006)Google Scholar
  47. 47.
    Boulanger, F., Dogui, A., Hardebolle, C., Jacquet, C., Marcadet, D., Prodan, I.: Semantic Adaptation Using CCSL Clock Constraints. In: Kienzle, J. (ed.) MODELS 2011 Workshops. LNCS, vol. 7167, pp. 104–118. Springer, Heidelberg (2012)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2013

Authors and Affiliations

  • Benoît Combemale
    • 1
  • Julien De Antoni
    • 2
  • Matias Vara Larsen
    • 2
  • Frédéric Mallet
    • 2
  • Olivier Barais
    • 1
  • Benoit Baudry
    • 1
  • Robert B. France
    • 3
  1. 1.IRISA, InriaUniversity of Rennes 1France
  2. 2.CNRS, I3S, InriaUniv. Nice Sophia AntipolisFrance
  3. 3.Colorado State UniversityUSA

Personalised recommendations