«

»

Reifying Concurrency for Executable Metamodeling

by Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Fr’ed’eric Mallet, Olivier Barais, Benoit Baudry, Robert France
Abstract:
Current metamodeling techniques can be used to specify the syntax and semantics of domain specific modeling languages (DSMLs). However, there is currently very little support for explicitly specifying concurrency semantics using metamodels. Often, such semantics are provided through implicit concurrency models embedded in the underlying execution environment supported by the language workbench used to implement the DSMLs. The lack of an explicit concurrency model has several drawbacks: it not only prevents from developing a complete understanding of the behavioral semantics, it also prevents development of effective concurrency-aware analysis techniques, and effective techniques for producing semantic variants in the cases where the semantic base has variation points. 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 proposed language workbench for binding domain-specific concepts and models of computation through an explicit event structure at the metamodel level. We illustrate these novel metamodeling facilities for designing two variants of a concurrent and timed final state machine, and provide other experiments to validate the scope of our approach.
Reference:
Reifying Concurrency for Executable Metamodeling (Benoit Combemale, Julien Deantoni, Matias Vara Larsen, Fr’ed’eric Mallet, Olivier Barais, Benoit Baudry, Robert France), In 6th International Conference on Software Language Engineering (SLE 2013) (Richard F. Paige Martin Erwig, Eric van Wyk, eds.), Springer-Verlag, 2013.
Bibtex Entry:
@inproceedings{sle13-combemale,
	Abstract = {{Current metamodeling techniques can be used to specify the syntax and semantics of domain specific modeling languages (DSMLs). However, there is currently very little support for explicitly specifying concurrency semantics using metamodels. Often, such semantics are provided through implicit concurrency models embedded in the underlying execution environment supported by the language workbench used to implement the DSMLs. The lack of an explicit concurrency model has several drawbacks: it not only prevents from developing a complete understanding of the behavioral semantics, it also prevents development of effective concurrency-aware analysis techniques, and effective techniques for producing semantic variants in the cases where the semantic base has variation points. 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 proposed language workbench for binding domain-specific concepts and models of computation through an explicit event structure at the metamodel level. We illustrate these novel metamodeling facilities for designing two variants of a concurrent and timed final state machine, and provide other experiments to validate the scope of our approach.}},
	Address = {Indianapolis, {'E}tats-Unis},
	Author = {Combemale, Benoit and Deantoni, Julien and Vara Larsen, Matias and Mallet, Fr{'e}d{'e}ric and Barais, Olivier and Baudry, Benoit and France, Robert},
	Booktitle = {{6th International Conference on Software Language Engineering (SLE 2013)}},
	Editor = {Martin Erwig, Richard F. Paige and Eric van Wyk},
	Publisher = {Springer-Verlag},
	Series = {Lecture Notes in Computer Science},
	Title = {{Reifying Concurrency for Executable Metamodeling}},
	Url = {http://hal.inria.fr/hal-00850770},
	Year = {2013},
	Bdsk-Url-1 = {http://hal.inria.fr/hal-00850770}}