Contents > A: Metamodels > A.2 Metamodel for UML 2.0/2.1

A.2 Metamodel for UML 2.0/2.1

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.0/2.1 metamodel

Table 9 lists all elements of the UML2.0/2.1 metamodel, and their attributes in addition to those in Table 8.

Model ElementAttributeTypeMulti.Description
abstraction supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
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.
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.
actor 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.
ownedportsrefmany The ports 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.
artifact 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.
ownedportsrefmany The ports 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.
nestedartifactsrefmany The artifacts that are defined (nested) within the artifact.
manifestationsrefmany The manifestation links to the model elements that are manifested in the artifact.
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 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.
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.
ownedportsrefmany The ports 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.
collaboration 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.
ownedportsrefmany The ports 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.
ownedbehaviorsrefmany Behavior specifications owned by the collaboration.
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.
comment bodydataone The comment text.
component 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.
ownedportsrefmany The ports 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.
realizationsrefmany The realizations owned by the component.
membersrefmany Other members owned by the component.
connector endsrefmany The connector ends of the connector.
connectorend rolerefone The element that is attached at this connector end.
constraint---------
controlflow sourcerefone Source of the control flow.
targetrefone Target of the control flow.
guardrefone Guard of the control flow.
controlnode kinddataone The kind of control node: initial, activityfinal, flowfinal, fork, join, merge, or decision.
datatype ownedattributesrefmany The attributes of the element.
ownedoperationsrefmany The operations of the element.
generalizationsrefmany The generalizations owned by the element.
dependency supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
deployment supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
configurationsrefmany The deployment specifications that parameterize the deployment.
deploymentspec 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.
ownedportsrefmany The ports 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.
nestedartifactsrefmany The artifacts that are defined (nested) within the artifact.
manifestationsrefmany The manifestation links to the model elements that are manifested in the artifact.
diagram typedataone The type of diagram (class diagram, sequence diagram, etc).
diagramelement elementrefone The element that is shown on the diagram.
enumeration ownedattributesrefmany The attributes of the element.
ownedoperationsrefmany The operations of the element.
generalizationsrefmany The generalizations owned by the element.
ownedliteralsrefmany The literals of the enumeration.
enumerationliteral---------
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.
exceptionhandler handlerbodyrefone The node that handles the exception.
exceptioninputrefone The input node of the handler body that received the exception token.
expression---------
extensionpoint---------
generalization generalrefone Link to the parent in the generalization.
instancespecification classifierrefmany Links to the classifiers that this entity is an instance of.
deploymentsrefmany The deployments where this instance specification is the target.
instancevalue---------
interaction 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.
ownedportsrefmany The ports 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.
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.
interactionoperand fragmentsrefmany The message occurrence specifications and combined fragments of the interaction operand.
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.
interfacerealization contractrefone Link to the realized interface.
lifeline representsrefone The interaction participant that this lifeline represents.
literalboolean---------
literalinteger---------
literalnull---------
literalstring---------
literalunlimitednatural---------
manifestation supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
message receiveeventrefone Occurrence specification for the message reception.
sendeventrefone Occurrence specification for the message sending.
sortdataone The sort of communication (synchCall, asynchCall, asynchSignal).
method---------
model ownedmembersrefmany The owned member elements.
node 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.
ownedportsrefmany The ports 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.
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)
objectflow sourcerefone Source of the object flow.
targetrefone Target of the object flow.
guardrefone Guard of the control flow.
objectnode kinddataone The kind of object node: centralbuffer, datastore, activityparameter, or expansion.
occurrencespec coveredrefone The lifeline on which this occurrence specification appears.
eventrefone The occurring event.
opaqueexpression---------
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.
package ownedmembersrefmany The owned member elements.
parameter kinddataone The direction of the parameter: in (default), out, inout, return.
parametertyperefone Reference to the parameter type (class, data type etc).
pin kinddataone The kind of pin (input, output, value, actioninput).
typerefone The type of the pin.
port typerefone Reference to the type of the port.
primitivetype ownedattributesrefmany The attributes of the element.
ownedoperationsrefmany The operations of the element.
generalizationsrefmany The generalizations owned by the element.
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.
realization supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
region subverticesrefmany The states contained in the region.
transitionsrefmany The transitions contained in the region.
signal---------
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.
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.
stereotype---------
substitution supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
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.
trigger eventrefone The event causing the trigger.
usage supplierrefmany Links to the supplier elements of the relationship.
clientrefmany Links to the client elements of the relationship.
usecase 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.
ownedportsrefmany The ports 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.
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.
usecaseextend extendedcaserefone The use case that is extended.
usecaseextensionpointrefone The extension point in the extended use case.
usecaseinclude usecaseadditionrefone The included use case.
Table 9: SDMetrics metamodel elements and attributes for UML2.0/2.1 models