Skip to main content

A Contracting System for Hierarchical Components

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3489))

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.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Chapter  Google Scholar 

  2. Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Component Model. Specification v1, v2, The ObjectWeb Consortium (2002,2003), http://fractal.objectweb.org

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Trans. on Soft. Eng. 28 (2002)

    Google Scholar 

  8. Barnett, M., Schulte, W.: Runtime Verification of. NET Contracts. Journal of Systems and Software 65, 199–208 (2003)

    Google Scholar 

  9. Meyer, B.: Applying “Design by contract”. IEEE Computer 25, 40–51 (1992)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. 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)

    Chapter  Google Scholar 

  12. 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

  13. D’Souza, D.F., Wills, A.C.: Object, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley Publishing Co, Reading (1998)

    Google Scholar 

  14. Findler, R.B., Felleisen, M.: Contract Soundness for Object-Oriented Languages. In: Proceedings of OOPSLA 2001 (2001)

    Google Scholar 

  15. Chang, H., Collet, P.: Towards Contracts Negotiation in Software Components (in french). In: LMO 2005 (Object Models and Languages), Lavoisier (2005)

    Google Scholar 

  16. Plösch, R.: Evaluation of Assertion Support for the Java Programming Language. Journal of Object Technology 1(3), 5–17 (2002)

    Article  Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. Loques, O., Sztajnberg, A.: Customizing Component-Based Architectures by Contract. In: Proceedings of Component Deployment 2004, Edinburgh, UK (2004)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. OMG: UML 2 OCL Final Adopted Specification. Technical Report ptc/03-10-14, Object Management Group (2003)

    Google Scholar 

  22. Allen, R.J., Garlan, D.: A Formal Basis for Architectural Connection. ACM Trans. on Soft. Eng. and Methodology 6 (1997)

    Google Scholar 

  23. Magee, J., Kramer, J., Giannakopoulou, D.: Behaviour Analysis of Software Architectures. In: 1st Working IFIP Conference on Software Architecture (WICSA1), San Antonio, USA (1999)

    Google Scholar 

  24. Luckham, D.C., et al.: Specification and Analysis of System Architecture using Rapide. IEEE Trans. on Soft. Eng. 24, 336–355 (1995)

    Article  Google Scholar 

  25. Collet, P., Rousseau, R.: Efficient Implementation Techniques for Advanced Assertion Languages. L’objet 5, 417–442 (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics