Component-based software development has proven effective for systems implementation in well-understood application domains, but is still insufficient for the creation of reusable and changeable software architectures. Design patterns address these shortcomings by capturing the expertise that is necessary for reusable design solutions. However, there is so far no methodical approach to providing these conceptual design building blocks in a tangible and composable form. To address this limitation, we introduce the notion of design components, reified design patterns fit for software composition. In this paper, we define design components and explain their constituents and services. Furthermore, we detail the activities of design composition and illustrate them as a process within a four-dimensional design space. Moreover, we describe a prototype of a design composition environment. A case study helps illustrating our approach.
Keller and Schauer REF described a methodical approach to design composition which was illustrated as a process within a four-dimensional design space.
Design components: towards software composition at the design level
Proceedings of the 20th International Conference on Software Engineering
Proceedings of the 20th International Conference on Software Engineering
Computer Science