Skip to main content

Software Architecture for Correct Components Assembly

  • Chapter
Formal Methods for Software Architectures (SFM 2003)

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

Abstract

Correct automatic assembly in software components is an important issue in CBSE (Commercial-Off-The-Shelf). Building a system from reusable software components or from COTS (Commercial-Off-The-Shelf) components introduces a set of problems. One of the main problems in components assembly is related to the ability to properly manage the dynamic interactions of the components. Component assembling can result in architectural mismatches when trying to integrate components with incompatible interaction behavior like deadlock and other software anomalies. This problem represents a new challenge for system developers. The issue is not only in specifying and analyzing a set of properties rather in being able to enforce them out of a set of already implemented (local) behaviors. Our answer to this problem is a software architecture based approach in which the software architecture imposed on the assembly allows for detection and recovery of COTS integration anomalies. Starting from the specification of the system to be assembled and of its properties we develop a framework which automatically derives the glue code for the set of components in order to obtain a properties-satisfying system (i.e. the failure-free version of the system).

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Itu telecommunication standardisation sector, itu-t reccomendation z.120. message sequence charts (msc 1996). Geneva (1996)

    Google Scholar 

  2. Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions On Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  3. Balemi, S., Hoffmann, G.J., Gyugyi, P., Wong-Toi, H., Franklin, G.F.: Supervisory control of a rapid thermal multiprocessor. IEEE Transactions on Automatic Control 38(7), 1040–1059 (1993)

    Article  MATH  MathSciNet  Google Scholar 

  4. Brandin, B.A., Wonham, W.M.: Supervisory control of timed discrete-event systems. IEEE Transactions on Automatic Control 39(2) (February 1994)

    Google Scholar 

  5. de Alfaro, L., Heinzinger, T.: Interface automata. In: ACM Proc. of the joint 8th ESEC and 9th FSE. ACM Press, New York (September 2001)

    Google Scholar 

  6. de Alfaro, L., Heinzinger, T.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Edmund, O.G., Clarke Jr., M., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2001)

    Google Scholar 

  8. Ellis, C.A., Gibbs, S.J.: Concurrency control in groupware systems. In: Proceedings of the 1989 ACM SIGMOD international conference on Management of data, pp. 399–407 (1989)

    Google Scholar 

  9. Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6) (November 1995)

    Google Scholar 

  10. Garlan, D., Perry, D.E.: Introduction to the Special Issue on Software Architecture 21(4), 269–274 (1995)

    Google Scholar 

  11. Giannakopoulou, D., Kramer, J., Cheung, S.: Behaviour analysis of distributed systems using the tracta approach. Journal of Automated Software Engineering, special issue on Automated Analysis of Software 6(1), 7–35 (1999)

    Google Scholar 

  12. Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Assumption generation for software component verification. In: Proc. 17th IEEE Int. Conf. Automated Software Engineering 2002 (September 2002)

    Google Scholar 

  13. Inverardi, P., Tivoli, M.: Failure-free connector synthesis for correct components assembly. In: Specification and Verification of Component-Based Systems (SAVCBS 2003) - Workshop at ESEC/FSE 2003, Helsinki, Finland, September 1-2 (2003)

    Google Scholar 

  14. Inverardi, P., Tivoli, M.: Automatic synthesis of deadlock free connectors for com/dcom applications. In: ACM Proceedings of the joint 8th ESEC and 9th FSE, Vienna. ACM Press, New York (September 2001)

    Google Scholar 

  15. Inverardi, P., Tivoli, M.: Connectors synthesis for failures-free component based architectures. Technical Report, University of L’Aquila, Department of Computer Science, ITALY (January 2003), http://sahara.di.univaq.it/tech.php?id_tech=7 , http://www.di.univag.it/~tivoli/ffsynthesis.pdf

  16. Inverardi, P., Tivoli, M., Bucchiarone, A.: Automatic synthesis of coordinators of cots group-ware applications: an example. In: International Workshop on Distributed and Mobile Collaboration (DMC 2003). To be published by the IEEE Computer Society Press in the post-proceedings of the 12th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE 2003), Linz, Austria, June 9-11 (2003)

    Google Scholar 

  17. Inverardi, P., Tivoli, M., Bucchiarone, A.: Coordinators synthesis for cots group-ware systems: an example. Technical Report, University of L’Aquila, Department of Computer Science, ITALY (March 2003), http://www.di.univaq.it/tivoli/cscw_techrep.pdf

  18. Inverardi, P., Tivoli, M., Bucchiarone, A.: Failures-free connector synthesis for correct components assembly. Technical Report, University of L’Aquila, Department of Computer Science, ITALY (March 2003), http://www.di.univaq.it/tivoli/ffs_techrep.pdf

  19. Koch, M.: Design issues and model for a distributed multi-user editor. Computer Supported Cooperative Work, International Journal 5(1) (1996)

    Google Scholar 

  20. Koch, M., Kock, J.: Using component technology for group editors - the iris group editor environment. In: Proc. Workshop on Object Oriented Groupware Platforms, September 1997, pp. 44–49 (1997)

    Google Scholar 

  21. Lee, B.G., Chang, K.H., Narayanan, N.H.: A model for semi-(a)synchronous collaborative editing. In: Proceedings of the Third European Conference on Computer Supported Cooperative Work, ECSCW 1993, September 1993, pp. 219–231 (1993)

    Google Scholar 

  22. Medvidovic, N., Oreizy, P., Taylor, R.N.: Reuse of off-the-shelf components in c2-style architectures. In: Proceedings of the 1997 Symposium on Software Reusability and Proceedings of the 1997 International Conference on Software Engineering (May 1997)

    Google Scholar 

  23. Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)

    MATH  Google Scholar 

  24. Nicola, R.D., Vaandrager, F.: Three logics for branching bisimulation. Journal of the ACM 42(2), 458–487 (1995)

    Article  MATH  Google Scholar 

  25. Inverardi, P., Tivoli, M.: Automatic failures-free connector synthesis: An example. Technical Report, published on the Monterey 2002 Workshop Proceedings: Radical Innovations of Software and Systems Engineering in the Future, Universita’ Ca’ Foscari di Venezia, Dip. di Informatica, Technical Report CS-2002-10 (September 2002)

    Google Scholar 

  26. Szyperski, C.: Component Software. Beyond Object Oriented Programming. Addison Wesley, Harlow (1998)

    Google Scholar 

  27. Taubner, D.: Finite Representations of CCS and TCSP Programs by Automata and Petri Nets. LNCS, vol. 369. Springer, Heidelberg (1989)

    MATH  Google Scholar 

  28. Tronci, E.: Automatic synthesis of controllers from formal specifications. In: Proc. of 2nd IEEE Int. Conf. on Formal Engineering Methods (December 1998)

    Google Scholar 

  29. Uchitel, S., Kramer, J., Magee, J.: Detecting implied scenarios in message sequence chart specifications. In: ACM Proceedings of the joint 8th ESEC and 9th FSE, Vienna (September 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Inverardi, P., Tivoli, M. (2003). Software Architecture for Correct Components Assembly. In: Bernardo, M., Inverardi, P. (eds) Formal Methods for Software Architectures. SFM 2003. Lecture Notes in Computer Science, vol 2804. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39800-4_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39800-4_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20083-3

  • Online ISBN: 978-3-540-39800-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics