16.2.  The Model

The model is the top level model element 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 18.2, “ Package).

[Note]Note

ArgoUML is restricted to one model within the tool.

Standard data types, classes and packages are loaded (the default, see Chapter 24, Profiles ) as sub-packages of the model. These sub-packages are not initially present in the model but are added to the model when used.

16.2.1.  Model Details Tabs

The details tabs that are active for the model are as follows.

ToDoItem

Standard tab.

Properties

See Section 16.2.2, “ Model Property Toolbar and Section 16.2.3, “ Property Fields For The Model below.

Documentation

Standard tab. See Section 13.4, “ Documentation Tab.

Stereotype

Standard tab. This contains a a list of the stereotypes applied to this model, and a list of available stereotypes that may be applied to the model.

Tagged Values

Standard 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.

16.2.2.  Model Property Toolbar

Go up

Navigate up through the composition structure of the model.

Since the model is the top package nothing can happen, and this button is allways downlighted.

New Package

This creates a new Package (see Section 18.2, “ Package) within the model (which appears on no diagram), navigating immediately to the properties tab for that package.

[Tip]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.

New DataType

This creates a new DataType (see Section 16.3, “ Datatype) within the model (which appears on no diagram), navigating immediately to the properties tab for that DataType.

New Enumeration

This creates a new Enumeration (see Section 16.4, “ Enumeration) within the model (which appears on no diagram), navigating immediately to the properties tab for that Enumeration.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) within the model, navigating immediately to the properties tab for that stereotype.

Delete

This tool is always downlighted, since it is meaningless to delete the model!

16.2.3.  Property Fields For The Model

Name

Text box. The name of the model. The name of a model, like all packages, is by convention all lower case.

[Note]Note

The default name supplied to a new model by ArgoUML, untitledModel, is thus erroneous and guarantees that ArgoUML always starts up with at least one problem being reported by the design critics.

Stereotype

Drop 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 16.6, “ Stereotype).

Namespace

Text 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.

Visibility

Radio box, with entries public, private, protected, and package.

Records the visibility for the model. Since ArgoUML only permits one model, this has no meaningful use.

Modifiers

Check 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.

Generalizations

Text area. Lists any model that generalizes this model.

[Note]Note

Since there is only one model in ArgoUML there is no sensible specialization or generalization that could be created.

Specializations

Text box. Lists any specialized model (i.e. for which this model is a generalization.

[Note]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 model elements yields navigating to that model element.