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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Szyperski, C.: Component software, beyond object-oriented programming, 2nd edn. Addison-Wesley, Reading (2002)
OMG: CORBA Components, v3.0. Adopted specification (06/2002)
OMG: UML Superstructure 2.0 (August 2003)
Beugnard, A., Jézéquel, J.-M., Plouzeau, N., Watkins, D.: Making components contract aware. Computer, IEEE Computer Society, 38–45 (July 1999)
OMG: UML2.0 Object Constraint Language RfP (July 2003)
Meyer, B.: Object oriented software construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1997)
Frolund, S., Koistinen, J.: QoS specification in distributed object systems. Distributed Systems Engineering, The British Computer Society 5 (July 1998)
McHale, C.: Synchronization in concurrent object-oriented languages:expressive power, genericity and inheritance. Doctoral dissertation, Trinity College, Dept. of computer science, Dublin (1994)
Quality Control of Component-based Software (QCCS) European project home page, http://www.qccs.org
Weis, T., et al: Model metamorphosis. IEEE Software, pp. 46–51 (September 2003)
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)
Cleary, J.G.: Logical arithmetic. Future computing systems 2(2), 125–149 (1987)
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)
W3C: Synchronized Multimedia Integration Language 2.0 specification, http://www.w3.org/TR/smil20
TINA-C: TINA object definition language manual. Report TP_NM_002_2.2_96 (1996).
Becker, C., Geiths, K.: QoS, aspects of distributed programs. In: Proceedings of international workshop on aspect-oriented programming at ICSEE 1998, Kyoto, Japan (1998)
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)
Aagedal, J.O.: Quality of service support in development of distributed systems. Ph.D thesis report, University of Oslo, Dept. Informatics (March 2001)
v-QoS project home page, http://www.comp.lancs.ac.uk/computing/users/lb/v-qos.html
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)
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)
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)
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
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