Modeling and Verification of Components and Connectors

  • Christel Baier
  • Joachim Klein
  • Sascha Klüppelholz

Abstract

Component-based software engineering divides a complex system into smaller logical components with well-defined interfaces. To likewise make the complex interactions between components explicit, exogenous coordination languages like Reo allow the construction of complex coordination glue code in the form of networks of channels and connectors, orchestrating the interactions of the components. In this paper, we present an overview of the modeling concepts for components and connectors using Reo and the underlying constraint automata framework and detail the specification and verification of properties using logics tailored to this framework.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Lamport, L., Wolper, P.: Realizable and unrealizable specifications of reactive systems. In: Ronchi Della Rocca, S., Ausiello, G., Dezani-Ciancaglini, M. (eds.) ICALP 1989. LNCS, vol. 372, pp. 1–17. Springer, Heidelberg (1989)CrossRefGoogle Scholar
  2. 2.
    Arbab, F.: Reo: A Channel-Based Coordination Model for Component Composition. Mathematical Structures in Computer Science 14(3), 329–366 (2004)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Arbab, F., Baier, C., de Boer, F., Rutten, J.: Models and temporal logical specifications for timed component connectors. Software and System Modeling 6(1), 59–82 (2007)CrossRefGoogle Scholar
  4. 4.
    Arbab, F., Baier, C., de Boer, F., Rutten, J., Sirjani, M.: Synthesis of Reo Circuits for Implementation of Component-Connector Automata Specifications. In: Jacquet, J.-M., Picco, G.P. (eds.) COORDINATION 2005. LNCS, vol. 3454, pp. 236–251. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    Asarin, E., Bournez, O., Dang, T., Maler, O., Pnueli, A.: Effective Synthesis of Switching Controllers for Linear Systems. IEEE Special Issue on Hybrid Systems 88, 1011–1025 (2000)Google Scholar
  6. 6.
    Asarin, E., Maler, O., Pnueli, A.: Symbolic Controller Synthesis for Discrete and Timed Systems. In: Antsaklis, P.J., Kohn, W., Nerode, A., Sastry, S.S. (eds.) HS 1994. LNCS, vol. 999, pp. 1–20. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  7. 7.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: A Uniform Framework for Modeling and Verifying Components and Connectors. In: Field, J., Vasconcelos, V.T. (eds.) COORDINATION 2009. LNCS, vol. 5521, pp. 247–267. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  8. 8.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S.: Formal Verification for Components and Connectors. In: de Boer, F.S., Bonsangue, M.M., Madelaine, E. (eds.) FMCO 2008. LNCS, vol. 5751, pp. 82–101. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)MATHGoogle Scholar
  10. 10.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling Component Connectors in Reo by Constraint Automata. Science of Computer Programming 61(2), 75–113 (2006)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Blechmann, T., Baier, C.: Checking equivalence for Reo networks. In: FACS 2007. Electronic Notes in Theoretical Computer Science, vol. 215, pp. 209–226. Elsevier Publishers B.V., Amsterdam (2008)Google Scholar
  12. 12.
    Blechmann, T., Klein, J., Klüppelholz, S.: Vereofy User Manual. Technische Universität Dresden (2008–2011), http://www.vereofy.de/
  13. 13.
    Browne, M., Clarke, E., Grumberg, O.: Characterizing Finite Kripke Structures in Propositional Temporal Logic. Theoretical Computer Science 59(1-2), 115–131 (1988)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Baier, C., Blechmann, T., Klein, J., Klüppelholz, S., Leister, W.: Design and Verification of Systems with Exogenous Coordination Using Vereofy. In: Margaria, T., Steffen, B. (eds.) ISoLA 2010. LNCS, vol. 6416, pp. 97–111. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Clarke, D., Costa, D., Arbab, F.: Modelling Coordination in Biological Systems. In: Margaria, T., Steffen, B. (eds.) ISoLA 2004. LNCS, vol. 4313, pp. 9–25. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Clarke, E., Emerson, E., Sistla, A.: Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications. ACM Transactions on Programming Languages and Systems 8(2), 244–263 (1986)CrossRefMATHGoogle Scholar
  17. 17.
    Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  18. 18.
    Eclipse Coordination Tools, http://reo.project.cwi.nl/
  19. 19.
    Fischer, M., Ladner, R.: Propositional Dynamic Logic of Regular Programs. Journal of Computer and System Science 8, 194–211 (1979)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Francez, N.: Fairness. Texts and Monographs in Computer Science. Springer, Heidelberg (1986)CrossRefMATHGoogle Scholar
  21. 21.
    Giordano, L., Martelli, A.: Tableau-based automata construction for dynamic linear time temporal logic. Annals of Mathematics and Artificial Intelligence 46(3), 289–315 (2006)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Henriksen, J., Thiagarajan, P.: Dynamic Linear Time Temporal Logic. Annals of Pure and Applied Logic 96(1-3), 187–207 (1999)MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Hoare, C.: Communcating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)Google Scholar
  24. 24.
    Holzmann, G.: Design and Validation of Computer Protocols. Prentice-Hall, Englewood Cliffs (1990)Google Scholar
  25. 25.
    Kanellakis, P., Smolka, S.: CCS Expressions, Finite State Processes, and Three Problems of Equivalence. Information and Computation 86(1), 43–68 (1990)MathSciNetCrossRefMATHGoogle Scholar
  26. 26.
    Klüppelholz, S., Baier, C.: Symbolic model checking for channel-based component connectors. Science of Computer Programming 74(9), 688–701 (2009)MathSciNetCrossRefMATHGoogle Scholar
  27. 27.
    Klüppelholz, S., Baier, C.: Alternating-time stream logic for multi-agent systems. Science of Computer Programming 75(6), 398–425 (2010)MathSciNetCrossRefMATHGoogle Scholar
  28. 28.
    Milner, R.: Communication and Concurrency. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  29. 29.
    Pnueli, A.: The Temporal Logic of Programs. In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science, pp. 46–57. IEEE Computer Society Press, Los Alamitos (1977)Google Scholar
  30. 30.
    Pnueli, A., Rosner, R.: On the Synthesis of a Reactive Module. In: Proceedings of the 16th Annual ACM Symposium on Principles of Programming Languages, pp. 179–190. ACM Press, New York (1989)Google Scholar
  31. 31.
    Vardi, M.: An Automata-Theoretic Approach to Linear Temporal Logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  32. 32.
    Vardi, M.Y., Wolper, P.: An Automata-Theoretic Approach to Automatic Program Verification. In: Proceedings of the 1st Annual Symposium on Logic in Computer Science, pp. 332–345. IEEE Computer Society Press, Los Alamitos (1986)Google Scholar
  33. 33.
    Wonham, W.: On the control of discrete-event systems. In: Three Decades of Mathematical System Theory. Lecture Notes in Control and Information Sciences, vol. 135, pp. 542–562. Springer, Heidelberg (1989)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Christel Baier
    • 1
  • Joachim Klein
    • 1
  • Sascha Klüppelholz
    • 1
  1. 1.Faculty of Computer ScienceTechnische Universität DresdenGermany

Personalised recommendations