Contents > A: Metamodels > A.1 Metamodel for UML 1.3/1.4

A.1 Metamodel for UML 1.3/1.4

All metamodel elements inherit by default from a special metamodel element "sdmetricsbase", which defines, amongst others, the attributes "id", "name", and "context" that all model elements must possess (see Section 7.1 "SDMetrics Metamodel"). Table 6 shows these default attributes.

Column "Attributes" provides the name of the attributes, column "Type" indicates if the attribute is a data or cross-reference attribute, column "Mult." indicates the multiplicity of the attribute ("one" for single-valued, "many" for multi-valued attributes).

contextrefone Owner of the element in the UML model.
iddataone Unique identifier of the model element.
namedataone Name of the element in UML model.
stereotypesrefmany The stereotypes of the model element.
Table 6: Default attributes for the UML1.x metamodel

In Table 7, column "Model Element" lists all elements of the UML1.4 metamodel. The remaining columns provide the details about all further attributes the metamodel elements define in addition to the inherited attributes.

Model ElementAttributeTypeMulti.Description
class visibilitydataone Visibility of the class (public, private, protected, package).
abstractdataone Boolean indicating if class is abstract.
leafdataone Boolean indicating if a class must not have subclasses.
attribute visibilitydataone Visibility of the attribute (public, private, protected, package).
attributetyperefone Reference to the attribute type (class, data type etc).
changeabilitydataone Changeability of the attribute (changeable or none, frozen, addOnly).
operation visibilitydataone Visibility of the operation (public, private, protected, package).
abstractdataone Boolean indicating if operation is abstract.
isquerydataone Boolean indicating if operation is a query that does not change the classifier's state.
parameter kinddataone The kind of parameter (in, out, inout, return).
parametertyperefone Reference to the parameter type (class, data type etc).
associationend navigabledataone Boolean indicating if the association end is navigable.
aggregationdataone Indicates if the association end is an aggregation or composite.
associationendtyperefone A link to the element attached to the association end.
generalization genchildrefone Link to the child in the generalization.
genparentrefone Link to the parent in the generalization.
abstraction abssupplierrefone Link to the interface.
absclientrefone Link to the element implementing the interface
dependency depsupplierrefone Link to the supplier of the dependency.
depclientrefone Link to the client of the dependency.
usage depsupplierrefone Link to the supplier of the usage.
depclientrefone Link to the client of the usage.
object objtyperefone Link to the element of which this object is an instance.
stimulus stimsenderrefone Sender of the stimulus.
stimreceiverrefone Receiver of the stimulus.
stimactionrefone The action that the stimulus dispatches.
linkend linkendtyperefone The element that is attached to the link end.
classifierrole classifierbaserefone The classifier which the classifier role is a view of.
message messagesenderrefone The sender of the message.
messagereceiverrefone The receiver of the message.
messageactionrefone The action that the message dispatches.
state entryactionrefmany The entry actions of the state.
exitactionrefmany The exit actions of the state.
doactivityrefmany The do actions of the state.
internaltransrefmany The internal transitions of the state.
kinddataone The kind of state (simple, composite, submachine, stub, synch, final; initial, deepHistory, shallowHistory, join, fork, choice or branch, junction; action, objectflow, call, subactivity).
isconcurrentdataone Indicates if a composite state is concurrent.
transition transsourcerefone The source state of the transition.
transtargetrefone The target state of the transition.
triggerrefone The event that triggers the transition.
event kinddataone The kind of event (signal, call, change, time).
linkedeventelementrefone The element (signal, operation, boolean expression, or deadline) that raised the event.
action kinddataone The kind of action (send, return, create, destroy, call, terminate, uninterpreted).
linkedactionelementrefone Depending on the kind of action, the operation or signal that is invoked when the action is executed, or the classifier of which an instance is created.
partition contentsrefmany The elements contained in the swimlane.
usecaseextend usecaseextbaserefone The use case that is extended.
usecaseextensionrefone The use case that is the extension.
usecaseextensionpointrefone The extension point in the extended use case.
usecaseinclude usecaseincbaserefone The including use case.
usecaseadditionrefone The included use case.
component deploymentlocationrefone The node on which the component is deployed.
componentinstance componenttyperefone The component that is instantiated.
nodeinstance nodetyperefone The node that is instantiated.
stereotype extendedelementsrefmany The set of elements that the stereotype extends.
taggedvalue tagdataone The tag of the tagged value (up to UML 1.3)
definitionrefone Definition of the tagged value (since UML 1.4)
valuedataone The value of the tagged value.
tagdefinition tagtypedataone The tag name of a tagged value's tag.
diagram typedataone The type of diagram (class diagram, sequence diagram, etc).
diagramelement elementrefone The element that is shown on the diagram.
Table 7: SDMetrics metamodel elements and attributes for UML1.x models