Abstract
This article presents the contracting system ConFract for the open and hierarchical component model Fractal. Contracts are dynamically built from specifications, currently executable assertions, at assembly times, and are updated according to dynamic reconfigurations. These contracts are not restricted to the scope of interfaces, taken separately. On the contrary, new kinds of composition contracts can be built in order to associate several external interfaces of a component, providing an “usage contract”, or several interfaces inside the component, providing an “assembly and implementation contract”. All these contracts identify fine-grained responsibilities and developers can thus easily organize the handling of contract violations and the resulting reconfigurations.
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
Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: An Open Component Model and Its Support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Bachman, F., Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R., Wallnau, K.: Technical Concepts of Component-Based Software Engineering. CMU/SEI-2000-TR-008, Software Engineering Institute, vol. 2 (2000)
Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model. Specification v1, v2, The ObjectWeb Consortium (2002,2003), http://fractal.objectweb.org
Leavens, G.T., Baker, A.L., Ruby, C.: JML: A notation for detailed design. In: Kilov, H., Rumpe, B., Simmonds, I. (eds.) Behavioral Specifications of Businesses and Systems, pp. 175–188. Kluwer, Dordrecht (1999)
de Alfaro, L., Henzinger, T.A.: Interface Automata. In: Ninth Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press, New York (2001)
Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Trans. on Soft. Eng. 28 (2002)
Barnett, M., Schulte, W.: Runtime Verification of. NET Contracts. Journal of Systems and Software 65, 199–208 (2003)
Meyer, B.: Applying “Design by contract”. IEEE Computer 25, 40–51 (1992)
Pahl, C.: Components, Contracts and Connectors for the Unified Modelling Language UML. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, pp. 259–277. Springer, Heidelberg (2001)
Weis, T., Becker, C., Geihs, K., Plouzeau, N.: A UML Meta-model for Contract Aware Components. In: Gogolla, M., Kobryn, C. (eds.) UML 2001. LNCS, vol. 2185, pp. 442–456. Springer, Heidelberg (2001)
Object Management Group, I.: Object Constraint Language Specification. Technical Report version 1.1, ad/97-08-08, IBM (1997), www.software.ibm.com/ad/ocl
D’Souza, D.F., Wills, A.C.: Object, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley Publishing Co, Reading (1998)
Findler, R.B., Felleisen, M.: Contract Soundness for Object-Oriented Languages. In: Proceedings of OOPSLA 2001 (2001)
Chang, H., Collet, P.: Towards Contracts Negotiation in Software Components (in french). In: LMO 2005 (Object Models and Languages), Lavoisier (2005)
Plösch, R.: Evaluation of Assertion Support for the Java Programming Language. Journal of Object Technology 1(3), 5–17 (2002)
Helm, R., Holland, I.M., Gangopadhyay, D.: Contracts: Specifying Behavioral compositions in Object-Oriented Systems. In: Meyrowitz, N. (ed.) OOPSLA/ECOOP 1990, Ottawa, Canada, pp. 169–180 (1990)
Frølund, S., Koistinen, J.: Quality of Service in Distributed Object Systems Design. In: 4th USENIX Conference on Object-Oriented Technologies and Systems (COOTS), Santa Fe, New Mexico, USENIX (1998)
Loques, O., Sztajnberg, A.: Customizing Component-Based Architectures by Contract. In: Proceedings of Component Deployment 2004, Edinburgh, UK (2004)
Defour, O., Jézéquel, J.M., Plouzeau, N.: Extra-Functional Contract Support in Components. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 217–232. Springer, Heidelberg (2004)
OMG: UML 2 OCL Final Adopted Specification. Technical Report ptc/03-10-14, Object Management Group (2003)
Allen, R.J., Garlan, D.: A Formal Basis for Architectural Connection. ACM Trans. on Soft. Eng. and Methodology 6 (1997)
Magee, J., Kramer, J., Giannakopoulou, D.: Behaviour Analysis of Software Architectures. In: 1st Working IFIP Conference on Software Architecture (WICSA1), San Antonio, USA (1999)
Luckham, D.C., et al.: Specification and Analysis of System Architecture using Rapide. IEEE Trans. on Soft. Eng. 24, 336–355 (1995)
Collet, P., Rousseau, R.: Efficient Implementation Techniques for Advanced Assertion Languages. L’objet 5, 417–442 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Collet, P., Rousseau, R., Coupaye, T., Rivierre, N. (2005). A Contracting System for Hierarchical Components. In: Heineman, G.T., Crnkovic, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2005. Lecture Notes in Computer Science, vol 3489. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11424529_13
Download citation
DOI: https://doi.org/10.1007/11424529_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25877-3
Online ISBN: 978-3-540-32049-4
eBook Packages: Computer ScienceComputer Science (R0)