The base use case does not depend on the behavior of the extension use case. An object that exists only during the execution of the process or thread that created it.
Changes to Adopted OMG Specifications
Architectural Alignment and MDA Support
How to Read this Specification
These concepts are organized into three parts: Part I - "Structure", Part II - "Behaviour" and Part III - "Addition". Although the chapters are organized in a logical manner and can be read sequentially, this is a reference specification intended to be read in a non-sequential manner.
Acknowledgements
The following individuals were part of the core team that designed and wrote this specification: Don Baisley, Morgan Björkander, Conrad Bock, Steve Cook, Philippe Desfray, Nathan Dykman, Anders Ek, David Frankel, Eran Gery, Øystein Haugen, Sridhar Iyengar, Cris Kobryn, Birger Møller-Pedersen, James Odell, Gunnar Övergaard, Karin Palmkvist, Guus Ramackers, Jim Rumbaugh, Bran Selic, Thomas Weigert and Larry Williams. In addition, the following individuals contributed valuable ideas and feedback that significantly improved the content and quality of this specification: Colin Atkinson, Ken Baclawski, Mariano Belaunde, Steve Brodsky, Roger Burkhart, Bruce Douglass, Karl Frank, William Frank, Sandy Friedenthal, Sébastien Gerard, Dwayne Hardy, Mario Jeckle, Larry Johnson, Allan Kennedy, Mitch Kokar, Thomas Kuehne, Michael Latta, Antoine Lonjon, Dave Mellor, Stephen Mellor, Joaquin Miller, Jeff Mischkinksky, Hiroshi Miyazaki, Jishnu Mukerji, Ileana Ober, Barbara Price , Tom Rutt, Kendall Scott, Oliver Sims, Cameron Skinner, Jeff Smith, Doug Tolbert and Ian Wilkie.
Structure
Overview
The kernel package represents the core modeling concepts in UML, including classes, associations, and packages. All other packages in InfrastructureLibrary::Core are implicitly merged through those that are explicitly merged.
Kernel – the Root Diagram
- Comment (from Kernel)
- DirectedRelationship (from Kernel)
- Element (from Kernel)
- Relationship (from Kernel)
An annotation does not add any semantics to the annotated elements, but can represent information useful to the reader of the model. The comments for an element do not add any semantics, but can represent information useful to the reader of the model.
Kernel – the Namespaces Diagram
- ElementImport (from Kernel)
- NamedElement (from Kernel, Dependencies) A named element is an element in a model that may have a name.A named element is an element in a model that may have a name
- Namespace (from Kernel)
- PackageableElement (from Kernel)
- PackageImport (from Kernel)
- VisibilityKind (from Kernel)
If an element input has an alias, it is used instead of the name of the input element. The name is used for identification of the named element within the namespace in which it is defined.
Kernel – the Multiplicities Diagram
- MultiplicityElement (from Kernel)
- Type (from Kernel)
- TypedElement (from Kernel)
5] The query upperBound() returns the upper bound of the multiplicity of a bounded multiplicity as an unbounded natural. If the multiplicity is attached to an element whose notation is a text string (such as an attribute, etc.), the multiplicity string will be enclosed in square brackets ([]) as part of that text string.
Kernel – the Expressions Diagram
- Expression (from Kernel)
- OpaqueExpression (from Kernel)
- LiteralBoolean (from Kernel)
- LiteralInteger (from Kernel)
- LiteralNull (from Kernel)
- LiteralSpecification (from Kernel)
- LiteralString (from Kernel)
- LiteralUnlimitedNatural (from Kernel)
- ValueSpecification (from Kernel)
If the language is not specified, it may be implicit from the body of the expression or the context. 6] The query isNull() returns true if the value can be calculated to be zero.
Kernel – the Constraints Diagram
- Constraint (from Kernel)
For an element whose record is a text string (such as an attribute, etc.), the constraint string may follow the element's text string in parentheses. A constraint string can be placed in a note symbol and attached to each of the constrained element symbols with a dashed line. For three or more paths of the same type (such as generalization paths or associative paths), the constraint can be attached to a dashed line crossing all paths.
Kernel – the Instances Diagram
- InstanceSpecification (from Kernel)
- Slot (from Kernel)
An instance specification specifies the existence of an entity in a modeled system and describes the entity in whole or in part. 1] The defining characteristic of each slot is a structural characteristic (direct or inherited) of a classifier from the instance specification. 2] One structural attribute (including the same attribute inherited from multiple classifiers) is the defining attribute of at most one slot in an instance specification.
Kernel – the Classifiers Diagram
- Classifier (from Kernel, Dependencies, PowerTypes)
- Generalization (from Kernel, PowerTypes)
- RedefinableElement (from Kernel)
An instance of a specific classifier is also an (indirect) instance of each of the general classifiers. Any restriction that applies to instances of the general classifier also applies to instances of the specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier.
Kernel – the Features Diagram
- BehavioralFeature (from Kernel)
- Feature (from Kernel)
- Parameter (from Kernel)
- ParameterDirectionKind (from Kernel)
- StructuralFeature (from Kernel)
A behavioral attribute is a characteristic of a classifier that specifies some aspect of the behavior of its instances. A structural feature is a typified feature of a classifier that specifies the structure of instances of the classifier. A resizable structural attribute is represented using {unrestricted} as part of the structural attribute notation.
Kernel – the Operations Diagram
- Operation (from Kernel)
An operation is called on an instance of the classifier for which the operation is a function. The postconditions for an operation define conditions that will be met when the operation's invocation completes successfully, assuming the preconditions are met. When an exception is made, it should not be assumed that the postconditions or bodyCondition of the operation are met.
Kernel – the Classes Diagram
- AggregationKind (from Kernel)
- Association (from Kernel)
- Class (from Kernel)
- Property (from Kernel, AssociationClasses)
When a property is owned by an association, it represents a non-navigable portion of the association. In this case, the property type is the association end type. When owned by an association through ownEnd, it represents a non-navigable end of the association.
Kernel – the DataTypes Diagram
- DataType (from Kernel)
- Enumeration (from Kernel)
- EnumerationLiteral (from Kernel)
- PrimitiveType (from Kernel)
A data type is a special kind of classifier, similar to a class, whose instances are values (not objects). An enumeration is a data type whose values are enumerated in the model as an enumeration literal. An EnumerationLiteral defines an element in the runtime extension of an enumeration data type.
Kernel – the Packages Diagram
- Package (from Kernel)
- PackageMerge (from Kernel)
A classifier from the target package (merged) is transformed into a classifier with the same name in the source package (merge), unless the source package already contains a classifier of the same type with the same name. In addition, the classifier in the source package gets generalizations to each transformed superclassifier of the classifier from the target package. Classifiers of the same kind with the same name from multiple target packages are transformed into a single classifier in the source package, with generalizations to each target classifier.
Dependencies
- Abstraction (from Dependencies)
- Classifier (from Dependencies)
- Dependency (from Dependencies)
- NamedElement (from Dependencies)
- Permission (from Dependencies)
- Realization (from Dependencies)
- Substitution (from Dependencies)
- Usage (from Dependencies)
A dependency denotes a vendor/client relationship between model elements where changing the vendor can affect the client model elements. A realization means that the client set of elements is an implementation of the provider set that acts as. In the meta-model, a Usage is a dependency where the customer requires the supplier's presence.
Interfaces
- BehavioredClassifier (from Interfaces)
- Interface (from Interfaces)
A classifier that implements an interface specifies instances that are consistent with the interface and any of its predecessors. An implementation relationship between a classifier and an interface means that the classifier supports the set of properties possessed by the interface and any of its parent interfaces. The implementation dependency of a classifier on an interface is shown by representing the interface with a circle or ball, labeled with the name of the interface, attached with a solid line to the classifier that implements this interface (see Figure 59).
AssociationClasses
An associated class is shown as a class symbol appended to the link path with a dashed line. The connection path and the association class symbol represent the same basic model element, which has a single name. Logically, the association class and the association are the same semantic entity; however, they are graphically distinct.
PowerTypes
- Classifier (from PowerTypes)
- Generalization (from PowerTypes)
The powertype mapping relates a classifier to the instances of that classifier—which are the specific classifiers identified for a generalization set. In reality, the subtypes of wood and the instances of tree species are the same objects. It can also be interpreted as: the subtypes of account are instances of account type.
Diagrams
In other words, unless you are programming in Smalltalk or CLOS, the designer must be aware of the integrity problem of keeping the list of energy type instances in sync with the existing subclasses. Or if a new subclass of Policy has been added, a new instance must also be added to the appropriate energy type. InstanceSpecification See “InstanceSpecification (from Kernel)” on page 57. Note that instances of any classifier can be displayed by prefixing the classifier name with the instance name, followed by a colon, and underlining the entire name string .
Overview
Abstract syntax
Class Descriptions
- Component
These interfaces may be implemented or realized by a component or any of its implementation classifiers, or may be types of its required ports. These interfaces may be used by the component or any of its implementation classifiers, or may be the types of its required ports. The external view of a component is by means of interface symbols that protrude from the component field (external view or black box view).
Order
Connector (from InternalStructures, as specialized)
An assembly connector is a connector that is defined by a required interface or port on a given interface or port. 2] If a delegation connector is defined between a used interface or port and an internal part classifier, then that classifier must have an "implements" relationship with the interface type of that port. 5] A mount connector should only be defined by a required interface or port on a given interface or port.
Realization (from Dependencies, as specialized)
It should be noted that for applications that require several different sets of realizations for a single component specification, a set of default stereotypes is defined in the UML Standard Profile. The following changes from UML 1.x have been made: Realization is defined in UML 1.4 as a 'stand-alone' general dependency - it is not extended to specifically include component realization.
Diagrams
Variations of structure diagrams often focus on particular structural aspects, such as relationships between packages, displaying instance specifications, or relationships between classes. There are no strict boundaries between different variations; it is possible to display any element you would normally display in a structure diagram in any variation.
Overview
Abstract syntax
Class Descriptions
- Class (from StructuredClasses, as specialized)
- Classifier (from Collaborations, as specialized)
- Collaboration (from Collaborations)
- CollaborationOccurrence (from Collaborations)
The properties of the classifier are mapped to the roles in cooperation with the role bindings of the cooperation occurrence. A collaboration occurrence denotes the set of roles and connectors that participate within a classifier with respect to a given collaboration, denoted by the collaboration occurrence type. This mapping shows which connecting element of a classifier or operation plays which role(s) in the collaboration.
Sale
A collaboration event is shown with a dashed ellipse containing the name of the event, a colon, and the name of the collaboration type. For each role binding, there is a dashed line from the ellipse to the client element; the dashed line is marked on the client side with the name of the supplier element. The BrokeredSale specification shows that it consists of two occurrences of the Sale participation, indicated by dashed ellipses.
BrokeredSale
EncapsulatedClassifier (from Ports)
InvocationAction (from Actions, as specialized)
Parameter (Collaboration, as specialized)
Port (from Ports)
The interaction point object must be an instance of a classifier that realizes the provided interfaces of the gateway. As long as the environment obeys the constraints expressed by the provided and required interfaces of the engine, the engine will function properly. The Car class connects port p of the engine to a set of wheels via the axle.
Property (from InternalStructures, as specialized)
An attribute that specifies an instance that is not owned by composition by the instance of the containing classifier is shown by graphical nesting of a box symbol with a dashed line. On the left, the property indicates that the containing instance will own four instances of the Wheel class by composition. The property on the right indicates that the containing instance will reference one or two instances of the Engine class.
Trigger (from InvocationActions, as specialized)
It describes the internal structure of the car it creates and how the four recorded instances of Wheel will be initialized. The left wheel instances are named and all wheel instances are displayed playing the games. Specifying one or more ports for an event means that the event will only trigger the execution of an associated behavior if the event is received on one of the specified ports.
Variable (from StructuredActivities, as specialized)
Diagrams
Additional graphical paths that can be included in composite structure diagrams are shown in Table 7. All graphical nodes and paths shown on composite structure diagrams can also appear on other structure diagrams.
Overview
Abstract syntax
Class Descriptions
- Artifact