2002,
McNeely, Corinne,
Rugaber, Spencer,
Stirewalt, R. E. Kurt,
Zook, David
The DYNAMO project is concerned with the assembly of components of
interactive systems. It includes a design method, described in this
guidebook, and a set of tools that support it. The DYNAMO design method
starts with a declarative model of the assembly expressed using a graphical
UML CASE tool. From the declarative model, DYNAMO tools automatically
generate C++ wrapper classes that glue the components together. The DYNAMO
design method comprises three-phases that refine a conceptual model of a
proposed assembly into interrelated components organized into layered mode
components. In Phase 0, the environment in which the assembly executes is
described in terms of external actors, the assembly itself, the
communication among them, and the behavioral properties that the assembly
guarantees to maintain. Phase 1 asks the designer to partition the assembly
into its constituent components and their relationships, assigning
responsibility for external actions and guarantee-maintenance to the
components appropriately. Finally, Phase 2 asks the designer to layer the
constituents as mode components, where lower-level components communicate
status changes upward, and higher-level components make specific service
requests of lower-level components. For each phase, the guidebook provide a
purpose, a diagrammatic representation that describes the resulting design
artifact, a set of steps to create that diagram, and a set of guidelines or
design rules for making appropriate design decisions. Each phase is
illustrated using the example of a simple text browser assembly. At the end
of the document, a glossary of all DYNAMO-related terms is provided.