Abstract
Despite the obvious advantages of reuse implied by component technology, component based development has not taken off yet. Problems that inhibit general reuse include incomplete component contracts and (undocumented) dependencies of a component on the environment, which makes it hard to assess whether a component will behave in a particular setting as expected. In principle, a black-box approach to component deployment should be favored. In practice, however, we require information that cannot be described solely in terms of externally visible properties of components. For instance, non-functional properties (e.g., space and time requirements), environmental dependencies, and variation points (e.g., places where a component may be adapted or extended) do require insight in the internal construction of a component. In this paper, a grey-box approach to component deployment is discussed. It is based on a scenario-based technique called Use-Case-Maps (UCM), which uses scenarios to describe how several components operate at a high abstraction level. UCM is an informal notation. Its strong point is to show how things work generally. In order to reason about component compositions, we have augmented UCMs with formal specifications of component interfaces. These interface specifications have been borrowed from the concurrent, object-oriented language BCOOPL (Basic Concurrent Object-Oriented Programming Language). A BCOOPL interface is more than just a set of operations, it also describes temporal orderings of operations and the parties that are allowed to invoke a particular operation. The combination of UCMs and BCOOPL interfaces gives us the opportunity to document intra and inter component behavior at a high, but formal abstraction level.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, Reading, Massachusetts, 1998.
F. Bordeleau and R.J.A. Buhr. The UCM-ROOM design method: from Use Case Maps to communicating state machines. Technical report, Department of System and Computer Engineering, Carleton University, Ottawa, Canada, September 1996. http://www.sce.carleton.ca/ftp/pub/UseCaseMaps/.
Peter Bouwman and Hans de Bruin. Talktalk. In Peter Wisskirchen, editor, Object-Oriented and Mixed Programming Paradigms, Eurographics Focus on Computer Graphics Series, chapter 9, pages 125–141. Springer-Verlag, Berlin, Germany, 1996.
Martin Büchi and Wolfgang Weck. A plea for grey-box components. Technical Report 122, Turku Centre for Computer Science (TUCS), Turku, Finland, August 1997. WWW: http://www.tucs._/publications/techreports/TR122.ps.gz.
R.J.A. Buhr. Use Case Maps as architecture entities for complex systems. IEEE Transactions on Software Engineering, 24(12):1131–1155, December 1998.
Hans de Bruin. BCOOPL: Basic Concurrent Object-Oriented Programming Language. WWW: http://www.cs.vu.nl/~hansdb/bcoopl/, 1999.
Desmond Francis D’Souza and Alan Cameron Wills. Objects, Components, and Frameworks with UML: The Catalysis Approach. Object Technology Series. Addison-Wesley, Reading, Massachusetts, 1998.
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison-Wesley, Reading, Massachusetts, 1995.
David Garlan, Robert Allen, and John Ockerbloom. Architectural mismatch: Why reuse is so hard. IEEE Software, 12(6):17–26, November 1995. Carnegie Mellon University.
Bran Selic, Garth Gullekson, and Paul T. Ward. Real-Time Object-Oriented Modelling. John Wiley and Sons, New York, 1994.
Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. ACM Press, Addison-Wesley, New York, 1997.
Jan van den Bos and Chris Laffra. Procol: a concurrent object language with protocols, delegation and persistence. Acta Informatica, 28:511–538, September 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Bruin, H. (2000). A Grey-Box Approach to Component Composition. In: Czarnecki, K., Eisenecker, U.W. (eds) Generative and Component-Based Software Engineering. GCSE 1999. Lecture Notes in Computer Science, vol 1799. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40048-6_15
Download citation
DOI: https://doi.org/10.1007/3-540-40048-6_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41172-7
Online ISBN: 978-3-540-40048-6
eBook Packages: Springer Book Archive