Alfa: Case Studies

An Assembly Language for Software Architecture

Logo

Alfa is used for composing Alfa's primitives into elements of architectural styles. An important benefit of our approach is that it enables one to unambiguously and constructively codify similarities among a variety of architectural styles in terms of well-understood object-oriented concepts. We have evaluated the suitability of Alfa for characterizing styles and composing them from Alfa's primitives using a large and diverse set of styles for network-based systems as cataloged by Roy Fielding in his dissertation, which are typically employed in modern, distributed software systems.

Characterization of network-based styles

We have characterized network-based styles along five orthogonal dimensions to aid the composition of these styles from Alfa's primitives. The result of characterization is available in a tabular format as an Acrobat PDF document.

Composition of network-based styles - Coming soon

Our composition of network-based styles is prepared based on their characterization as described above. The compositions are created using XML schemas for xAlfa, and will be made available soon. A precise understanding of the similarities among these styles emerges from their xAlfa composition. This can be represented using the similarity graph, using a UML class diagram where each class represents a style, as shown in Figure 1.

Figure 1. Similarity graph of network-based styles
This material is partly based upon work supported by the National Science Foundation under Grant No. CCR-9985441. Effort also sponsored by the Defense Advanced Research Projects Agency, Rome Laboratory, Air Force Materiel Command, USAF under agreement numbers F30602-99-C-0174 and F30602-00-2-0615. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the Defense Advanced Research Projects Agency, Rome Laboratory or the U.S. Government. Effort also sponsored in part by the U.S. Army Tank Automotive and Armaments Command, the Jet Propulsion Laboratory, and Xerox Corporation.

© University of Southern California, 2003