Introduction
As a new student of software architecture, I undertook this study to gain a deeper understanding of architectural considerations, both from a theoretical and practical viewpoint. I wanted to focus on comparing different architecture styles and I picked the Cruise Control problem because it is problem that lends itself to multiple, significantly different architectural solutions [Shaw et al 94]. I chose UniCon, an Architecture Description Language, to allow me to focus less on the implementation details of each design, and more on the architectural design issues.

This paper describes four architectural solutions for the Cruise Control problem (pipe and filter, procedure call, object oriented, and state based/real time). They were each carried through implementation. Copies of source files for both the UniCon descriptions and the implementations are included.

Overview
Some problems have software solutions that can be designed in more than one way. The purpose of the this paper is show one such problem, and describe four different, viable, architectural solutions.

The paper describes solutions to the Cruise Control problem in four architectural styles. For each solution, (1) the architectural style is discussed briefly, including the component and connector abstractions in the style; (2) the specific design is described, including the allocation of system functionality to components and connectors, including the rationale for the specific organization of functionality into components; (3) any interesting implementation details.


Last update: 22 February, 1996 by Gary Sekinger
Comments to maintainer