Abstract
In this paper, we introduce a formal approach for composing software components into a distributed system. We describe the system as a hierarchical composition of some components, which can be distributed on a wide variety of hardware platforms and executed in parallel. We represent each component by a mathematical model and specify the abstract communication protocols of the components using Interface Automata (IAs). To model hierarchical systems, besides the basic components’ model, we will present other components, called nodes. A node consists of a set of subnodes interacting under the supervision of a controller. Each subnode, in turn, is a node or discrete event component. By considering a subnode as a node we can make hierarchical nodes/components. The entire system, therefore, forms the root of the hierarchy. A controller, in turn, is a set of subcontrollers/interface automata that specifies interaction protocol of the components inside a node. We have also presented an example demonstrating the model by illustrating nodes, subnodes, controllers, and subcontrollers. To address the state space explosion problem in system verification, we utilize the controller as a contract for independent analysis of the components and their interactions. Therefore, a node will not be analyzed directly; instead, we will analyze the controller.
Similar content being viewed by others
References
Arnold A (1994) Finite transition systems: semantics of communicating processes. Prentice Hall, New York
Bernardo M, Ciancarini P, Donatiello L (2002) Families of software systems with process algebras. ACM TOSEM 11(4):386–426
Brim L, Cerna I, Varekova P, Zimmerova B (2006) Interaction automata as a verification-oriented component-based system specification. ACM SIGSOFT Softw Eng Notes 31(2):1–8
Bures T, Hnetynka P, Plasil F (2006) Balancing advanced features in a hierarchical component model. In: Proceedings of SERA, pp 40–48, Seattle, USA, IEEE CS, Aug 2006
Cheung SC, Giannakopoulou D, Kramer J (1997) Verification of liveness properties using compositional reachability analysis. ACM SIGSOFT Softw Eng Notes Arch 22(6):227–243
Clarke EM, Emerson EA, Sistla AP (1986) Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Trans Program Lang Syst 8(2):244–263
de Alfaro L, Henzinger T (2001) Interface automata. In: Proceedings of the joint 8th European software engineering conference and 9th ACM SIGSOFT symposium on the foundation of software engineering (ESEC/FSE-01), September 10–14 2001. 5 of software engineering notes, vol 26. ACM Press, New York, pp 109–120
de Alfaro L, Henzinger T (2004) Interface-based design. In: Marktoberdorf summer school, pp 50–65. Kluwer, April 12–15 2004
DePrince W, Hofmeister C (2003) Enforcing a lips usage policy for Corba components. In: EUROMICRO conf, new waves in system architecture, 2003, pp 53–60
Jin Y, Lakos C, Esser R (2003) Component-based design and analysis: a case study. In: Software engineering and formal methods (SEFM). IEEE Computer Society Press, Los Alamitos, pp 126–135
Jin Y, Lakos C, Esser R (2004) Modular consistency analysis of component-based designs. J Res Pract Inf Technol 36(3):186–208
Khammaci T, Smeda A, Oussalah M (2006) Mapping Cosa software architecture concepts into uml 2.0. icis-comsar 1:109–114
Leduc RJ (2007) Private communication, 2007. Department of Computing and Software, Faculty of Engineering, McMaster University, Canada
Leduc RJ, Brandin BA, Lawford M, Wonham W (2005) Hierarchical interface-based supervisory control-part i: serial case. IEEE Trans Autom Control 50(9):1322–1335
Leduc RJ, Lawford M, Dai P (2006) Hierarchical interface-based supervisory control of flexible manufacturing system. IEEE Trans Control Syst Technol 14(4):654–668
Leduc RJ, Lawford M, Wonham W (2005) Hierarchical interface-based supervisory control-part ii: parallel case. IEEE Trans Autom Control 50(9):1336–1348
Magee J, Dulay N, Kramer J (1994) A constructive development environment for parallel and distributed programs. In: Proceedings of the international workshop on configurable distributed systems, Pittsburgh, March 1994, pp 4–14
McMillan K (1992) Symbolic model checking: an approach to the state explosion problem. PhD thesis, Carnegie Mellon University, School of Computer Science
Parnas DL (2000) Requirements documentation: why a formal basis is essential. In: Fourth IEEE international conference on requirements engineering (ICRE2000). Available online at: http://web.cps.msu.edu/sens/temp/ICRE2000/parnas.pdf
Plasil F, Visnovsky S (2002) Behavior protocols for software components. IEEE Trans Softw Eng 28(11):1056–1076
Pnueli A (1977) The temporal logic of programs. In: Proceedings of the 18th IEEE symposium foundations of computer science (FOCS 1977), Providence, 1977, pp 46–57
Schlingloff H (1997) Verification of finite-state systems with temporal logic model checking. South African Comput 19:27–52
Sistla AP (1994) Safety, liveness and fairness in temporal logic. J Formal Aspects Comput 6(5):495–511
Smeda A, Khammaci T, Oussalah M (2004) Operational mechanisms for component-object based software architecture. In: Proceeding of information and communication technologies: from theory to applications, 19–23, April 2004, pp 591–592
Szyperski C (2002) Component software: beyond object-oriented programming, 2nd edn. Addison-Wesley, Reading
Xiong Y (2002) An extensible type system for component-based design. PhD thesis, Electronics Research Laboratory, University of California, Berkeley, May 2002
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Isazadeh, A., Karimpour, J. A new formalism for mathematical description and verification of component-based systems. J Supercomput 49, 334–353 (2009). https://doi.org/10.1007/s11227-008-0240-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-008-0240-y