skip to main content
10.1145/2814251.2814261acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Weaving concurrency in executable domain-specific modeling languages

Published:26 October 2015Publication History

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.

References

  1. G. A. Agha. Actors: A model of concurrent computation in distributed systems. Technical report, DTIC Document, 1985.Google ScholarGoogle Scholar
  2. A. W. Appel. Compiling with continuations. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent programming in ERLANG. Citeseer, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Bettini. Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Butcher. Seven Concurrency Models in Seven Weeks: When Threads Unravel. 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle Scholar
  9. S. Cook, G. Jones, S. Kent, and A. C. Wills. Domain-specific development with visual studio dsl tools. Pearson Education, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. J. De Antoni and F. Mallet. ECL: the event constraint language, an extension of OCL with events. Technical report, Inria, 2012.Google ScholarGoogle Scholar
  12. J. De Antoni and F. Mallet. Timesquare: Treat your models with logical time. In Objects, Models, Components, Patterns, pages 34–41. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. DIVERSE-team. Github for k3al, 2015.Google ScholarGoogle Scholar
  14. Eclipse Foundation. EMF homepage, 2015.Google ScholarGoogle Scholar
  15. M. Fowler. Language workbenches: The killer-app for domain specific languages, 2005.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. Google. Golang, 2015.Google ScholarGoogle Scholar
  18. M. Gupta. Akka essentials. Packt Publishing Ltd, 2012.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Harel and B. Rumpe. Meaningful modeling: what’s the semantics of "semantics"? Computer, Oct 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. A. R. Hoare et al. Communicating sequential processes, volume 178. Prentice-hall Englewood Cliffs, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. G. Jones. Programming in OCCAM. 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Kelly, K. Lyytinen, M. Rossi, and J. P. Tolvanen. MetaEdit+ at the age of 20. In CAiSE. Springer, 2013.Google ScholarGoogle ScholarCross RefCross Ref
  25. E. A. Lee and A. Sangiovanni-Vincentelli. Comparing models of computation. In ICCAD. IEEE, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Luoma, S. Kelly, and J.-P. Tolvanen. Defining domainspecific modeling languages: Collected experiences. In 4th Workshop on Domain-Specific Modeling, 2004.Google ScholarGoogle Scholar
  27. F. Mallet. Clock constraint specification language: specifying clock constraints with UML/MARTE. Innovations in Systems and Software Engineering, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  28. MathWorks. Simulink, 2015.Google ScholarGoogle Scholar
  29. T. Mayerhofer, P. Langer, M. Wimmer, and G. Kappel. xMOF: Executable DSMLs based on fUML. In SLE. 2013.Google ScholarGoogle Scholar
  30. R. Milner. A calculus of communicating systems. springer-Verlag Berlin, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Milner. Communicating and mobile systems: the pi calculus. Cambridge university press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. P. D. Mosses. Foundations of modular SOS. Springer, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  33. T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4):541–580, 1989.Google ScholarGoogle ScholarCross RefCross Ref
  34. OMG. UML superstructure specification v2.4.1, 2011.Google ScholarGoogle Scholar
  35. OMG. fUML specification v1.1, 2013.Google ScholarGoogle Scholar
  36. OMG. OCL specification v2.4, 2014.Google ScholarGoogle Scholar
  37. OMG. MOF specification v2.5, 2015.Google ScholarGoogle Scholar
  38. G. D. Plotkin. The origins of Structural Operational Semantics. The Journal of Logic and Algebraic Programming, 2004.Google ScholarGoogle Scholar
  39. C. Ptolemaeus. System Design, Modeling, and Simulation: Using Ptolemy II. Ptolemy. org Berkeley, CA, USA, 2014.Google ScholarGoogle Scholar
  40. G. Rosu and T. F. Serbanuta. K overview and simple case study. In Proceedings of International K Workshop (K’11), 2014.Google ScholarGoogle Scholar
  41. N. Russell, A. H. Ter Hofstede, and N. Mulyar. Workflow control-flow patterns: A revised view. 2006.Google ScholarGoogle Scholar
  42. D. S. Scott and C. Strachey. Toward a mathematical semantics for computer languages. 1971.Google ScholarGoogle Scholar
  43. T. Van Der Storm. The Rascal Language Workbench, 2011.Google ScholarGoogle Scholar
  44. M. Voelter and V. Pech. Language modularity with the MPS language workbench. In ICSE. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. G. Winskel. Event structures. Springer, 1987.Google ScholarGoogle ScholarCross RefCross Ref
  46. G. Winskel. The formal semantics of programming languages: an introduction. MIT press, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Weaving concurrency in executable domain-specific modeling languages

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader