CCDL: the composable components description language
2007, International Journal on Software Tools for …
https://doi.org/10.1007/S10009-006-0017-7Abstract
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.
References (30)
- Sascha Alda. Component-based self-adaptability in peer- to-peer architectures. In Proceedings of the 26th Interna- tional Conference on Software Engineering ICSE 2004, 2004.
- Robert Allen and David Garlan. A formal basis for ar- chitectural connection. ACM Transactions on Software Engineering and Methodology, 6(3):213-249, 1997.
- Felix Bachman, Len Bass, Charles Buhman, Santi- ago Comella-Dorda, Fred Long, John Robert, Robert Seacord, and Kurt Wallnau. Technical concepts of component-based software engineering, CMU/SEI-2000- TR-008. Technical report, Carnegie Mellon Software En- gineering Institute, May 2000.
- Don Batory and Bart Geraci. Composition validation and subjectivity in GenVoca generators. IEEE Transac- tions on Software Engineering, 23(2), February 1997.
- Humberto Cervantes and Richard Hall. Autonomous adaptation to dynamic availability using a service- oriented component model. In Proceedings of the 26th International Conference on Software Engineering ICSE 2004, pages 614-623, 2004.
- Ivica Crnkovic, Heinz Schmidt, Judith Stafford, and Kurt Wallnau, editors. Proceedings of the 4th ICSE Workshop on Component-Based Software Engineering dedicated to Component Certification and System Pre- diction, Toronto, Canada, 14-15 May 2001.
- Ioana S ¸ora. Model compozitional bazat pe compo- nente compozabile in arhitecturi multi-flux (Composi- tional model based on composable components in multi- flow architectures, in Romanian). PhD thesis, Po- litehnica University Timisoara, Romania, 2004.
- Ioana S ¸ora, Vladimir Cret ¸u, Pierre Verbaeten, and Yolande Berbers. Automating decisions in component composition based on propagation of requirements. In Michel Wermelinger and Tiziana Margaria, editors, Fun- damental Approaches to Software Engineering, 7th Inter- national Conference, Proceedings, number 2984 in Lec- ture Notes in Computer Science, pages 374-388. Springer Verlag, 2004.
- Ioana S ¸ora, Frank Matthijs, Yolande Berbers, and Pierre Verbaeten. Automatic composition of systems from components with anonymous dependencies. In Theo D'Hondt, editor, Technology of Object-Oriented Languages, Systems and Architectures, pages 154-169. Kluwer Academic Publishers, 2003.
- Ioana S ¸ora, Pierre Verbaeten, and Yolande Berbers. Us- ing component composition for self-customizable sys- tems.
- In I. Crnkovic, J. Stafford, and S. Larsson, editors, Proceedings -Workshop On Component-Based Software Engineering at IEEE-ECBS 2002, pages 23-26, Lund, Sweden, 2002.
- Eric M. Dashofy, Andre van der Hoek, and Richard N. Taylor. A highly-extensible, XML-based architecture description language. In Proceedings of the Work- ing IEEE/IFIP Conference on Software Architectures (WICSA 2001), Amsterdam, Netherlands, 2001.
- David Garlan. Software architecture. In J. Marciniak, ed- itor, Wiley Encyclopedia of Software Engineering. John Wiley & Sons, 2001.
- David Garlan, Robert Allen, and John Ockerbloom. Ar- chitectural mismatch, or, why it's hard to build systems out of existing parts. In Proceedings of the 17th Interna- tional Conference on Software Engineering, pages 179- 185, Seattle, Washington, April 1995.
- Ioannis Georgiadis, Jeff Magee, and Jeff Kramer. Self- organising software architectures for distributed systems. In Proceedings of the ACM SIGSOFT Workshop on Self- healing Systems WOSS'02, 2002.
- Apache Group. Xerces Java Parser. http://www.apache.org, 2001.
- Dieter K. Hammer. Component-based architecting for component-based systems. In Mehmet Askit, edi- tor, Software Architectures and Component Technology. Kluwer, 2002.
- Scott A. Hissam, Gabriel A. Moreno, Judith A. Stafford, and Kurt C. Wallnau. Packaging predictable assembly. In IFIP/ACM Working Conference on Component De- ployment (CD2002), Berlin, Germany, June 20-21 2002.
- Paola Inverardi and S Scriboni. Connectors synthesis for deadlock-free component based architectures. In Pro- ceedings of the 16th ASE, Coronado Island, California, USA, November 2001.
- Paola Inverardi and Massimo Tivoli. Correct and au- tomatic assembly of COTS components: an architec- tural approach. In Proceedings of the 5th ICSE Work- shop on Component-Based Software Engineering, Or- lando, Florida, USA, May 19-20 2002.
- Valrie Issarny and Christophe Bidan. Aster: A frame- work for sound customization of distributed runtime sys- tems. In Proceedings of the 16th International Confer- ence on Distributed Computing Systems, pages 586-593, Hong-Kong, May 1996.
- Christos Kloukinas and Valerie Issarny. Automating the composition of middleware configurations. In Automated Software Engineering, pages 241-244, 2000.
- Frank Matthijs. Component Framework Technology for Protocol Stacks. PhD thesis, Katholieke Universiteit Leu- ven, Belgium, December 1999.
- N. Medvidovic and R. Taylor. A classification and com- position framework for software architecture description languages. IEEE Transactions on Software Engineering, Vol.26(No.1):70-93, January 2000.
- Peyman Oreizy, Michael M. Gorlick, Richard N. Tay- lor, Dennis Heimbigner, Gregory Johnson, Nenad Med- vidovic, Alex Quilici, David S. Rosenblum, and Alexan- der L. Wolf. An architecture-based approach to self- adaptive software. IEEE Intelligent Systems, 14(3):54- 62, May/June 1999. 25. The Object Management Group (OMG). Catalog of Domain Specifications. http://www.omg.org/technology/documents/domain spec catalog.htm
- Clemens Szypersky. Component Software: Beyond Object Oriented Programming. Addison-Wesley, 1997.
- World Wide Web Consortium W3C. eX- tensible Markup Language (XML) 1.0. http://ww.w3.org/TR/1998/REC-xml-19980210, 1998.
- World Wide Web Consortium W3C. Xml schema. http://ww.w3.org/XML/Schema, 2001.
- Michel Wermelinger. Towards a chemical model for soft- ware architecture reconfiguration. In Proc. of the 4th Intl. Conf. on Configurable Distributed Systems. IEEE Computer Society Press, 1998.
- David Wile. Revealing component properties through architectural styles. Journal of Systems and Software, Special Issue on Component-Based Software Engineer- ing, 65(3):209-214, March 2003.