Argo/UML Code Organization
Major Libraries
There are three major libraries that make up the bulk of the Argo/UML source code.
Each is made up of several Java packages. Argo/UML also contains several packages itself.
The numbers next to each package indicate the number of classes in that package. Each package is described below. |

Click on the name of a package to see an ArgoUML diagram of classes in that package.
- GEF (170 classes)
- uci.gef
(105) -- reusable graph editing framework: shapes, selections, grids, editors, layers, commands
- uci.gef.demo (19) -- demonstrations how to use GEF
- uci.gef.event (2) -- events generated from GEF editors
- uci.graph (15) -- generic interface between GEF and graph representations, similiar to Swing's TreeModel
- uci.util (12) -- general purpose utilities
- uci.ui (13) -- property sheet and other small user interface utilities
- uci.beans.editors (4) -- custom property editors used in property sheet
- Argo (38 classes)
- uci.argo.kernel (34) -- reusable framework for critics, "to do" list,
design history
- uci.argo.checklists (4) -- framework for design checklists
- UML meta-model (120 classes)
- uci.uml.Foundation.Core (26) -- from UML Semantic Specification
- uci.uml.Foundation.Data_Types (22) -- from UML Semantic Specification
- uci.uml.Foundation.Extension_Mechanisms (2) -- from UML Semantic Specification
- uci.uml.Behavioral_Elements.Common_Behavior (16) -- from UML Semantic Specification
- uci.uml.Behavioral_Elements.State_Machines (20) -- from UML Semantic Specification
- uci.uml.Behavioral_Elements.Use_Cases (2) -- from UML Semantic Specification
- uci.uml.Behavioral_Elements.Collaborations (6) -- from UML Semantic Specification
- uci.uml.Model_Management (5) -- from UML Semantic Specification
- uci.uml.test.omg (15) -- examples from UML Notation Guide
- uci.uml.generate (3) -- placeholder for future code generation features
- uci.uml.util (3) -- general utilities related to UML meta-model
- Argo/UML (191 classes)
- uci.uml (1) -- Main
- uci.uml.ui (111) -- Argo/UML windows, dialogs, panels, navigational perspectives,
property panels
- uci.uml.visual (25) -- UML diagram definitions, UML node and arc definitions
- uci.uml.critics (44) -- design critics
- uci.uml.critics.java (1) -- design critics
- uci.uml.critics.patterns (3) -- design critics
- uci.uml.checklist (6) -- design checklists
- uci.Images -- gif images for splash screen and toolbar icons
Pending Reorganization
Argo/UML is still being developed and the code will certainly be reorganized as
it grows. Here are some of the pending changes.
- Split uci.uml.ui into sub-packages for main panels, propery panels, tables, commands,
and navigational perspectives.
- Split uci.uml.visual into sub-packages for each UML diagram type.
- Regroup critics in uci.uml.critics to put them into the proper packages.
- uci.uml.generate will undoubted expand, I leave its organization to people working
on it.
- new packages of test cases will eventually be added under uci.uml.test.
- Either split or join the classes under uci.argo, now only checklists have their
own package.
- All the images for GEF and Argo/UML are in the same place, I should split them
to make distributing GEF easier.
- GEF is in too many packages that do not share a common prefix.
- The "pure" meta-model code should be in packages with a different prefix
than the Argo/UML code.
- In some PC environments, the total path length of the directory names and file
names can exceed 256 characters, causing an error. For this reason and general convience, the package names should
be shorter.
Back to Argo/UML Home