Skip to main content

Extra-Functional Contract Support in Components

  • Conference paper

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

Abstract

According to Szyperski, “a software component is a unit of composition with contractually specified interfaces and explicit context dependencies only”. But it is well known that these contractually specified interfaces should go well beyond mere syntactic aspects: they should also involve functional, synchronization and Quality of Service (QoS) aspects. In large, mission-critical component based systems, it is also particularly important to be able to explicitly relate the QoS contracts attached to provided interfaces with the QoS contracts obtained from required interfaces. In this paper we propose a language called QoSCL (defined as an add-on to the UML2.0 component model) to let the designer explicitly describe and manipulate these higher level contracts and their dependencies. We show how the very same QoSCL contracts can then be exploited for (1) validation of individual components, by automatically weaving contract monitoring code into the components; and (2) validation of a component assembly, including getting end-to-end QoS information inferred from individual component contracts, by automatic translation to a Constraint Logic Programming language. We illustrate our approach with the example of a GPS (Global Positioning System) software component, from its functional and contractual specifications to its implementation in a .Net framework.

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. Szyperski, C.: Component software, beyond object-oriented programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  2. OMG: CORBA Components, v3.0. Adopted specification (06/2002)

    Google Scholar 

  3. OMG: UML Superstructure 2.0 (August 2003)

    Google Scholar 

  4. Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer, IEEE Computer Society, 38–45 (July 1999)

    Google Scholar 

  5. OMG: UML2.0 Object Constraint Language RfP (July 2003)

    Google Scholar 

  6. Meyer, B.: Object oriented software construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)

    MATH  Google Scholar 

  7. Frolund, S., Koistinen, J.: QoS specification in distributed object systems. Distributed Systems Engineering, The British Computer Society 5 (July 1998)

    Google Scholar 

  8. McHale, C.: Synchronization in concurrent object-oriented languages:expressive power, genericity and inheritance. Doctoral dissertation, Trinity College, Dept. of computer science, Dublin (1994)

    Google Scholar 

  9. Quality Control of Component-based Software (QCCS) European project home page, http://www.qccs.org

  10. Weis, T., et al: Model metamorphosis. IEEE Software, pp. 46–51 (September 2003)

    Google Scholar 

  11. Jaffar, J., Lassez, J.L.: Constraint logic programming. In: Proceedings of 14th ACM Symposium on principles of programming languages (POPL 1987), pp. 111–119. ACM, New York (1987)

    Chapter  Google Scholar 

  12. Cleary, J.G.: Logical arithmetic. Future computing systems 2(2), 125–149 (1987)

    Google Scholar 

  13. Bézivin, J., Farcet, N., Jézéquel, J.M., Langlois, B., Pollet, D.: Reflective model driven engineering. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 175–189. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  14. W3C: Synchronized Multimedia Integration Language 2.0 specification, http://www.w3.org/TR/smil20

  15. TINA-C: TINA object definition language manual. Report TP_NM_002_2.2_96 (1996).

    Google Scholar 

  16. Becker, C., Geiths, K.: QoS, aspects of distributed programs. In: Proceedings of international workshop on aspect-oriented programming at ICSEE 1998, Kyoto, Japan (1998)

    Google Scholar 

  17. Daniels, J., Traverson, B., Vignes, S.: Integration of QoS in distributed objects systems. In: Proceedings of IFIP TC6 WG6.1 2nd international working conference on Distributed Applications and Interoperable Systems (DAIS 1999), Helsinki, Finland, pp. 31–43 (1999)

    Google Scholar 

  18. Aagedal, J.O.: Quality of service support in development of distributed systems. Ph.D thesis report, University of Oslo, Dept. Informatics (March 2001)

    Google Scholar 

  19. v-QoS project home page, http://www.comp.lancs.ac.uk/computing/users/lb/v-qos.html

  20. Blair, G.S., Silva Moreira, R., Carrapatose, E.M.: A reflective and architecture aware component model for middleware composition management. In: 3rd international symposium on Distributed Objects and Application (DOA 2001), Roma (It) (September 2001)

    Google Scholar 

  21. Genssler, T., Zeidler, C.: Rule-driven component composition for embedded systems. In: 4th ICSE workshop on component-based software engineering: component certification and system prediction, ICSE 2001, Toronto, Ca (2001)

    Google Scholar 

  22. Hissam, S.A., Moreno, G.A., Stafford, J., Wallnau, K.C.: Packaging and deploying predictable assembly. In: Bishop, J.M. (ed.) CD 2002. LNCS, vol. 2370, pp. 108–124. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Defour, O., Jézéquel, JM., Plouzeau, N. (2004). Extra-Functional Contract Support in Components. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds) Component-Based Software Engineering. CBSE 2004. Lecture Notes in Computer Science, vol 3054. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24774-6_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24774-6_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21998-9

  • Online ISBN: 978-3-540-24774-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics