Home | Issues | Profile | History | Submission | Review
Vol: 49(63) No: 3 / September 2004

Defining Composable Components in Multi-Flow Architectures Through Structural Constraints
Ioana Sora
Department of Computer and Software Engineering, Politehnica University of Timisoara, Bd. V.Parvan 2, 1900 Timisoara, Romania, e-mail: ioana@cs.utt.ro


Keywords: CBSE (Component Based Software Engineering), software architecture, composable components

Abstract
Systems must adapt themselves to (evolving) user requirements or to their (changing) environment. One way to address this problem is through component composition, systematically (re-)building systems according to the current requirements by composing reusable components. Our work addresses requirements driven composition of multi-flow architectures. The central element of our approach is the concept of composable components: the internal configuration of a composable component is not fixed, but is variable in the limits of its structural constraints. In this paper we introduce the mechanism of structural constraints as a way of managing the variability of customisable systems. Composition is performed in a top-down stepwise refinement manner, while recursively composing the internal structures of the composable components.

References
[1] Don Batory, Gang Chen, Eric Robertson, Tao Wang, Design Wizards and Visual Programming Environments for GenVoca Generators, IEEE Transactions on Software Engineering, Vol.26, No. 5, May 2000.
[2] Gordon S. Blair, Geoff Coulson, Phillippe Robin, and Michael Papathomas, An Architecture for Next Generation Middleware, Proceedings of the IFIP International Conference on Distributed Systems Platforms and Open Distributed Processing (Middleware\'98), Lake District, UK, Editors: Davies, N., Raymond, K., Seitz, J., Springer-Verlag, 1998.
[3] Ivica Crnkovic, Heinz Schmidt, Judith Stafford and Kurt Wallnau (Eds.), Proceedings of the 4th ICSE Workshop on Component-Based Software Engineering dedicated to Component Certification and System Prediction, 2001.
[4] K. Czarnecki, U. Eisenecker, “Synthesizing Objects”, in Proceedings ECOOP\'99, Lecture Notes in Computer Science 1628, Springer, Lisbon, Portugal, June 1999, pp. 18-42.
[5] Jilles van Gurp, Jan Bosch, Mikael Svahnberg, On the Notion of Variability in Software Product Lines, Proceedings of WICSA 2001, August 2001.
[6] Scott A. Hissam, Gabriel A. Moreno, Judith A. Stafford, “Packaging Predictable Assembly”, First International IFIP/ACM Working Conference on Component Deployment, June 20-21, 2002, Berlin, Germany.
[7] Fabio Kon, Roy Campbell, Dependence Management in Component-Based Distributed Systems, IEEE Jan-March 2000
[8] Edward J. Posnak, Greg Lavender, Harrick M. Vin, An adaptive framework for developing multimedia software components, Communications of the ACM, 40(10):43-47, October 1997.
[9] D.E. Perry, “Software Interconnection Models”, Proceedings of the 9th International Conference on Software Engineering, Monterey CA, March 1987, pp. 61-69.
[10] Ioana Sora, Y. Berbers, P.Verbaeten, “A Description Language for Composable Components”, in Fundamental Approaches to Software Engineering, pp. 22-36, Springer Verlag LNCS 2621, 2003.
[11] Ioana Sora, “Model compoziţional pentru arhitecturi multi-flux”, Teza de doctorat, Universitatrea Politehnica Timişoara, decembrie 2003.
[12] C. Szypersky. Component Software: Beyond Object Oriented Programming. Addison-Wesley, 1997.
[13] E. Truyen, B.N. Joergensen, W. Joosen, \"Customization of Object Request Brokers through Dynamic Reconfiguration\", in Proceedings TOOLS Europe 2000, June 2000, France.