ABSTRACT
The emergence of modern concurrent systems (e.g., Cyber- Physical Systems or the Internet of Things) and highly- parallel platforms (e.g., many-core, GPGPU pipelines, and distributed platforms) calls for Domain-Specific Modeling Languages (DSMLs) where concurrency is of paramount im- portance. Such DSMLs are intended to propose constructs with rich concurrency semantics, which allow system design- ers to precisely define and analyze system behaviors. How- ever, specifying and implementing the execution semantics of such DSMLs can be a difficult, costly and error-prone task. Most of the time the concurrency model remains implicit and ad-hoc, embedded in the underlying execution environ- ment. The lack of an explicit concurrency model prevents: the precise definition, the variation and the complete under- standing of the semantics of the DSML, the effective usage of concurrency-aware analysis techniques, and the exploitation of the concurrency model during the system refinement (e.g., during its allocation on a specific platform). In this paper, we introduce a concurrent executable metamodeling approach, which supports a modular definition of the execution seman- tics, including the concurrency model, the semantic rules, and a well-defined and expressive communication protocol between them. Our approach comes with a dedicated meta- language to specify the communication protocol, and with an execution environment to simulate executable models. We illustrate and validate our approach with an implementation of fUML, and discuss the modularity and applicability of our approach.
- G. A. Agha. Actors: A model of concurrent computation in distributed systems. Technical report, DTIC Document, 1985.Google Scholar
- A. W. Appel. Compiling with continuations. 2007. Google ScholarDigital Library
- J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent programming in ERLANG. Citeseer, 1993. Google ScholarDigital Library
- L. Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013. Google ScholarDigital Library
- P. Butcher. Seven Concurrency Models in Seven Weeks: When Threads Unravel. 2014. Google ScholarDigital Library
- B. Combemale, X. Crégut, and M. Pantel. A Design Pattern to Build Executable DSMLs and associated V&V tools. In APSEC. IEEE, Dec. 2012. Google ScholarDigital Library
- B. Combemale, J. De Antoni, M. Vara Larsen, F., O. Barais, B. Baudry, and R. France. Reifying Concurrency for Executable Metamodeling. In SLE, 2013.Google ScholarCross Ref
- B. Combemale, C. Hardebolle, C. Jacquet, F. Boulanger, and B. Baudry. Bridging the Chasm between Executable Metamodeling and Models of Computation. In SLE, 2012.Google Scholar
- S. Cook, G. Jones, S. Kent, and A. C. Wills. Domain-specific development with visual studio dsl tools. Pearson Education, 2007. Google ScholarDigital Library
- J. De Antoni, P. Issa Diallo, C. Teodorov, J. Champeau, and B. Combemale. Towards a Meta-Language for the Concurrency Concern in DSLs. In DATE’15, Mar. 2015.Google Scholar
- J. De Antoni and F. Mallet. ECL: the event constraint language, an extension of OCL with events. Technical report, Inria, 2012.Google Scholar
- J. De Antoni and F. Mallet. Timesquare: Treat your models with logical time. In Objects, Models, Components, Patterns, pages 34–41. Springer, 2012. Google ScholarDigital Library
- DIVERSE-team. Github for k3al, 2015.Google Scholar
- Eclipse Foundation. EMF homepage, 2015.Google Scholar
- M. Fowler. Language workbenches: The killer-app for domain specific languages, 2005.Google Scholar
- L.-a. Fredlund, B. Jonsson, and J. Parrow. An implementation of a translational semantics for an imperative language. In CONCUR, LNCS, pages 246–262. Springer, 1990. Google ScholarDigital Library
- Google. Golang, 2015.Google Scholar
- M. Gupta. Akka essentials. Packt Publishing Ltd, 2012.Google Scholar
- C. Hardebolle and F. Boulanger. ModHel’X: A componentoriented approach to multi-formalism modeling. In Models in Software Engineering, pages 247–258. Springer, 2008. Google ScholarDigital Library
- D. Harel and B. Rumpe. Meaningful modeling: what’s the semantics of "semantics"? Computer, Oct 2004. Google ScholarDigital Library
- C. A. R. Hoare et al. Communicating sequential processes, volume 178. Prentice-hall Englewood Cliffs, 1985. Google ScholarDigital Library
- G. Jones. Programming in OCCAM. 1986. Google ScholarDigital Library
- L. C. Kats and E. Visser. The spoofax language workbench: rules for declarative specification of languages and ides. In ACM Sigplan Notices. ACM, 2010. Google ScholarDigital Library
- S. Kelly, K. Lyytinen, M. Rossi, and J. P. Tolvanen. MetaEdit+ at the age of 20. In CAiSE. Springer, 2013.Google ScholarCross Ref
- E. A. Lee and A. Sangiovanni-Vincentelli. Comparing models of computation. In ICCAD. IEEE, 1997. Google ScholarDigital Library
- J. Luoma, S. Kelly, and J.-P. Tolvanen. Defining domainspecific modeling languages: Collected experiences. In 4th Workshop on Domain-Specific Modeling, 2004.Google Scholar
- F. Mallet. Clock constraint specification language: specifying clock constraints with UML/MARTE. Innovations in Systems and Software Engineering, 2008.Google ScholarCross Ref
- MathWorks. Simulink, 2015.Google Scholar
- T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs based on fUML. In SLE. 2013.Google Scholar
- R. Milner. A calculus of communicating systems. springer-Verlag Berlin, 1980. Google ScholarDigital Library
- R. Milner. Communicating and mobile systems: the pi calculus. Cambridge university press, 1999. Google ScholarDigital Library
- P. D. Mosses. Foundations of modular SOS. Springer, 1999.Google ScholarCross Ref
- T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4):541–580, 1989.Google ScholarCross Ref
- OMG. UML superstructure specification v2.4.1, 2011.Google Scholar
- OMG. fUML specification v1.1, 2013.Google Scholar
- OMG. OCL specification v2.4, 2014.Google Scholar
- OMG. MOF specification v2.5, 2015.Google Scholar
- G. D. Plotkin. The origins of Structural Operational Semantics. The Journal of Logic and Algebraic Programming, 2004.Google Scholar
- C. Ptolemaeus. System Design, Modeling, and Simulation: Using Ptolemy II. Ptolemy. org Berkeley, CA, USA, 2014.Google Scholar
- G. Rosu and T. F. Serbanuta. K overview and simple case study. In Proceedings of International K Workshop (K’11), 2014.Google Scholar
- N. Russell, A. H. Ter Hofstede, and N. Mulyar. Workflow control-flow patterns: A revised view. 2006.Google Scholar
- D. S. Scott and C. Strachey. Toward a mathematical semantics for computer languages. 1971.Google Scholar
- T. Van Der Storm. The Rascal Language Workbench, 2011.Google Scholar
- M. Voelter and V. Pech. Language modularity with the MPS language workbench. In ICSE. IEEE, 2012. Google ScholarDigital Library
- G. Winskel. Event structures. Springer, 1987.Google ScholarCross Ref
- G. Winskel. The formal semantics of programming languages: an introduction. MIT press, 1993. Google ScholarDigital Library
Index Terms
- Weaving concurrency in executable domain-specific modeling languages
Recommendations
Model-driven engineering with domain-specific meta-modelling languages
Domain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many model-driven engineering (MDE) projects, several researchers have identified the need for domain-...
Towards a formal foundation for domain specific modeling languages
EMSOFT '06: Proceedings of the 6th ACM & IEEE International conference on Embedded softwareEmbedded system design is inherently domain specific and typically model driven.As a result, design methodologies like OMG's model driven architecture (MDA)and model integrated computing (MIC)evolved to support domain specific modeling language(DSMLs). ...
Domain-specific textual meta-modelling languages for model driven engineering
ECMFA'12: Proceedings of the 8th European conference on Modelling Foundations and ApplicationsDomain-specific modelling languages are normally defined through general-purpose meta-modelling languages like the MOF. While this is satisfactory for many Model-Driven Engineering (MDE) projects, several researchers have identified the need for domain-...
Comments