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.
- Scalability
- 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
- Flexibility
- 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:
- The top of a component may be connected to the
bottom of a single connector.
- The bottom of a component may be connected to
the top of a single connector.
- There is no bound on the number of components
or connectors that may be attached to a single connector.
- When two connectors are attached to each other, it
must be from the bottom of one to the top of the other.
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
- scalability,
- distributed, multi-user applications,
- flexibility and customizability,
- component substitutability, and
- efficiency by separating conceptual architectures from implementation architectures.
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-chiron@ics.uci.edu
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