Figure 1-1. Freature generation approach 3
Figure 2-1. State diagram with alignment as secondary notation 27
Figure 3-1. Phases of the ADAIR critiquing process 36
Figure 4-1. Argo/C2: a design tool for C2-style architectures 50
Figure 4-2. Prefer: a requirements tool using the CoRE notation 51
Figure 4-3. Argo/UML: an OODA tool using the UML notation 52
Figure 4-4. Decision model editor 57
Figure 4-5. Critic browser window 57
Figure 4-6. Proposed graphical specification of critics and wizards 59
Figure 4-7. Context sensitive checklist 65
Figure 4-8. Argo/UML's feedback item dismissal dialog 70
Figure 4-9. Argo/UML's opportunistic search utility window 76
Figure 4-10. Tablular view of state machine transitions 79
Figure 4-11. (a) "Package-centric" navigational perspective,
(b) "State-centric" navigational perspective,
(c) "Transition-centric" navigational perspective 82
Figure 4-12. Argo/UML's navigational perspective configuration window 83
Figure 4-13. Aligning and distributing objects with the broom 88
Figure 4-14. (a) Standard automated layout of a state diagram,
(b) Model-based layout of a state diagram 94
Figure 4-15. Configuring model-based layout with arbitrary constrained regions 96
Figure 4-16. Selection-action buttons on a UML class, interface, and state 98
Figure 4-17. Mock-up of window to create multiple elements by pattern name 102
Figure 4-18. Mock-up for creating design fragments by form filling 103
Figure 4-19. Mock-up of the visual blender window 109
Figure 5-1. Argo/UML initial screen 113
Figure 5-2. After placing initial classes 115
Figure 5-3. "To do" item description 116
Figure 5-4. Reorganized class diagram 118
Figure 5-5. Class diagram with annotations describing data sources 119
Figure 5-6. One class diagram of many after the design has grown 121
Figure 5-7. Table view of associations and their properties 122
Figure 5-8. Aggregate classes navigational perspective 124
Figure 5-9. Mock-up of model-based layout 125
Figure 6-1. A survey question on clarifiers 163
Figure 7-1. Task for pilot study 169
Figure 7-2. Desired groupings of diagram elements 172
Figure 7-3. Mouse dragging with the broom or standard alignment tools 173
Figure 7-4. (a) Conventional diagramming task used in selection-action
button study, (b) Unconventional diagramming task 175
Figure 7-5. Number of new Argo/UML registered users by month in 1999 181
Figure 8-1. UML class diagram of GEF 187
Figure 8-3. Classes implementing the Argo kernel 194
Figure 8-4. CPU load imposed by critics on a 233MHz computer with
Windows NT 197
Figure 8-5. UML class diagram of Argo checklists 199
Figure 8-6. Argo/UML main window 201
Figure 8-7. Classes implementing Argo/UML's "to do" list 205
Figure 8-8. Classes that implement Argo/UML's table views 206
Figure 8-9. Classes implementing Argo/UML's opportunistic search utility 208
Figure 8-10. Some UML meta-model classes 211
Figure 8-11. Classes implementing XML file processing 215
Figure 8-12. UML class diagram of classes for code generation. 216