Naiyana Tansalarak, Kajal T. Claypool



The success of component-based development has been impeded by interoperability concerns, including component model, semantic, syntactic, design and platform incompatibilities, that often come into play when composing two or more independently developed components. In this paper we propose a CoCo composition model that elevates compositions to first class citizenship status. The model defines a standard for describing the composition of components transparent to any underlying incompatibilities between the collaborating components. We also present a CoCo composition model implementation that provides the required support to describe and subsequently execute the composition to produce an executable application. We advocate the use of XML Schemas as a mechanism to support this composition model. To support the composition model implementation we provide (1) a taxonomy of primitive composition operators to describe the connection between components; (2) XML documents as a description language for the compositions; and (3) the development of a set of deployment plugins that address any incompatibilities and enable the generation of the model-specific and platform-specific applications.


  1. Achermann, F. (2002). Forms, Agents and Channels - Defining Composition Abstraction with Style. PhD thesis, University of Bern, Institute of Computer Science and Applied Mathematics.
  2. Achermann, F., Lumpe, M., Schneider, J.-G., and Nierstrasz, O. (2001). Piccola - a Small Composition Language. In Bowman, H. and Derrick, J., editors, Formal Methods for Distributed Processing - A Survey of Object-Oriented Approaches, pages 403-426. Cambridge University Press.
  3. Akerley, J., Li, N., and Parlavecchia, A. (1999). Programming with VisualAge for Java 2 (2nd Edition). Prentice Hall PTR.
  4. Allen, R. and Garlan, D. (1997). A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology (TOSEM), 6(3):213-249.
  5. America, P. (1990). Designing an Object-Oriented Programming Language with Behavioural Subtyping. In The REX School/Workshop on Foundations of ObjectOriented Languages, pages 60-90, London, UK. Springer-Verlag.
  6. Box, D. (1998). Essential COM. Addison-Wesley Publishing Company.
  7. Butler, S. and Duke, R. (1998). Defining Composition Operators for Object Interaction. Object Oriented Systems, 5(1):1-16.
  8. Chappell, D. (2002). Understanding .NET: A Tutorial and Analysis. Addison-Wesley Professional.
  9. Garlan, D., Monroe, R. T., and Wile, D. (2000). Acme: Architectural Description of Component-Based Systems. In Leavens, G. T. and Sitaraman, M., editors, Foundations of Component-Based Systems, pages 47- 67. Cambridge University Press.
  10. Gschwind, T., Oberleitner, J., and Jazayeri, M. (2002). Dynamic Component Extension to Support CrossPlatform Development. Technical Report TUV-1841- 2002-19, Technische Universitt Wien.
  11. Heineman, G. T. and Councill, W. T. (2001). Componentbased Software Engineering. Addison-Wesley Publishing Company, Reading, Massachusetts.
  12. Muller, H. and Davidson, M. (1996). JavaBeans Specification: Getting Listeners from JavaBeans.
  13. Oberleitner, J., Gschwind, T., and Jazayeri, M. (2003). The Vienna Component Framework Enabling Composition Across Component Models. In The 25th International Conference on Software Engineering.
  14. Raje, R. R., Auguston, M., Bryant, B. R., Olson, A. M., and Burt, C. (2001). A Unified Approach for the Integration of Distributed Heterogeneous Software Components. In The Monterey Workshop on Engineering Automation for Software Intensive System Integration, pages 109-119.
  15. Roth, B. (1998). An Introduction to Enterprise JavaBeans Technology.
  16. Shaw, M., DeLine, R., Klein, D. V., Ross, T. L., Young, D. M., and Zelesnik, G. (1995). Abstractions for Software Architecture and Tools to Support Them. Software Engineering, 21(4):314-335.
  17. Siegel, J. (1996). CORBA: Fundamentals and Programming for the 21st century. John Wiley, New York.
  18. Stearns, B. (2001). Using Forte for Java to Develop and Deploy Enterprise Beans. WebServices/ffjweb/.
  19. Tansalarak, N. and Claypool, K. T. (2004). CoCo: Composition Model and Composition Model Implementation. Technical Report 2004-006, Department of Computer Science, University of Massachusetts - Lowell. Available at
  20. Vallecillo, A., Hernandez, J., and Troya, J. (2000). Component Interoperability. Technical Report ITI-2000- 37, Departmento de Lenguajes y Ciencias de la Computacion, University of Malaga. Available at 00/Interoperability.pdf.

Paper Citation

in Harvard Style

Tansalarak N. and T. Claypool K. (2005). COCO: COMPOSITION MODEL AND COMPOSITION MODEL IMPLEMENTATION . In Proceedings of the Seventh International Conference on Enterprise Information Systems - Volume 1: ICEIS, ISBN 972-8865-19-8, pages 340-345. DOI: 10.5220/0002525503400345

in Bibtex Style

author={Naiyana Tansalarak and Kajal T. Claypool},
booktitle={Proceedings of the Seventh International Conference on Enterprise Information Systems - Volume 1: ICEIS,},

in EndNote Style

JO - Proceedings of the Seventh International Conference on Enterprise Information Systems - Volume 1: ICEIS,
SN - 972-8865-19-8
AU - Tansalarak N.
AU - T. Claypool K.
PY - 2005
SP - 340
EP - 345
DO - 10.5220/0002525503400345