A common framework for synchronization in requirements modelling languages

The ability to describe synchronization between the components of a model is a fundamental primitive in modelling languages. After studying existing modelling languages, we discovered that many synchronization mechanisms can be organized into a common abstract framework. Our framework is based on a notion of synchronization between transitions of complementary roles. It is parameterized by the number of interactions a transition can take part in, i.e., one vs. many, and the arity of the interaction mechanisms, i.e., exclusive vs. shared, which are considered for the complementary roles to result in 16 synchronization types. We describe how many modelling constructs, such as multi-source, multidestination transitions, many composition operators, and many workflow patterns are forms of synchronization. By generalizing and classifying synchronization types independently of a particular language, our goal is to enable language designers to adopt an appropriate synchronization type for a domain effiectively.

[1]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[2]  Joost-Pieter Katoen,et al.  A probabilistic extension of UML statecharts: Specification and Verification. , 2002 .

[3]  Yun Lu,et al.  Mapping template semantics to SMV , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[4]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[5]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[6]  Benjamin C. Pierce,et al.  Theoretical Aspects of Computer Software , 2001, Lecture Notes in Computer Science.

[7]  Nancy A. Day,et al.  Semantically Configurable Code Generation , 2008, MoDELS.

[8]  Florence Maraninchi,et al.  Argos: an automaton-based synchronous language , 2001, Comput. Lang..

[9]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[10]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[11]  Amir Pnueli,et al.  What is in a Step: On the Semantics of Statecharts , 1991, TACS.

[12]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[13]  Donald Sanella What Does the Future Hold for Theoretical Computer Science , 1997 .

[14]  Nancy A. Day,et al.  Deconstructing the semantics of big-step modelling languages , 2010, Requirements Engineering.

[15]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[16]  Nancy A. Day,et al.  Semantic Criteria for Choosing a Language for Big-Step Models , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[17]  Nancy A. Day,et al.  Template Semantics for Model-Based Notations , 2003, IEEE Trans. Software Eng..

[18]  Nancy A. Day,et al.  Prescriptive Semantics for Big-Step Modelling Languages , 2010, FASE.

[19]  Peter Scholz,et al.  Compositional Specification of Embedded Systems with Statecharts , 1997, TAPSOFT.

[20]  Qing Li,et al.  Unified Modeling Language , 2009 .

[21]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[22]  Yuh-Jzer Joung,et al.  A comprehensive study of the complexity of multiparty interaction , 1992, POPL '92.

[23]  Olivier Tardieu,et al.  A deterministic logical semantics for pure Esterel , 2007, TOPL.

[24]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.