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

- This is the default and can be used to represent unspecified or shared aggregation.
- 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

- 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.
- none
- Association

- 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,

- 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

- 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

- 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.
- Class Diagram
- 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,

- Dependency

- 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

- 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 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.
- "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.)
- Model

- 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,

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

- A XML schema for serializing UML semantics data.
The OMG specification
is based on a "metadata" model
.
(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
