PUTRACOM: A Concurrent Component Model With Exogenous Connectors

In component-based development, composing components and controlling the interactions among them is not a trivial task. Mostly, the composition and interaction styles in the current state-of-the-art component-based models are port-to-port connection or method-call based. However, both styles confer complex patterns, since the number of interactions may increase dramatically due to the number of method calls, ports, and connectors. To avoid such complexity, a simple and coherent component model with adequate policies for control is required. In this paper, we provide a formal specification for components, composition, and interactions issuing in discrete-events and non-blocking component-based systems. Our concurrent component model called PUTRACOM is equipped with exogenous connectors as third-party objects for coordination and observable/observable unit as a part of components for invocation. These are used to achieve a truly separation between computation and control in order to reduce the complexity that arises in the port-to-port connection and method-call-based interaction styles. To formally specify our model, we have adopted communication sequential processes and reactive transition systems. The applicability of our model is evaluated using CoCoME case study. We demonstrate how PUTRACOM provides a mechanism to construct independent components and control the interactions between them by well-founded connectors.

[1]  Kung-Kiu Lau,et al.  A Taxonomy of Software Composition Mechanisms , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[2]  Wang Qiang RiSD Compositional Verification of Component-based System , 2014 .

[3]  Kung-Kiu Lau,et al.  X-MAN: An MDE Tool for Component-Based System Development , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[4]  Séverine Sentilles,et al.  A Classification Framework for Software Component Models , 2011, IEEE Transactions on Software Engineering.

[5]  Mark B. Josephs,et al.  Receptive process theory , 1992, Acta Informatica.

[6]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

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

[8]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

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

[10]  Petr Hnetynka,et al.  SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model , 2006, Fourth International Conference on Software Engineering Research, Management and Applications (SERA'06).

[11]  Petr Hnetynka,et al.  SOFA 2 Component Framework and Its Ecosystem , 2013, Electron. Notes Theor. Comput. Sci..

[12]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[13]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[14]  Gruia-Catalin Roman,et al.  Coordination Models and Languages - 13th International Conference, COORDINATION 2011, Reykjavik, Iceland, June 6-9, 2011. Proceedings , 2011, COORDINATION.

[15]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[16]  Azlin Nordin,et al.  Constructing Component-Based Systems Directly from Requirements Using Incremental Composition , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[17]  André Arnold,et al.  Finite transition systems - semantics of communicating systems , 1994, Prentice Hall international series in computer science.