Skip to main content

Checking assumptions in component dynamics at the architectural level

  • Regular Papers
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1282))

Abstract

A critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have begun to formulate a method that addresses this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early in development. For each component, a specification is given both of its own interaction behavior and of the assumptions that it makes about the interaction behavior of the external context in which it expects to operate. We have defined an algorithm that, given such specifications for a set of components, performs “adequacy” checks between the component context assumptions and the component interaction behaviors. A configuration of a system is possible if and only if a successful way of “matching” actual behaviors with assumptions can be found. In effect, we are extending the usual notion of type checking to include the checking of behavioral compatibility.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. Allen and D. Garlan. Formalizing Architectural Connection. In Proceedings of the 16th International Conference on Software Engineering, pages 71–80. IEEE Computer Society, May 1994.

    Google Scholar 

  2. R. Allen and D. Garlan. A Case Study in Architectural Modeling: The AEGIS System. In Proceedings of the 8th International Workshop on Software Specification and Design, pages 6–15. IEEE Computer Society, March 1996.

    Google Scholar 

  3. J.-P. Banitre and D. Le Métayer. The Gamma Model and its Discipline of Programming. Science of Computer Programming, 15:55–77, 1990.

    Article  Google Scholar 

  4. J.-P. Banâtre and D. Le Métayer. Programming by Multiset Transformation. Communications of the ACM, 36(1):98–111, January 1993.

    Article  Google Scholar 

  5. G. Berry and G. Boudol. The Chemical Abstract Machine. Theoretical Computer Science, 96:217–248, 1992.

    Article  Google Scholar 

  6. G. Boudol. Some Chemical Abstract Machines. In A Decade of Concurrency, number 803 in Lecture Notes in Computer Science, pages 92–123. Springer-Verlag, May 1994.

    Google Scholar 

  7. R.H. Campbell and A.N. Habermann. The Specification of Process Synchronization by Path Expressions. In Proceedings of an International Symposium on Operating Systems, number 16 in Lecture Notes in Computer Science, pages 89–102. Springer-Verlag, April 1974.

    Google Scholar 

  8. D. Compare and P. Inverardi. Modelling Interoperability by CHAM: A Case Study. In Proceedings of the First International Conference on Coordination Models and Languages, number 1061 in Lecture Notes in Computer Science, pages 428–431. Springer-Verlag, April 1996.

    Google Scholar 

  9. D. Compare, P. Inverardi, and A.L. Wolf. Uncovering Architectural Mismatch in Dynamic Behavior. Technical Report CU-CS-828-97, Department of Computer Science, University of Colorado, Boulder, Colorado, February 1997.

    Google Scholar 

  10. D. Garlan, D. Kindred, and J.M. Wing. Interoperability: Sample Problems and Solutions. Technical report, Carnegie Mellon University, Pittsburgh, Pennsylvania, In preparation.

    Google Scholar 

  11. C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs, New Jersey, 1985.

    Google Scholar 

  12. P. Inverardi and A.L. Wolf. Formal Specification and Analysis of Software Architectures using the Chemical Abstract Machine Model. IEEE Transactions on Software Engineering, 21(4):373–386, April 1995.

    Article  Google Scholar 

  13. P. Inverardi and D. Yankelevich. Relating CHAM Descriptions of Software Architectures. In Proceedings of the 8th International Workshop on Software Specification and Design, pages 66–74. IEEE Computer Society, March 1996.

    Google Scholar 

  14. D.C. Luckham, J.J. Kenney, L.M. Augustin, J. Vera, D. Bryan, and W. Mann. Specification and Analysis of System Architecture Using Rapide. IEEE Transac tions on Software Engineering, 21(4):336–355, April 1995.

    Article  Google Scholar 

  15. R. Milner. Communication and Concurrency. Prentice-Hall, Englewood Cliffs, New Jersey, 1989.

    Google Scholar 

  16. D.E. Perry. The Inscape Environment. In Proceedings of the 11th International Conference on Software Engineering, pages 2–11. IEEE Computer Society, May 1989.

    Google Scholar 

  17. D.E. Perry and A.L. Wolf. Foundations for the Study of Software Architecture. SIGSOFT Software Engineering Notes, 17(4):40–52, October 1992.

    Article  Google Scholar 

  18. M. Radestock and S. Eisenbach. What Do You Get From a Pi-calculus Semantics? In Proceedings of PARLE'94 Parallel Architectures and Languages Europe, number 817 in Lecture Notes in Computer Science, pages 635–647. Springer-Verlag, 1994.

    Google Scholar 

  19. M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs, New Jersey, 1996.

    Google Scholar 

  20. A.L. Wolf, L.A. Clarke, and J.C. Wileden. The AdaPIC Tool Set: Supporting Interface Control and Analysis Throughout the Software Development Process. IEEE Transactions on Software Engineering, 15(3):250–263, March 1989.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

David Garlan Daniel Le Métayer

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Inverardi, P., Wolf, A.L., Yankelevich, D. (1997). Checking assumptions in component dynamics at the architectural level. In: Garlan, D., Le Métayer, D. (eds) Coordination Languages and Models. COORDINATION 1997. Lecture Notes in Computer Science, vol 1282. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63383-9_72

Download citation

  • DOI: https://doi.org/10.1007/3-540-63383-9_72

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63383-9

  • Online ISBN: 978-3-540-69527-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics