The model is the top level artifact within ArgoUML. In the UML meta-model it is a sub-class of package. In many respects within ArgoUML it behaves similarly to a package (see Section 17.2, “Package”).
![]() | Note |
|---|---|
ArgoUML is restricted to one model within the tool. | |
Standard data types, classes and packages are loaded (the default, see Chapter 23, Built In DataTypes, Classes, Interfaces and Stereotypes) as sub-packages of the model. These sub-packages are not initially present in the model but are added to the model when used.
The details tabs that are active for the model are as follows.
ToDoItemStandard tab.
PropertiesSee Section 15.2.2, “Model Property Toolbar” and Section 15.2.3, “Property Fields For The Model” below.
DocumentationStandard tab. See Section 12.5, “Documentation Tab”.
SourceStandard tab. This contains a template package declaration appropriate to the entire model. In the future this would be part of the code generation activity.
ConstraintsStandard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
Tagged ValuesStandard tab. In the UML meta-model,
Model has the following standard tagged
values defined.
derived (from the
superclass, ModelElement).
Values true,
meaning the class is redundant
— it can be formally derived from other elements,
or false meaning it cannot.
Derived models have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation.
Go
upNavigate up through the package structure of the model.
Since the model is the top package nothing will happen.
Add Package
This creates a new Package (see Section 17.2, “Package”) within the model (which appears on no diagram), navigating immediately to the properties tab for that package.
![]() | Tip |
|---|---|
While it can make sense to create Packages of the model this way, it is usually a lot clearer to create them within diagrams where you want them. | |
DeleteThis tool is always downlighted, since. it is meaningless to delete the model!
NameText box. The name of the model. The name of a model, like all packages, is by convention all lower case.
![]() | Note |
|---|---|
The default name supplied to a new model by
ArgoUML, | |
StereotypeDrop down selector.
Model is provided by default
with the UML standard stereotypes for model
(systemModel and
metamodel) and package
(facade, framework,
stub).
Stereotyping models is a useful thing, although it is of limited value in ArgoUML where you have only a single model.
Navigate Stereotype
icon. If a
stereotype has been selected, this will navigate to the
stereotype property panel (see Section 15.4, “Stereotype”).
NamespaceText box. Records the namespace for the model. This is the package hierarchy. However since the model is at the top of the hierarchy in ArgoUML, this box is always empty.
VisibilityRadio box,
with entries
public,
protected, and
private.
Records the visibility for the model. Since ArgoUML only permits one model, this has no meaningful use.
ModifiersCheck box, with entries
Abstract,
Leaf and
Root.
abstract
is used to declare that this model cannot be instantiated,
but must always be specialized.
The meaning of abstract
applied to a model is not that clear.
It might mean that the model contains
interfaces or
abstract classes
without realizations.
Since ArgoUML only permits one model,
this is not a meaningful box to check.
Leaf
indicates that this model can have no further subpackages,
while root indicates it is the top level model.
Within ArgoUML root only
meaningfully applies to the Model,
since all packages sit within the model.
In the absence of the topLevel stereotype,
this could be used to emphasize that the Model is at the top level.
GeneralizationsText area. Lists any model that generalizes this model.
![]() | Note |
|---|---|
Since there is only one model in ArgoUML there is no sensible specialization or generalization that could be created. | |
SpecializationsText box. Lists any specialized model (i.e. for which this model is a generalization.
![]() | Note |
|---|---|
Since there is only one model in ArgoUML there is no sensible specialization or generalization that could be created. | |
Owned Elements
Text area. A listing of the top level packages, classes, interfaces, datatypes, actors, use cases, associations, generalizations, and stereotypes within the model.
Button 1 double click on any of the artifacts yields navigating to that artifact.