Skip to main content
Log in

CCDL: the composable components description language

  • Special Section on Fundamental Approaches to Software Engineering
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Tools that automate component composition decisions need as inputs formal descriptions of following categories: the functional and nonfunctional requirements desired for the target, the structural constraints for the target, and the contractual specifications of available individual components. In this article we present CCDL, a description language able to cover these three aforementioned categories.We define a composable component as an architectural entity described by an external contractual specification and a set of structural constraints for its variable internal configuration. The internal configuration of a composable component is not fixed, but is a target that must be composed from available components. This composition is driven by external requirements while complying with the fixed structural constraints. Such hierarchically composable components permit finetuned customization of component-based systems with a high degree of unanticipated variability. Our composition approach is architectural style specific and addresses multiflow architectures.The most important strength of CCDL is its ability to describe structural constraints of composable components (that represent composition targets), as flexible guidelines for their composition. The CCDL descriptions can be used by automatic composition tools that implement requirements driven compositions strategies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alda, S.: Component-based self-adaptability in peer-to-peer architectures. In: Proceedings of the 26th International Conference on Software Engineering ICSE (2004)

  2. Allen R., Garlan D. (1997). A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3): 213–249

    Article  Google Scholar 

  3. Apache Group. Xerces Java Parser. http://www.apache.org (2001)

  4. Bachman, F., Bass, L., Buhman, C., Comella-Dorda, S., Long, F., Robert, J., Seacord, R., Wallnau, K.: Technical concepts of component-based software engineering, CMU/SEI-2000-TR-008. Technical report, Carnegie Mellon Software Engineering Institute (2000)

  5. Batory D., Geraci B.: Composition validation and subjectivity in GenVoca generators. IEEE Trans. Softw. Eng. 23(2), (1997)

  6. Cervantes, H., Hall, R.: Autonomous adaptation to dynamic availability using a service-oriented component model. In: Proceedings of the 26th International Conference on Software Engineering ICSE 2004, pp. 614–623 (2004)

  7. Crnkovic, I., Schmidt, H., Stafford, J., Wallnau, K. (eds.): Proceedings of the 4th ICSE Workshop on Component-Based Software Engineering dedicated to Component Certification and System Prediction, Toronto, Canada, 14–15 May (2001)

  8. Dashofy, E. M., van der Hoek, A., Taylor, R.N.: A highly-extensible, XML-based architecture description language. In: Proceedings of the Working IEEE/IFIP Conference on Software Architectures (WICSA 2001), Amsterdam, Netherlands (2001)

  9. Garlan D. (2001). Software architecture. In: Marciniak J. (eda) Wiley Encyclopedia of Software Engineering. Wiley, New York

    Google Scholar 

  10. Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch, or, why it’s hard to build systems out of existing parts. In: Proceedings of the 17th International Conference on Software Engineering, pp. 179–185, Seattle, Washington, April (1995)

  11. Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: Proceedings of the ACM SIGSOFT Workshop on Self-healing Systems WOSS’02 (2002)

  12. Hammer D.K. (2002). Component-based architecting for component-based systems. In: Askit M. (eds) Software Architectures and Component Technology. Kluwer, Dordrecht

    Google Scholar 

  13. Hissam, S.A., Moreno, G.A., Stafford, J.A., Wallnau, K.C.: Packaging predictable assembly. In: IFIP/ACM Working Conference on Component Deployment (CD2002), Berlin, Germany, June 20–21 (2002)

  14. Inverardi, P., Scriboni, S.: Connectors synthesis for deadlock-free component based architectures. In: Proceedings of the 16th ASE, Coronado Island, California, USA, November (2001)

  15. Inverardi, P., Tivoli, M.: Correct and automatic assembly of COTS components: an architectural approach. In: Proceedings of the 5th ICSE Workshop on Component-Based Software Engineering, Orlando, Florida, USA, May 19–20, (2002)

  16. Issarny, V., Bidan, C.: Aster: a framework for sound customization of distributed runtime systems. In: Proceedings of the 16th International Conference on Distributed Computing Systems, pp. 586–593, Hong-Kong, May (1996)

  17. Kloukinas, C., Issarny, V.: Automating the composition of middleware configurations. In: Automated Software Engineering, pp. 241–244 (2000)

  18. Matthijs F. (1999). Component Framework Technology for Protocol Stacks. Katholieke Universiteit Leuven, Belgium, PhD thesis

    Google Scholar 

  19. Medvidovic N., Taylor R. (2000). A classification and composition framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1): 70–93

    Article  Google Scholar 

  20. Oreizy P., Gorlick M.M., Taylor R.N., Heimbigner D., Johnson G., Medvidovic N., Quilici A., Rosenblum D.S., Wolf A.L. (1999). An architecture-based approach to self-adaptive software. IEEE Intell. Syst. 14(3): 54–62

    Article  Google Scholar 

  21. Şora, I.: Model compozitional bazat pe componente compozabile in arhitecturi multi-flux (compositional model based on composable components in multi-flow architectures, in Romanian). PhD thesis, Politehnica University Timisoara, Romania (2004)

  22. Şora, I., P., Verbaeten, and Y., Berbers.: Using component composition for self-customizable systems. In: Crnkovic, I., Stafford, J., Larsson, S. (eds.) Proceedings – Workshop On Component-Based Software Engineering at IEEE-ECBS 2002, pp. 23–26, Lund, Sweden (2002)

  23. Şora, I., Matthijs, F., Berbers, Y., Verbaeten, P.: Automatic composition of systems from components with anonymous dependencies. In: D’Hondt, T. (ed.) Technology of Object-Oriented Languages, Systems and Architectures, pp. 154–169. Kluwer (2003)

  24. Şora, I., Creţu, V., Verbaeten, P., Berbers, Y.: Automating decisions in component composition based on propagation of requirements. In: Wermelinger, M., Margaria, T.(eds.) Fundamental Approaches to Software Engineering, 7th International Conference, Proceedings, number 2984 in Lecture Notes in Computer Science, pp. 374–388. Springer, Berlin Heidelberg New York (2004)

  25. Szypersky, C.: Component Software: Beyond Object Oriented Programming. Addison-Wesley (1997)

  26. The Object Management Group (OMG). Catalog of Domain Specifications. http://www.omg.org/technology/documents/domain_spec_catalog.htm

  27. Wermelinger, M.: Towards a chemical model for software architecture reconfiguration. In: Proceedings of the 4th International Conference on Configurable Distributed Systems. IEEE Computer Society Press (1998)

  28. Wile D. (2003). Revealing component properties through architectural styles. J. Syst. Softw. Spec. Issue Component-Based Softw. Eng. 65(3): 209–214

    Google Scholar 

  29. World Wide Web Consortium W3C. eXtensible Markup Language (XML) 1.0. http://ww.w3.org/TR/1998/REC-xml-19980210 (1998)

  30. World Wide Web Consortium W3C. Xml schema. http://ww.w3.org/XML/Schema (2001)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ioana Şora.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Şora, I., Verbaeten, P. & Berbers, Y. CCDL: the composable components description language. Int J Softw Tools Technol Transfer 9, 155–168 (2007). https://doi.org/10.1007/s10009-006-0017-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-006-0017-7

Keywords

Navigation