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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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/
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)
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)
Barnes, J.: High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, Reading (2003)
Box, D.: Essential COM. Addison-Wesley, Reading (1998)
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)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)
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)
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)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: The Courier pattern. Dr. Dobb’s Journal (Feburary 1996)
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)
Heineman, G.T., Councill, W.T. (eds.): Component-Based Software Engineering: Putting the Pieces Together. Addison-Wesley, Reading (2001)
IFIP TC2 working conference on Verified Software: Theories, Tools, Experiments, 10-13, ETH Zürich, Switzerland (October 2005), http://vstte.ethz.ch/
Ivers, J., Sinha, N., Wallnau, K.C.: A Basis for Composition Language CL. Technical Report CMU/SEI-2002-TN-026, CMU SEI (2002)
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)
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)
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
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)
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)
Meyer, B.: The grand challenge of trusted components. In: Proc. ICSE 2003, pp. 660–667. IEEE, Los Alamitos (2003)
Sun Microsystems. Enterprise Java Beans Specification, Version 3.0 (2005)
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)
OMG. UML 2.0 Superstructure Specification, http://www.omg.org/cgi-bin/doc?ptc/2003-08-02
OMG. CORBA Component Model, V3.0, (2002), http://www.omg.org/technology/documents/formal/components.htm
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)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Sun Microsystems. JavaBeans Specification (1997), http://java.sun.com/products/javabeans/docs/spec.html
Szyperski, C., Gruntz, D., Murer, S.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)
Thomas, E.: Service-Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)