A Software Component Model and Its Preliminary Formalisation

  • Kung-Kiu Lau
  • Mario Ornaghi
  • Zheng Wang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4111)


A software component model should define what components are, and how they can be composed. That is, it should define a theory of components and their composition. Current software component models tend to use objects or port-connector type architectural units as components, with method calls and port-to-port connections as composition mechanisms. However, these models do not provide a proper composition theory, in particular for key underlying concepts such as encapsulation and compositionality. In this paper, we outline our notion of these concepts, and give a preliminary formalisation of a software component model that embodies these concepts.


Component Model Composition Operator Proof Obligation Composite Component Computation Unit 
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.
    Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickovic, I., Weerawarana, S.: Business Process Execution Language for Web Services (BPEL4S) - Version 1.1. IBM (2004), http://www-106.ibm.com/developerworks/library/ws-bpel/
  2. 2.
    Arbab, F.: The IWIM model for coordination of concurrent activities. In: Hankin, C., Ciancarini, P. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 34–56. Springer, Heidelberg (1996)Google Scholar
  3. 3.
    Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D., Paech, B., Wüst, J., Zettel, J.: Component-based Product Line Engineering with UML. Addison-Wesley, Reading (2001)Google Scholar
  4. 4.
    Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)Google Scholar
  5. 5.
    Box, D.: Essential COM. Addison-Wesley, Reading (1998)MATHGoogle Scholar
  6. 6.
    Broy, M., Deimel, A., Henn, J., Koskimies, K., Plasil, F., Pomberger, G., Pree, W., Stal, M., Szyperski, C.: What characterizes a software component? Software – Concepts and Tools 19(1), 49–56 (1998)CrossRefGoogle Scholar
  7. 7.
    Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)MATHGoogle Scholar
  8. 8.
    Bruneton, E., Coupaye, T., Leclercq, M.: An open component model and its support in Java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  9. 9.
    Fiadeiro, J.L., Lopes, A., Wermelinger, M.: A mathematical semantics for architectural connectors. In: Backhouse, R., Gibbons, J. (eds.) Generic Programming. LNCS, vol. 2793, pp. 178–221. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  10. 10.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The Courier pattern. Dr. Dobb’s Journal (Feburary 1996)Google Scholar
  11. 11.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
  12. 12.
    Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)Google Scholar
  13. 13.
    IFIP TC2 working conference on Verified Software: Theories, Tools, Experiments, 10-13, ETH Zürich, Switzerland (October 2005), http://vstte.ethz.ch/
  14. 14.
    Ivers, J., Sinha, N., Wallnau, K.C.: A Basis for Composition Language CL. Technical Report CMU/SEI-2002-TN-026, CMU SEI (2002)Google Scholar
  15. 15.
    Lau, K.-K., Ornaghi, M.: Specifying compositional units for correct program development in computational logic. In: Bruynooghe, M., Lau, K.-K. (eds.) Program Development in Computational Logic. LNCS, vol. 3049, pp. 1–29. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    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
  17. 17.
    Lau, K.-K., Wang, Z.: A survey of software component models. Preprint CSPP-30, School of Computer Science, The University of Manchester (April 2005), http://www.cs.man.ac.uk/cspreprints/PrePrints/cspp30.pdf
  18. 18.
    Lau, K.-K., Wang, Z.: A taxonomy of software component models. In: Proc. 31st Euromicro Conference, pp. 88–95. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  19. 19.
    Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proc. 22nd Int. Conf. on Software Engineering, pp. 178–187. ACM Press, New York (2000)Google Scholar
  20. 20.
    Meyer, B.: The grand challenge of trusted components. In: Proc. ICSE 2003, pp. 660–667. IEEE, Los Alamitos (2003)Google Scholar
  21. 21.
    Sun Microsystems. Enterprise Java Beans Specification, Version 3.0 (2005)Google Scholar
  22. 22.
    Nierstrasz, O., Arévalo, G., Ducasse, S., Wuyts, R., Black, A., Müller, P., Zeidler, C., Genssler, T., van den Born, R.: A component model for field devices. In: Proc. 1st Int. IFIP/ACM Working Conference on Component Deployment, pp. 200–209. ACM Press, New York (2002)Google Scholar
  23. 23.
    OMG. UML 2.0 Superstructure Specification, http://www.omg.org/cgi-bin/doc?ptc/2003-08-02
  24. 24.
    OMG. CORBA Component Model, V3.0, (2002), http://www.omg.org/technology/documents/formal/components.htm
  25. 25.
    Plasil, F., Balek, D., Janecek, R.: SOFA/DCUP: Architecture for component trading and dynamic updating. In: Proc. ICCDS 1998, pp. 43–52. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  26. 26.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  27. 27.
    Sun Microsystems. JavaBeans Specification (1997), http://java.sun.com/products/javabeans/docs/spec.html
  28. 28.
    Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  29. 29.
    Thomas, E.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005)MATHGoogle Scholar
  30. 30.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. IEEE Computer, 78–85 (March 2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Kung-Kiu Lau
    • 1
  • Mario Ornaghi
    • 2
  • Zheng Wang
    • 1
  1. 1.School of Computer Sciencethe University of ManchesterManchesterUnited Kingdom
  2. 2.Dipartimento di Scienze dell’InformazioneUniversita’ degli studi di MilanoMilanoItaly

Personalised recommendations