About Chiron-2

The Chiron-2 architectural style (often referred to as C2) is designed to support the particular needs of applications that have a graphical user interface aspect, but it has the potential for supporting other types of applications as well.

Component-based style
Software components may be written in different programming languages. They can more readily be reused and/or substituted with other components in an architecture.
Components may be of various granularity. They may be running in a distributed, heterogeneous environment. There is no assumption of shared address space among components and each component may have its own thread(s) of control
Multiple users may be interacting with the system. Multiple dialogs may be active and described in different formalisms. Multiple tool kits and media types may be employed. Architec tures may be changed dynamically. A conceptual architecture is distinct from an implementation architecture; multiple implementation architectures may realize the same conceptual architecture.

Chiron-2 composition rules

There are two types of building blocks in Chiron-2: components and connectors, i.e., message routing devices. A Chiron-2 architecture can informally be described as a network of concurrent components linked together by connectors. Components and connectors both have a defined top and bottom. They may be composed in the follow ing manner:

Chiron-2 Communication Rules

All communication between Chiron-2 components is achieved solely by exchanging messages. Each component has a top and bottom domain. The top domain specifies the set of notifications to which a component responds, and the set of requests it emits up an architecture. The bottom domain specifies the set of notifications that a component emits down an architecture and the set of requests to which it responds. Central to the architectural style is a principle of limited visibility or substrate independence: a component within the hierarchy can only be aware of components "above" it, and is completely unaware of the components "beneath" it.

Benefits of Chiron-2

It is a "natural" architectural style for user interface software, where application architecture is unconstrained by the user interface architecture. The style has a simple and understandable set of rules that support

Chiron-2 Example Architectures

KLAX Example

Chiron-2 Papers

"A Component- and Message-Based Architectural Style for GUI Software", by Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead Jr., Jason E. Robbins, Kari A. Nies, Peyman Oreizy, and Deborah L. Dubrow, IEEE Transactions on Software Engineering, June 1996. A significant extension of the ICSE17 paper.

"A Component- and Message-Based Architectural Style for GUI Software", by Richard N. Taylor, Nenad Medvidovic, Kenneth M. Anderson, E. James Whitehead Jr. and Jason E. Robbins, in Proceedings of the Seventeenth International Conference on Software Engineering (ICSE17), pages 295-304, Seattle WA, April 24-28, 1995.

"Using Object-Oriented Typing to Support Architectural Design in the C2 Style", by Nenad Medvidovic, Peyman Oreizy, Jason E. Robbins, and Richard N. Taylor. To appear in Proceedings of SIGSOFT'96: The Fourth Symposium on the Foundations of Software Engineering (FSE4), San Francisco, CA, October 16-18, 1996.

"Formal Modeling of Software Architectures at Multiple Levels of Abstraction", by Nenad Medvidovic, Richard N. Taylor, and E. James Whitehead, Jr. Proceedings of the California Software Symposium 1996, pages 28-40, Los Angeles, CA, April 17, 1996.

"Software Architecture Design from the Perspective of Human Cognitive Needs", by Jason E. Robbins and David F. Redmiles. Proceedings of the California Software Symposium 1996, pages 16-27, Los Angeles, CA, April 17, 1996.

"Software Architecture: Foundation of a Software Component Marketplace", by E. James Whitehead Jr, Jason E. Robbins, Nenad Medvidovic, and Richard N. Taylor. In David Garlan, ed., Proceedings of the First International Workshop on Architectures for Software Systems, pages 276-282, Seattle WA, April 24-25, 1995.

"Extending Design Environments to Software Architecture Design", by Jason E. Robbins, David F. Redmiles, and David M. Hilbert. Submitted to Knowledge-Based Software Engineering 1996 (KBSE'96).

Arcadia Project at UCI
Department of Information and Computer Science,
University of California, Irvine, CA 92717-3425
Last modified: Sun Jul 3 03:44:25 1994