Abstract
A vital issue in the correct use of commercial-off-the-shelf (COTS) components is the proper understanding of their functionality, quality attributes and ways of operation. Traditionally, COTS component vendors provide some of this information in accompanying documentation. However, the documentation is often informal and likely contains ambiguous and inconsistent statements. Even equipped with interface descriptions clearly defining the basic aspects of component use, such as operation signatures and operating platforms, this documentation does not provide a mathematically sound means for addressing the behavioural interoperability issues in component-based system design. In this paper, we propose a formal but user-friendly component specification approach which augments commercial IDLs with the capability of capturing component interoperability requirements. This approach uses unambiguous temporal operators to define sequencing and concurrency constraints between component operation invocations. Accordingly, it enables precise specifications of how a component provides its services and the correct way in which its services should be used.
Keywords
- Software Component
- Label Transition System
- Call Event
- Interaction Protocol
- Return Event
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, access via your 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
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Bastide, R., Sy, O., Palanque, P.: Formal specification and prototyping of CORBA systems. In: Guerraoui, R. (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 474–494. Springer, Heidelberg (1999)
Borgida, A., Devanbu, P.: Adding more “DL” to IDL: Towards more knowledgeable component inter-operability. In: Proc. 21th Int’l Conference on Software Engineering (ICSE), pp. 378–387 (1999)
Canal, C., Pimentel, E., Troya, J.M., Vallecillo, A.: Extending CORBA interfaces with protocols. The Computer Journal 44(5), 448–462 (2001)
Cho, I.: A framework for the specification and testing of the interoperation aspect of components. In: [10], pp. 53–64
Cicalese, C., Rotenstreich, S.: Behavioral specification of distributed software component interfaces. IEEE Computer, 46–53 (July 1999)
Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch — why it’s hard to build systems out of existing parts. In: Proc. 17th Int’l Conference on Software Engineering (ICSE), pp. 179–185 (1995)
Han, J.: A comprehensive interface definition framework for software components. In: Proc. Asia-Pacific Software Engineering Conference (APSEC), pp. 110–117 (1998)
Han, J., Ker, K.K.: Ensuring compatible interactions within component-based software systems. In: Proc. Asia-Pacific Software Engineering Conference (APSEC), pp. 436–445 (2003)
Hernández, J., Vallecillo, A., Troya, J. (eds.): Proc. ECOOP Workshop on Object Interoperability (2000)
Jin, Y., Han, J.: PEIDL: An interaction protocol specification language for software components. Technical Report SUTIT-TR2004.02/SUT.CeCSES-TR002, Centre for Component Software and Enterprise Systems, Swinburne University of Technology (June 2004), http://www.it.swin.edu.au/centres/cecses/trs/2004/SUT.CeCSESTR002.pdf
Kramer, R.: iContract— the Java Design by Contract tool. In: Proc. TOOLS (1998)
McKegney, R., Shepard, T.: Techniques for embedding executable specifications in software component interfaces. In: Erdogmus, H., Weng, T. (eds.) ICCBSS 2003. LNCS, vol. 2580, pp. 143–156. Springer, Heidelberg (2003)
Meyer, B.: Object-Oriented Software Construction (1988)
Meyer, B.: Eiffel: the Language. Prentice-Hall, Englewood Cliffs (1992)
Plasil, F., Visnovsky, W.: Behaviour protocols for software components. IEEE Transactions on Software Engineering 28(11), 1056–1076 (2002)
Reussner, R.H.: An enhanced model for component interfaces to support automatic and dynamic adaption. In: [10], 33–42
Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Transactions on Programming Languages and Systems 19(2), 292–333 (1997)
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
Jin, Y., Han, J. (2005). Specifying Interaction Constraints of Software Components for Better Understandability and Interoperability. In: Franch, X., Port, D. (eds) COTS-Based Software Systems. ICCBSS 2005. Lecture Notes in Computer Science, vol 3412. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30587-3_16
Download citation
DOI: https://doi.org/10.1007/978-3-540-30587-3_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24548-3
Online ISBN: 978-3-540-30587-3
eBook Packages: Computer ScienceComputer Science (R0)
