PUTRACOM: A Formalism of a Novel Component Model

Faranak Nejati, Ng Keng Yap, Abdul Azim Abd Ghani, Azmi Jaffar


The composition mechanisms and interactions of current component models are mostly base on port or function calls from other components. However, in both styles, the number of interactions that depend on the number of ports and method calls may increase dramatically. Hence, to avoid such complexity of composing components and coordination of the interaction among them, a component model and policy to provide a separation between the components and coordinating is needed. This study presents a formal specification of a novel component model for discrete-event and non-blocking component-based systems called PUTRACOM. A new component model, named PUTRACOM is presented in this paper. PUTRACOM supports to develop concurrent software systems with discrete-event. PUTRACOM defines components by two essential features; they are the Observer/Observable unit and a computation unit. These two features allow a component to have fixed behavior without any dependency on other components. The components can be composed using a well-defined set of connectors. PUTRACOM has been formally defined based on the well-defined and sound methods like CSP and RTSs. PUTRACOM provides a way to construct components and coordinate them with a well-founded mechanism. The model defines a set of exogenous connectors and an observer/observable unit to encapsulate components and coordination. In order to illustrate the way of component composition in the proposed model, an example of the control system of a refrigerator is used. Moreover, to evaluate its applicability, the example has been implemented in Colored Petri Net (CPN) tools.


component-based software development; component model; encapsulation; computation; exogenous connectors.

Full Text:



Y. Jin, “Compositional verification of component-based heterogeneous systems,” University of Adelaide, 2004.

A. W. Roscoe, S. D. Hoare, and C. A. R. Hoare, A theory of communicating sequential processes. Oxford University Computing Laboratory, Programming Research Group, 1981.

K. K. Lau, K. Ng, T. Rana, and C. M. Tran, “Incremental construction of component-based systems,” in Proceedings of the 15th ACM SIGSOFT symposium on Component Based Software Engineering, 2012.

K. Lau, A. Nordin and K. Ng, “Extracting elements of component-based systems from natural language requirements,” in 37th EUROMICRO Conference on Software Engineering and Advanced Applications, 2011.

F. Nejati, A. A. A. Ghani, N. K. Yap, and A. Jafaar, “PUTRACOM: A Concurrent Component Model With Exogenous Connectors,” IEEE Access, vol. 6, pp. 15446–15456, 2018.

F. Nejati, A. A. A. Ghani, N. K. Yap, and A. Jaafar, “Handling state space explosion in verification of component-based systems: A review,” arXiv Prepr. arXiv1709.10379, Jul. 2017.

K. Lau, C. M. T. X-MAN tool set, 2016.

Alliance, Open Services Gateway Initiative (OSGi), 2018.

G. Liu and C. Jiang, Petri net based model checking for the collaborativeness of multiple processes systems. In Networking, Sensing, and Control (ICNSC), IEEE 13th International Conference, 1-6. IEEE, 2016.

K. Lau. An Introduction to Component-based Software Development. Vol. 3., 2017.

J. El Hachem, et al. "Model driven software security architecture of systems-of-systems." 2016 23rd Asia-Pacific Software Engineering Conference (APSEC). IEEE, 2016.

F. Oquendo, J. Leite and T. Batista, "Specifying architecture behavior with SysADL." 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA). IEEE, 2016.

A. Butting, et al. "Systematic language extension mechanisms for the MontiArc architecture description language." European Conference on Modelling Foundations and Applications. Springer, Cham, 2017.

M. D. Sanctis, et al. "A model-driven approach to catch performance antipatterns in ADL specifications." Information and Software Technology 83 (2017).

T. Vale, et al. "Twenty-eight years of component-based software engineering," Journal of Systems and Software 111 (2016).

X. Jiang, et al. "ProCom: designing a mobile and wearable system to support proximity awareness for people with autism," Proceedings of the 2016 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct. ACM, 2016.

S. D. Cola, et al. "A component model for defining software product families with explicit variation points," 2016 19th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE). IEEE, 2016.

B. Igried and A. Setzer, "Programming with monadic CSP-style processes in dependent type theory," Proceedings of the 1st International Workshop on Type-Driven Development. ACM, 2016.

B. Igried and A. Setzer, "Programming with monadic CSP-style processes in dependent type theory," Proceedings of the 1st International Workshop on Type-Driven Development. ACM, 2016.

K. Jensen, Coloured Petri nets: basic concepts, analysis methods and practical use, Vol. 1. Springer Science & Business Media, 2013.

DOI: http://dx.doi.org/10.18517/ijaseit.10.4.10179


  • There are currently no refbacks.

Published by INSIGHT - Indonesian Society for Knowledge and Human Development