Composite System Design: the Good News and the Bad News
Martin Feather, Stephen Fickas, Rob Helm
Committee:
Technical Report(May 1991)
Keywords:

Composite systems are ones comprised of a number of agents interacting to achieve some system-wide goals. Such systems abound in the real world. In particular, it is hard to find a complex software system that cannot be viewed as an agent in a larger composite system. When using the composite system viewpoint during requirements and specification, several benefits accrue:

We have defined a search-based model of composite system design to support the above argu­ments. The model views design (and redesign) as a search in a space of possible alternative com­posite system specifications. The model requires both a component to generate design alternatives, and a component to evaluate those alternatives.

We have tested our model by rationally reconstructing a number of real-world composite systems. The good news is that the generative component appears to be implementable with interactive, domain-independent, transformation technology. The bad news is that there is a wealth of domain-specific knowledge that can and should be applied to evaluate composite system designs. Perhaps most ignored, evaluating the impact a new design will have on the environment and the existing agents of the system seems crucial to success. There has been little work done on incorporating the necessary evaluation knowledge into a specification or requirements tool.

Our conclusion is twofold: 1) the composite system design model brings to light important issues that must be addressed in complex software systems, issues that are missed by non-composite or stand-alone models, and 2) while the generation problem seems under control, the evaluation problem remains open. We project that even informal representations and tools can have some immediate impact on answering the latter problem