Abstract
Many software projects are based on the integration of independently designed software components that are acquired on the market rather than developed within the project itself. This type of components is well known as COTS (Commercial-Off-The-Shelf) components. Nowadays component based technologies provide interoperability and composition mechanisms that cannot solve the COTS components assembly problem in an automatic way. One of the main problems in components assembly is related to the ability to establish properties on the assembly code by only assuming a limited knowledge of the single components properties. 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. We build applications by assuming a defined architectural style. Then, we compose a system in such a way that it is possible to check whether and why the system presents some software anomalies (e.g.: deadlock, livelock). Depending on the kind of failures a recovery policy which can avoid the anomalies and obtain a correct assembly can be performed. A tool can then synthesize the assembly code (as a failures-free connector component) to glue together a set of COTS components. This glue code must be synthesized in such a way that (a well defined set of) functional properties required for the composed system are automatically guaranteed. In the paper we briefly describe our approach and then we present its application to an example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Boehm, B., Abts, C.: Cots integration: Plug and pray? IEEE Computer 32(1) (January 1999)
Edmund, O.G., Clarke Jr., M., Peled, D.A.: Model Checking. The MIT Press, Cambridge (2001)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: Why reuse is so hard. IEEE Software 12(6) (November 1995)
Gastin, P., Oddoux, D.: Fast ltl to buchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, p. 53. Springer, Heidelberg (2001)
Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of liner temporal logic. In: Proc. of the 15th IFIP/WG6.1 Symposium on Protocol Specification, Testing and Verification, PSTV 1995 (1995)
Giannakopoulou, D., Havelund, K.: Automata-based verification of temporal properties on running programs. RIACS Technical Report 01.21 (2001)
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)
Inverardi, P., Scriboni, S.: Connectors syntesis for deadlock-free component based architectures. In: 16th ASE, Coronado Island, California (November 2001)
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, September 2001, ACM Press, Vienna (2001)
Inverardi, P., Tivoli, M.: Deadlock-free software architectures for com/dcom applications. To appear on Elsevier Journal of Systems and Software Special Issue on Component-based Software Engineering (November 2001)
Inverardi, P., Tivoli, M.: Connectors synthesis for failures-free component based architectures. Technical Report, University of L’Aquila, Department of Computer Science, ITALY (August 2002), http://www.di.univaq.it/tivoli/ffsynthesis.ps
Inverardi, P., Uchitel, S.: Proving deadlock freedom in component-based programming. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 60–75. Springer, Heidelberg (2001)
Kaveh, N., Emmerich, W.: Deadlock detection in distributed object system. In: 8th FSE/ESEC, Vienna (September 2001)
Mark, D., Vigder, R., Dean, J.: An architectural approach to building systems from cots software components. National Research Council Report Number 40221.
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)
Szyperski, C.: Component Software. Beyond Object Oriented Programming. Addison Wesley, Harlow (1998)
Tanenbaum, S.: Modern Operating Systems. Prentice Hall Inc., Englewood Cliffs (1992)
Uchitel, S., Kramer, J.: A workbench for synthesising behaviour models from scenarios. In: proceeding of the 23rd IEEE International Conference on Software Engineering (ICSE 2001), Toronto, Canada (May 2001)
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, September 2001, ACM Press, Vienna (2001)
Uchitel, S., Kramer, J., Magee, J.: From sequence diagrams to behaviour models. In: WTUML: Workshop on Transformations in UML. Satellite event of the European Joint Conferences on Theory and and Practice of Software (ETAPS 2001), Genova, Italy (April 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Inverardi, P., Tivoli, M. (2004). Automatic Failures-Free Connector Synthesis: An Example. In: Wirsing, M., Knapp, A., Balsamo, S. (eds) Radical Innovations of Software and Systems Engineering in the Future. RISSEF 2002. Lecture Notes in Computer Science, vol 2941. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24626-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-540-24626-8_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21179-2
Online ISBN: 978-3-540-24626-8
eBook Packages: Springer Book Archive