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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Itu telecommunication standardisation sector, itu-t reccomendation z.120. message sequence charts (msc 1996). Geneva (1996)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions On Software Engineering and Methodology 6(3), 213–249 (1997)
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)
Brandin, B.A., Wonham, W.M.: Supervisory control of timed discrete-event systems. IEEE Transactions on Automatic Control 39(2) (February 1994)
de Alfaro, L., Heinzinger, T.: Interface automata. In: ACM Proc. of the joint 8th ESEC and 9th FSE. ACM Press, New York (September 2001)
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)
Edmund, O.G., Clarke Jr., M., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2001)
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)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6) (November 1995)
Garlan, D., Perry, D.E.: Introduction to the Special Issue on Software Architecture 21(4), 269–274 (1995)
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)
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)
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)
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)
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
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)
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
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
Koch, M.: Design issues and model for a distributed multi-user editor. Computer Supported Cooperative Work, International Journal 5(1) (1996)
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)
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)
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)
Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)
Nicola, R.D., Vaandrager, F.: Three logics for branching bisimulation. Journal of the ACM 42(2), 458–487 (1995)
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)
Szyperski, C.: Component Software. Beyond Object Oriented Programming. Addison Wesley, Harlow (1998)
Taubner, D.: Finite Representations of CCS and TCSP Programs by Automata and Petri Nets. LNCS, vol. 369. Springer, Heidelberg (1989)
Tronci, E.: Automatic synthesis of controllers from formal specifications. In: Proc. of 2nd IEEE Int. Conf. on Formal Engineering Methods (December 1998)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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