Glossary

Aggregation
Describes how objects of one class in an association use the object(s) of the other class in the association. There are several types of aggregation:
none none
This is the default and can be used to represent unspecified or shared aggregation.
shared shared
Objects of the other class may also be associated with a different class. As a result the objects cannot be owned by the aggregating object since it cannot have sole control of their lifetimes. The lifetime of a shared object is oftentimes longer. Since this concept is not very different from the "none" case it is not supported to keep modeling simpler. An example is many "passengers" sharing the same "bus".
composite composite
The other class provides functionality through its objects that is somehow esssential to the aggregating object. The aggregating object usually owns the aggregate objects, meaning that the aggregate objects do not out live the aggregating object and are dependent on it. An example of composite aggregation is a "tree" composed of "branches", "trunk", etc.

See also: W

Association association icon
Two classes related through an association model container-parts type of relationships for objects of their respective classes. The container object may either share its parts objects with objects of other classes or not. When not shared the parts, or part, are usually more closely envolved in the makeup of the container object and are termed composite. Associations are shown using lines between the associated classes. The type of aggregation determines whether the ends are shown with diamond heads or not.

There are 3 parts to an association: the body and the 2 ends. Because the Modeler application is designed for modeling ojbect-oriented systems the ends are owned by the classes and not the association, as would be the case with database systems.

See also: User Guide, W

Association End
Associations are defined in a large part by their ends. The ends determine which classes are associated and have the following properties:
name
The optional name can be used to model navigability, i.e. whether or not the class owning an end can access the associated class: if a name is present it can, otherwise it cannot.
aggregation
Determines ownership of the related objects.
multiplicity
Specifies how many objects may participate.

The graphical display of the properties of an association end is somewhat confusing as it is split between the 2 graphical ends. The class of an associated object is connected at the the same graphical end, and the multiplicity is displayed there. Aggregation (i.e. the diamond) is depicted at the opposite end, i.e. nearest the owning class.

Attribute attribute
Attributes comprise the state of an object. Each attribute has one or more values, the number of which is determined by the attribute's multiplicity. The type of an attribute's value is either primitive (not shown in Modeler), or a class (or class reference) when the attribute is an association end. Attributes can be changed by a class's operations.
Class class
The fundamental building block of object-oriented modeling is the class. Classes are the type, or template, for objects. Objects encapsulate "state", the attributes, and "behavior", operations. Classes are shown in the class diagram. Classes define the types of the attributes and the meanings of the operations. Objects of one class can be modeled as related to objects of another class through associations and generalizations. In a well-balanced model all classes should have about the same amount of functionality.

See also: W

Class Diagram class diagram window icon
A class diagram provides the most fundamental picture of the model. It shows all of the model's classes and relationships. The diagram is automatically displayed in a dockable window when beginning to edit a model. Diagram information is securely stored in an XML file on the website.

See also: User Guide, W

Dependency dependency icon
This relationship type implies a transient connection between objects of the two classes. Objects of a class at the arrow end of a dependency are accessed only during execution of an operation by objects from the class at the straight end. References are not held across operations. Examples include consumer/producer and chain types of patterns where objects are created/processed and passed on.

See also: User Guide.

Explorer explorer window icon
Name given to the window that provides a tree-structured view of the model's semantics. All of a classes features are listed (unlike the class diagram).

See also: User Guide

Generalization generalization icon
Generalization is a powerful relationship concept. Examples of generalization include web page generalizes home page, server generalizes web server, tree generalizes oak tree, etc. In object-oriented systems objects of the specific class inherit the attributes and operations of the general class. In addition, the specific class may selectively override implementation of the general class's operations.

See also: User Guide.

"Has-a" Relationship
Synonym for an association because an object of the containing/owning class "has a" contained object.
Inheritance
Inheritance is the accruing of attributes and methods as the result of a generalization relationship. To the specific class is added all of the attributes and operations of the general class. In this way, (specific) classes may avoid duplicating shared state and behavior by placement in a common (general) class.

See also: W

"Is-a" Relationship
Synonym for a generalization relationship because the specific class "is a" general class.
Method
A general object-oriented term for an operation of a class. (UML uses "operation" regardless of context.)

See also: W

Model model icon
A model contains conceptual information about a system or subsystem. In the Modeler application a model consists of semantics and a class diagram.

See also: User Guide, W

Modeler
The web application for creating and editing models. The application downloads automatically when a user signs in. The application can be accessed via the link in the upper right-hand corner of many of the website pages (including this one).

See also: User Guide

Multiplicity
Specifies the minimum and maximum number of values an attribute of a class may have. The defaults are 0 and infinite "*".
Navigability
This is the characteristic of an association end that determines whether the class that owns it can access the other class in the association. In the Modeler application navigability can be specified by naming the attribute of the association end.
Object
An object is an instance of a class. The attributes defined by a class (and the class's generalizations) become the state of the object. For example, an int attribute "width" is instantiated as an actual number, like 80, and is referenced in operations by the attribute name, "width". Objects are identified by pointer, handle, or name depending on where it is allocated and the system implementation.

See also: W

Object-Oriented
A general term referring to modeling, programming languages and systems that provide the constructs of objects and classes where state and behavior are encapsulated by the operations defined by classes for their objects. By contrast, database modeling has "rows" which are similar to objects because a "column" is like an attribute. However, there are no operations, and indices, unlike relationships, are independently accessible.

See also: W

Operation operation
An operation of a class is also known as a method ("operation" is used by UML). An operation provides instructions for altering the state of an object instance of the class. By restricting state modification to class operations the state and behavior of an object is encapsulated by the set of operations of the class. Encapsulation makes reasoning about an object's behavior simpler.
Registration
In order to use the modeling capabilities of this website users must first register and then sign in.

See also: User Guide

Relationship
Relationship is the general term for the different kinds of relationships between classes and, by extension, between their objects. Modeler supports associations, generalizations, and dependencies.
Sign In
Signing in creates a secure session and redirects to the Modeler application for model editing. The name and password given at registration must be used to sign in. You can sign in using the Modeler link in the upper right-hand corner of these web pages.

See also: User Guide

Semantics
The semantics are the complete description of the model, listing the classes, the class contents, and all relationships between the classes. It is shown in detail in the Explorer window tree and many, but not all, elements of the model are illustrated in the Class Diagram. The semantics is securely stored in XMI format on the website. It can be directly viewed in a text window when editing.
Unified Modeling Language (UML)
One of the modeling language standards developed by the Object Management Group (OMG). The standard incorporates a specific "meta-model" (MDA), serialization format (XMI), and complete specification including graphical diagram prescriptions.

See also: OMG's UML introduction.

XML Metadata Interchange (XMI) xml
A XML schema for serializing UML semantics data. The OMG specification is based on a "metadata" model W. (The XMI specification is very complicated and there are many different versions of it and different versions of the UML spec itself, resulting in many incompatible versions of XMI used by UML tool vendors. Modeler uses a version with its own schema.)

Se also: User Guide