Reuse of large-grain software components offers the potential for significant savings in application development cost and time. Successful reuse of components and component substitutability depends both on qualities of the components reused as well as the software context in which the reuse is attempted. Disciplined approaches to the structure and design of software applications offers the potential of providing a hospitable setting for such reuse. We present the results of a series of exercises designed to determine how well “off-the-shelf” constraint solvers could be reused in applications designed in accordance with the C2 software architectural style. The exercises involved the reuse of SkyBlue and Amulet’s one-way formula constraint solver. We constructed numerous variations of a single application (thus an application family). The paper summarizes the style and presents the results from the exercises. The exercises were successful in a variety of dimensions; one conclusion is that the C2 style offers significant potential for the development of application families and that wider trials are warranted.1
[1]
Mary Shaw,et al.
Architectural issues in software reuse: it's not just the functionality, it's the packaging
,
1995,
SSR '95.
[2]
Brad A. Myers,et al.
Amulet's Dynamic and Flexible Prototype-Instance Object and Constraint System in C++,
,
1995
.
[3]
David Garlan,et al.
Architectural Mismatch or Why it's hard to build systems out of existing parts
,
1995,
1995 17th International Conference on Software Engineering.
[4]
Peyman Oreizy,et al.
Using object-oriented typing to support architectural design in the C2 style
,
1996,
SIGSOFT '96.