Contents > A: Metamodels > A.2 Metamodel for UML 2.x

A.2 Metamodel for UML 2.x

As with the UML1.x metamodel, we first describe the default attributes defined by the "sdmetricsbase" model element.

AttributeTypeMulti.Description
contextrefone Owner of the element in the UML model.
iddataone Unique identifier of the model element.
namedataone Name of the element in UML model.
commentsrefmany The comments for the model element.
Table 8: Default attributes for the UML2.x metamodel

Table 9 lists all elements of the UML2.x metamodel, and the attributes they define in addition to those inherited from the parent.

Model ElementAttributeTypeMulti.Description
class visibilitydataone Visibility of the element (public, protected, package, private).
abstractdataone Boolean indicating if the element is abstract.
leafdataone Boolean indicating if the element can have specializations.
ownedattributesrefmany The attributes of the element.
ownedoperationsrefmany The operations of the element.
nestedclassifiersrefmany The nested classifiers of the element.
generalizationsrefmany The generalizations owned by the element.
interfacerealizationsrefmany The interface realizations owned by the element.
connectorsrefmany The connectors owned by the element.
interface ownedattributesrefmany The attributes of the interface.
ownedoperationsrefmany The operations of the interface.
nestedclassifiersrefmany The nested classifiers of the interface.
generalizationsrefmany The generalizations owned by the interface.
datatype ownedattributesrefmany The attributes of the element.
ownedoperationsrefmany The operations of the element.
generalizationsrefmany The generalizations owned by the element.
enumeration
(extends datatype)
ownedliteralsrefmany The literals of the enumeration.
enumerationliteral---------
primitivetype
(extends datatype)
---------
connector endsrefmany The connector ends of the connector.
connectorend rolerefone The element that is attached at this connector end.
property visibilitydataone Visibility of the feature (public, private, protected, package).
propertytyperefone Reference to the feature type (class, data type etc).
isreadonlydataone Changeability of the feature. Values: true, false (default if not specified).
associationrefone Reference to association if this is an association end.
aggregationdataone The aggregation kind of the property: shared, composite, or none (default).
qualifiersrefmany The qualifier attributes of the property.
port
(extends property)
---------
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.
ownedparametersrefmany The parameters of the operation.
parameter kinddataone The direction of the parameter: in (default), out, inout, return.
parametertyperefone Reference to the parameter type (class, data type etc).
method---------
package ownedmembersrefmany The owned member elements.
model
(extends package)
---------
association memberendsrefmany The member ends of the association.
ownedendsrefmany The owned ends of the association (not navigable association ends).
generalizationsrefmany The generalizations owned by the association.
associationclass
(extends association)
---------
generalization generalrefone Link to the parent in the generalization.
interfacerealization contractrefone Link to the realized interface.
dependency supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
abstraction
(extends dependency)
---------
realization
(extends abstraction)
---------
substitution
(extends realization)
---------
usage
(extends dependency)
---------
collaboration
(extends class)
ownedbehaviorsrefmany Behavior specifications owned by the collaboration.
interaction
(extends class)
lifelinesrefmany The lifelines involved in the interaction.
messagesrefmany The messages sent within the interaction.
fragmentsrefmany The message occurrence specifications and combined fragments of the interaction.
instancespecification classifierrefmany Links to the classifiers that this entity is an instance of.
deploymentsrefmany The deployments where this instance specification is the target.
lifeline representsrefone The interaction participant that this lifeline represents.
message receiveeventrefone Occurrence specification for the message reception.
sendeventrefone Occurrence specification for the message sending.
sortdataone The sort of communication (synchCall, asynchCall, asynchSignal, etc.).
occurrencespec coveredrefone The lifeline on which this occurrence specification appears.
kinddataone The type of this occurrence specification (execution, message, destruction) (since UML2.4).
eventrefone The occurring event (up to UML2.3).
combinedfragment operatordataone The interaction operator (alt, loop, break, opt, par, ref, etc.)
coveredrefmany The lifelines covered by this combined fragment.
operandsrefmany The interaction operands of this combined fragment.
interactionoperand fragmentsrefmany The message occurrence specifications and combined fragments of the interaction operand.
actor
(extends class)
---------
usecase
(extends class)
includesrefmany The include relationships owned by the use case.
extendsrefmany The extend relationships owned by the use case.
extensionpointsrefmany The extension points owned by the use case.
extensionpoint---------
usecaseextend extendedcaserefone The use case that is extended.
usecaseextensionpointrefone The extension point in the extended use case.
usecaseinclude usecaseadditionrefone The included use case.
statemachine regionsrefmany The top-level regions owned by the state machine.
isprotocoldataone Boolean indicating if this is a protocol state machine
connectionpointsrefmany The connection points of the state machine.
region subverticesrefmany The states contained in the region.
transitionsrefmany The transitions contained in the region.
state kinddataone The kind of state: '' (empty), final, initial, deepHistory, shallowHistory, join, fork, choice, junction, entryPoint, exitPoint, terminate.
regionsrefmany The regions of the composite or concurrent state.
entryrefmany The entry activities of the state.
exitrefmany The exit activities of the state.
doactivityrefmany The do-activities of the state.
connectionpointsrefmany The connection points of the state.
transition kinddataone The kind of transition: external, internal, or local.
isprotocoldataone Boolean indicating if this is a protocol transition.
transsourcerefone The source state of the transition.
transtargetrefone The target state of the transition.
triggersrefmany The triggers that may fire the transition.
guardrefone The guard of the transition.
effectrefone The activity to be performed when the transition fires.
constraint---------
trigger eventrefone The event causing the trigger.
event kinddataone The kind of event (signal, call, change, time, anyreceive).
linkedeventelementrefone The element (signal, operation, boolean expression, or deadline) that raised the event, if any.
activity nodesrefmany The action, control, and object nodes of the activity.
edgesrefmany The control and object flows of the activity.
groupsrefmany The groups of the activity.
activitygroup edgesrefmany The contained edges of the group.
nodesrefmany The contained nodes of the group.
groupsrefmany The subgroups of the group.
handlersrefmany The exception handlers of the structured node group.
pinsrefmany Pins owned by the activity group.
kinddataone The kind of group: partition, interruptible, expansion, structured, conditional, loop, sequence.
action kinddataone The kind of action: send, return, create, etc (there are many).
inputsrefmany The input pins of the action.
outputsrefmany The output pins of the action.
handlersrefmany The exception handlers owned by the action.
controlnode kinddataone The kind of control node: initial, activityfinal, flowfinal, fork, join, merge, or decision.
objectnode kinddataone The kind of object node: centralbuffer, datastore, activityparameter, or expansion.
pin kinddataone The kind of pin (input, output, value, actioninput).
typerefone The type of the pin.
controlflow sourcerefone Source of the control flow.
targetrefone Target of the control flow.
guardrefone Guard of the control flow.
objectflow sourcerefone Source of the object flow.
targetrefone Target of the object flow.
guardrefone Guard of the control flow.
signal---------
exceptionhandler handlerbodyrefone The node that handles the exception.
exceptioninputrefone The input node of the handler body that received the exception token.
reception signalrefone Signal handled by this reception.
expression---------
opaqueexpression---------
instancevalue---------
literalboolean---------
literalinteger---------
literalreal---------
literalstring---------
literalunlimitednatural---------
literalnull---------
component
(extends class)
realizationsrefmany The realizations owned by the component.
membersrefmany Other members owned by the component.
node
(extends class)
nestednodesrefmany The subnodes located on the node.
deploymentsrefmany The deployment links owned by the node (=deployment location).
kinddataone The type of node (regular, executionenvironment, device)
artifact
(extends class)
nestedartifactsrefmany The artifacts that are defined (nested) within the artifact.
manifestationsrefmany The manifestation links to the model elements that are manifested in the artifact.
deploymentspec
(extends artifact)
---------
deployment
(extends dependency)
configurationsrefmany The deployment specifications that parameterize the deployment.
manifestation
(extends abstraction)
---------
stereotype---------
comment bodydataone The comment text.
diagram typedataone The type of diagram (class diagram, sequence diagram, etc).
diagramelement elementrefone The element that is shown on the diagram.
Table 9: SDMetrics metamodel elements and attributes for UML2.x models