next up previous
Next: An Event Driven Up: Micro-Architectures - The Previous: Micro-Architectures - The

Definitions of ``Architecture''

The following definitions further present our view:

Architecting
is making design decisions or commitments that affect components across the system. The difference between ``micro'' and ``macro'' is a matter of perspective.

Macro-Architecture Decisions
are commitments about the ``global vision'' of the system or application's overall structure.

Micro-Architecture Decisions
are commitments about the relationships between components, and these commitments directly support or ensure that the ``macro'' level properties desired will actually be achieved.

Component Design
is pushing the limits of generality within the envelope of the micro-architectural commitments that have been made.

Generalizing
components means removing commitments that restrict the applicability of single components. There is constant friction between the desire to generalize, and the desire to make micro-architectural commitments that give greater leverage to client programmers.

The following quote from Robert Biddle sums up the importance of concentrating on micro-architectural issues:

Micro-architectural issues (design for reuse) are exactly those we need to pay attention to in order to avoid continually being stuck with ``legacy'' code that we must try to reuse for better or worse (design with reuse).

--- Robert Biddle (paraphrased)



Larry Latour
Sun Sep 17 21:09:35 EDT 1995