Defining and Checking Deployment Contracts for Software Components

  • Kung-Kiu Lau
  • Vladyslav Ukis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)


Ideally in the deployment phase, components should be composable, and their composition checked. Current component models fall short of this ideal. Most models do not allow composition in the deployment phase. Moreover, current models use only deployment descriptors as deployment contracts. These descriptors are not ideal contracts. For one thing, they are only for specific containers, rather than arbitrary execution environments. In any case, they are checked only at runtime, not deployment time. In this paper we present an approach to component deployment which not only defines better deployment contracts but also checks them in the deployment phase.


Composition Operator Execution Environment Binary Component Deployment Time Environmental Dependency 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bachmann, F., Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R., Wallnau, K.: Vol. ii: Technical concepts of component-based software engineering, 2nd edn. Technical Report CMU/SEI-2000-TR-008, Carnegie Melon Software Engineering Institute (2000)Google Scholar
  2. 2.
    Boehm, B., Abts, C.: COTS integration: Plug and pray? IEEE Computer 32(1), 135–138 (1999)Google Scholar
  3. 3.
    Box, D.: Essential COM. Addison-Wesley, Reading (1998)zbMATHGoogle Scholar
  4. 4.
    Schmidt, D.C.: Pattern-oriented Software Architecture. Patterns for Concurrent and Networked Objects, vol. 2. John Wiley&Sons, Ltd., New York (2000)Google Scholar
  5. 5.
    Microsoft Corporation. Microsoft asynchronous pattern for componentsGoogle Scholar
  6. 6.
    Microsoft Corporation. framework class library version 2.0 (2005)Google Scholar
  7. 7.
    Englander, R.: Developing Java Beans. O’Reilly & Associates, Sebastopol (1997)zbMATHGoogle Scholar
  8. 8.
    EZ JCom Framework web page,
  9. 9.
    Fowler, M., Box, D., Hejlsberg, A., Knight, A., High, R., Crupi, J.: The great j2ee vs. shootout. In: OOPSLA 2004: Companion to the 19th Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 143–144. ACM Press, New York (2004)CrossRefGoogle Scholar
  10. 10.
    Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)Google Scholar
  11. 11.
    Keen, A.W., Olsson, R.A.: Exception handling during asynchronous method invocation. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  12. 12.
    Lau, K.-K., Ukis, V.: Component metadata in component-based software development: A survey. Preprint 34, School of Computer Science, The University of Manchester, Manchester, M13 9PL, UK (October 2005)Google Scholar
  13. 13.
    Lau, K.-K., Ukis, V.: A container for automatic system control flow generation using exogenous connectors. Preprint 31, School of Computer Science, The University of Manchester, Manchester, M13 9PL, UK (August 2005)Google Scholar
  14. 14.
    Lau, K.-K., Ukis, V.: Deployment contracts for software components. Preprint 36, School of Computer Science, The University of Manchester, Manchester, M13 9PL, UK (February 2006) ISSN 1361 - 6161Google Scholar
  15. 15.
    Lau, K.-K., Velasco Elizondo, P., Wang, Z.: Exogenous connectors for software components. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C.A., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 90–106. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Lau, K.-K., Wang, Z.: A taxonomy of software component models. In: Proc. 31st Euromicro Conference. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  17. 17.
    Medvidovic, N., Oreizy, P., Robbins, J.E., Taylor, R.N.: Using object-oriented typing to support architectural design in the c2 style. In: Proc. ACM SIGSOFT 1996, pp. 24–32 (1996)Google Scholar
  18. 18.
    Sun Microsystems. Enterprise java beans specification, version 3.0 (2005)Google Scholar
  19. 19.
    Object Management Group (OMG). Corba components, specification, version 0.9.0 (2005)Google Scholar
  20. 20.
    Platt, D.S.: Introducing Microsoft .NET, 3rd edn. Microsoft Press (2003)Google Scholar
  21. 21.
    Schmidt, D.C., Harrison, T., Pryce, N.: Thread-specific storage - an object behavioral pattern for accessing per-thread state efficiently. In: The Pattern Languages of Programming Conference (September 1997)Google Scholar
  22. 22.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  23. 23.
    Sun Microsystems. Java 2 Platform, Enterprise Edition,
  24. 24.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  25. 25.
    Wigley, A., Sutton, M., MacLeod, R., Burbidge, R., Wheelwright, S.: Microsoft. NET Compact Framework (Core Reference). Microsoft Press (January 2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Kung-Kiu Lau
    • 1
  • Vladyslav Ukis
    • 1
  1. 1.School of Computer ScienceThe University of ManchesterManchesterUnited Kingdom

Personalised recommendations