Advertisement

Behavioral Compatibility Without State Explosion: Design and Verification of a Component-Based Elevator Control System

  • Paul C. Attie
  • David H. Lorenz
  • Aleksandra Portnova
  • Hana Chockler
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)

Abstract

Most methods for designing component-based systems and verifying their compatibility address only the syntactic compatibility of components; no analysis of run-time behavior is made. Those methods that do address run-time behavior suffer from state-explosion: the exponential increase of the number of global states, and hence the complexity of the analysis, with the number of components. We present a method for designing component-based systems and verifying their behavioral compatibility and temporal behavior that is not susceptible to state explosion. Our method is mostly automatic, with little manual deduction required, and does not analyze a large system of connected components at once, but instead analyzes components two-at-a-time. This pair-wise approach enables the automatic verification of temporal behavior, using model-checking, in time polynomial in the number and size of all components. Our method checks that behavior of a pair of interacting components conforms to given properties, specified in temporal logic. Interaction of the components is captured in a product of their behavioral automata, which are provided as a part of each component’s interface. We demonstrate the effectiveness of our method by applying it to the design and verification of a component-based elevator control algorithm.

Keywords

Temporal Logic Atomic Proposition Liveness Property Controller Component State Explosion 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Lamport, L.: Composing specifications. ACM Transactions on Programming Languages and Systems 15(1), 73–132 (1993)CrossRefGoogle Scholar
  2. 2.
    de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the 9th Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)Google Scholar
  3. 3.
    Attie, P.C., Chockler, H.: Automatic verification of fault-tolerant register emulations. In: Proceedings of the Infinity 2005 workshop (2005)Google Scholar
  4. 4.
    Attie, P.C., Emerson, E.A.: Synthesis of concurrent systems with many similar processes. ACM Transactions on Programming Languages and Systems 20(1), 51–115 (1998)CrossRefGoogle Scholar
  5. 5.
    Attie, P.C.: Synthesis of large concurrent programs via pairwise composition. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Attie, P.C.: Synthesis of large dynamic concurrent programs from dynamic specifications. Technical report, American University of Beirut (2005), available at: http://www.cs.aub.edu.lb/pa07/files/pubs.html
  7. 7.
    Attie, P.C., Lorenz, D.H.: Correctness of model-based component composition without state explosion. In: ECOOP 2003 Workshop on Correctness of Model-based Software Composition (2003)Google Scholar
  8. 8.
    Cheung, S., Giannakopoulou, D., Kramer, J.: Verification of liveness properties in compositional reachability analysis. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301. Springer, Heidelberg (1997)Google Scholar
  9. 9.
    Cheung, S., Kramer, J.: Checking subsystem safety properties in compositional reachability analysis. In: Proceedings of the 18th International Conference on Software Engineering, ICSE 1996, Berlin, Germany. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  10. 10.
    Clarke, E., Enders, R., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. Formal Methods in System Design 9(2) (1996)Google Scholar
  11. 11.
    Clarke, E.M., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 450–462. Springer, Heidelberg (1993)Google Scholar
  12. 12.
    Clarke, E., Grumberg, O., Long, D.: Model checking and abstraction. ACM Transactions on Programming Languages and Systems 16(5), 1512–1542 (1994)CrossRefGoogle Scholar
  13. 13.
    Clarke, E.M., Long, D., McMillan, K.L.: Compositional model checking. In: Proceedings of the 4th IEEE Symposium on Logic in Computer Science. IEEE, New York (1989)Google Scholar
  14. 14.
    Crnkovic, I., Schmidt, H., Stafford, J., Wallnau, K. (eds.): Proceedings of the 4th ICSE Workshop on Component-Based Software Engineering: Component Certification and System Prediction, Toronto, Canada. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  15. 15.
    Emerson, E.A., Sistla, A.P.: Symmetry and model checking. In: Courcoubetis, C. (ed.) CAV 1993. LNCS, vol. 697, pp. 463–477. Springer, Heidelberg (1993)Google Scholar
  16. 16.
    Emerson, E.A., Sistla, A.P.: Symmetry and model checking. Formal Methods in System Design: An International Journal 9(1/2), 105–131 (1996)CrossRefGoogle Scholar
  17. 17.
    Emerson, E.A.: Temporal and modal logic. In: Leeuwen, J.V. (ed.) Handbook of Theoretical Computer Science. Formal Models and Semantics, vol. B. MIT Press/Elsevier, Cambridge (1990)Google Scholar
  18. 18.
    Grumberg, O., Long, D.: Model checking and modular verification. ACM Transactions on Programming Languages and Systems 16(3), 843–871 (1994)CrossRefGoogle Scholar
  19. 19.
    Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)Google Scholar
  20. 20.
    Henzinger, T.A., Qadeer, S., Rajamani, S.K.: You assume, we guarantee: Methodology and case studies. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)Google Scholar
  21. 21.
    Holzmann, G.J.: The SPIN Model Checker. Addison-Wesley, San Francisco (2003)Google Scholar
  22. 22.
    Proceedings of the 23rd International Conference on Software Engineering, ICSE 2001, Toronto, Canada. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  23. 23.
    Kesten, Y., Pnueli, A.: Verification by augmented finitary abstraction. Information and Computation 163(1), 203–243 (2000)MATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Kesten, Y., Pnueli, A., Vardi, M.Y.: Verification by augmented abstraction: The automata-theoretic view. Journal of Computer and System Sciences 62(4), 668–690 (2001)MATHCrossRefMathSciNetGoogle Scholar
  25. 25.
    Lamport, L.: Composition: A way to make proofs harder. In: de Roever, W.P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 402–423. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  26. 26.
    Lorenz, D.H., Petkovic, P.: ContextBox: A visual builder for context beans (extended abstract). In: Proceedings of the 15th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA 2000, pp. 75–76. ACM SIGPLAN, Minnesota (2000)CrossRefGoogle Scholar
  27. 27.
    Lorenz, D.H., Petkovic, P.: Design-time assembly of runtime containment components. In: Li, Q., Firesmith, D., Riehle, R., Pour, G., Meyer, B. (eds.) Proceedings of the 34th International Conference on Technology of Object-Oriented Languages and Systems, Santa Barbara, CA, pp. 195–204. IEEE Computer Society, Los Alamitos (2000)CrossRefGoogle Scholar
  28. 28.
    Lorenz, D.H., Vlissides, J.: Designing components versus objects: A transformational approach. In: [22], pp. 253–262 (2001)Google Scholar
  29. 29.
    Lynch, N., Tuttle, M.: An introduction to input/output automata. CWI-Quarterly 2(3), Centrum voor Wiskunde en Informatica, Amsterdam, The Netherlands, 219–246 (1989)Google Scholar
  30. 30.
    Lynch, N., Vaandrager, F.: Forward and backward simulations — part I: Untimed systems. Information and Computation 121(2), 214–233 (1995)MATHCrossRefMathSciNetGoogle Scholar
  31. 31.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann, San Francisco (1996)MATHGoogle Scholar
  32. 32.
    Mäkinen, E., Systä, T.: MAS - an interactive synthesizer to support behavioral modeling in UML. In: [22], pp. 15–24 (2001)Google Scholar
  33. 33.
    Pnueli, A.: The temporal logic of programs. In: IEEE Symposium on Foundations of Computer Science, pp. 46–57. IEEE Press, Los Alamitos (1977)Google Scholar
  34. 34.
    Szyperski, C.: Component Software, Beyond Object-Oriented Programming. Addison-Wesley, Reading (1997)Google Scholar
  35. 35.
    Vanderperren, W., Wydaeghe, B.: Towards a new component composition process. In: Proceedings of the 8th International Conference on the Engineering of Computer Based Systems, ECBS 2001, pp. 322–331. IEEE Computer Society, Los Alamitos (2001)Google Scholar
  36. 36.
    Vanderperren, W., Wydaeghe, B.: Separating concerns in a high-level component-based context. In: Easy Comp. Workshop at ETAPS 2002 (2002)Google Scholar
  37. 37.
    Vanderperren, W.: A pattern based approach to separate tangled concerns in component based development. In: Proceedings of the 1st AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software, ACP4IS 2002, Enschede, The Netherlands, pp. 71–75 (2002)Google Scholar
  38. 38.
    Wallnau, K.C., Hissam, S., Seacord, R.: Building Systems from Commercial Components. In: Software Engineering. Addison-Wesley, Reading (2001)Google Scholar
  39. 39.
    Wydaeghe, B., Vanderperren, W.: Visual component composition using composition patterns. In: Proceedings of the 39th International Conference on Technology of Object-Oriented Languages and Systems, Santa Barbara, CA, pp. 120–129. IEEE Computer Society, Los Alamitos (2001)CrossRefGoogle Scholar
  40. 40.
    Wydaeghe, B.: PACOSUITE: Component composition based on composition patterns and usage scenarios. PhD thesis (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Paul C. Attie
    • 1
  • David H. Lorenz
    • 2
  • Aleksandra Portnova
    • 3
  • Hana Chockler
    • 4
  1. 1.American University of BeirutBeirutLebanon
  2. 2.University of VirginiaCharlottesvilleUSA
  3. 3.Northeastern UniversityBostonUSA
  4. 4.WPIWorcesterUSA

Personalised recommendations