Skip to main content

A Software Component Model and Its Preliminary Formalisation

  • Conference paper
Formal Methods for Components and Objects (FMCO 2005)

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

Included in the following conference series:

Abstract

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.

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. 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. 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. 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. Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)

    Google Scholar 

  5. Box, D.: Essential COM. Addison-Wesley, Reading (1998)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  7. Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  10. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The Courier pattern. Dr. Dobb’s Journal (Feburary 1996)

    Google Scholar 

  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. Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)

    Google Scholar 

  13. IFIP TC2 working conference on Verified Software: Theories, Tools, Experiments, 10-13, ETH Zürich, Switzerland (October 2005), http://vstte.ethz.ch/

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

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. Meyer, B.: The grand challenge of trusted components. In: Proc. ICSE 2003, pp. 660–667. IEEE, Los Alamitos (2003)

    Google Scholar 

  21. Sun Microsystems. Enterprise Java Beans Specification, Version 3.0 (2005)

    Google Scholar 

  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. OMG. UML 2.0 Superstructure Specification, http://www.omg.org/cgi-bin/doc?ptc/2003-08-02

  24. OMG. CORBA Component Model, V3.0, (2002), http://www.omg.org/technology/documents/formal/components.htm

  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. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  27. Sun Microsystems. JavaBeans Specification (1997), http://java.sun.com/products/javabeans/docs/spec.html

  28. Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  29. Thomas, E.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005)

    MATH  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lau, KK., Ornaghi, M., Wang, Z. (2006). A Software Component Model and Its Preliminary Formalisation. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, WP. (eds) Formal Methods for Components and Objects. FMCO 2005. Lecture Notes in Computer Science, vol 4111. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11804192_1

Download citation

  • DOI: https://doi.org/10.1007/11804192_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-36749-9

  • Online ISBN: 978-3-540-36750-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics