Skip to main content

A Grey-Box Approach to Component Composition

  • Conference paper
  • First Online:
Generative and Component-Based Software Engineering (GCSE 1999)

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

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.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. SEI Series in Software Engineering. Addison-Wesley, Reading, Massachusetts, 1998.

    Google Scholar 

  2. 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/.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. R.J.A. Buhr. Use Case Maps as architecture entities for complex systems. IEEE Transactions on Software Engineering, 24(12):1131–1155, December 1998.

    Article  Google Scholar 

  6. Hans de Bruin. BCOOPL: Basic Concurrent Object-Oriented Programming Language. WWW: http://www.cs.vu.nl/~hansdb/bcoopl/, 1999.

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

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  10. Bran Selic, Garth Gullekson, and Paul T. Ward. Real-Time Object-Oriented Modelling. John Wiley and Sons, New York, 1994.

    Google Scholar 

  11. Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. ACM Press, Addison-Wesley, New York, 1997.

    Google Scholar 

  12. Jan van den Bos and Chris Laffra. Procol: a concurrent object language with protocols, delegation and persistence. Acta Informatica, 28:511–538, September 1991.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics