The Journal of Supercomputing

, Volume 49, Issue 3, pp 334–353 | Cite as

A new formalism for mathematical description and verification of component-based systems

Article

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.

Keywords

Parallel and distributed systems Formal methods Interface automata Interacting components 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Arnold A (1994) Finite transition systems: semantics of communicating processes. Prentice Hall, New York MATHGoogle Scholar
  2. 2.
    Bernardo M, Ciancarini P, Donatiello L (2002) Families of software systems with process algebras. ACM TOSEM 11(4):386–426 CrossRefGoogle Scholar
  3. 3.
    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 CrossRefGoogle Scholar
  4. 4.
    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 Google Scholar
  5. 5.
    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 CrossRefGoogle Scholar
  6. 6.
    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 MATHCrossRefGoogle Scholar
  7. 7.
    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 CrossRefGoogle Scholar
  8. 8.
    de Alfaro L, Henzinger T (2004) Interface-based design. In: Marktoberdorf summer school, pp 50–65. Kluwer, April 12–15 2004 Google Scholar
  9. 9.
    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 Google Scholar
  10. 10.
    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 Google Scholar
  11. 11.
    Jin Y, Lakos C, Esser R (2004) Modular consistency analysis of component-based designs. J Res Pract Inf Technol 36(3):186–208 Google Scholar
  12. 12.
    Khammaci T, Smeda A, Oussalah M (2006) Mapping Cosa software architecture concepts into uml 2.0. icis-comsar 1:109–114 Google Scholar
  13. 13.
    Leduc RJ (2007) Private communication, 2007. Department of Computing and Software, Faculty of Engineering, McMaster University, Canada Google Scholar
  14. 14.
    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 CrossRefMathSciNetGoogle Scholar
  15. 15.
    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 CrossRefGoogle Scholar
  16. 16.
    Leduc RJ, Lawford M, Wonham W (2005) Hierarchical interface-based supervisory control-part ii: parallel case. IEEE Trans Autom Control 50(9):1336–1348 CrossRefMathSciNetGoogle Scholar
  17. 17.
    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 Google Scholar
  18. 18.
    McMillan K (1992) Symbolic model checking: an approach to the state explosion problem. PhD thesis, Carnegie Mellon University, School of Computer Science Google Scholar
  19. 19.
    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
  20. 20.
    Plasil F, Visnovsky S (2002) Behavior protocols for software components. IEEE Trans Softw Eng 28(11):1056–1076 CrossRefGoogle Scholar
  21. 21.
    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 Google Scholar
  22. 22.
    Schlingloff H (1997) Verification of finite-state systems with temporal logic model checking. South African Comput 19:27–52 Google Scholar
  23. 23.
    Sistla AP (1994) Safety, liveness and fairness in temporal logic. J Formal Aspects Comput 6(5):495–511 MATHCrossRefGoogle Scholar
  24. 24.
    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 Google Scholar
  25. 25.
    Szyperski C (2002) Component software: beyond object-oriented programming, 2nd edn. Addison-Wesley, Reading Google Scholar
  26. 26.
    Xiong Y (2002) An extensible type system for component-based design. PhD thesis, Electronics Research Laboratory, University of California, Berkeley, May 2002 Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Department of Computer ScienceUniversity of TabrizTabrizIran

Personalised recommendations