Model Element Types
In Microsoft Visual Studio Ultimate, you can read and manipulate a UML model through a programming interface. This topic summarizes the hierarchy of element types. The hierarchy is the same as that defined in the UML specification.
The details of each type are provided in API Reference for UML Modeling Extensibility.
Element types
This is the set of types defined in the assembly Microsoft.VisualStudio.Uml.Interfaces.dll.
The fully qualified name of each item is "Microsoft.VisualStudio.Uml." followed by the name listed.
For convenience, this list is set out as an inheritance hierarchy. Where a type has more than one supertype, additional supertypes are listed after a colon (:).
Classes.IElement
| Activities.IActivityGroup
| Classes.IComment
| Classes.IMultiplicityElement
| | CompositeStructures.IConnectorEnd
| Classes.INamedElement
| | Deployments.IDeployedArtifact
| | Deployments.IDeploymentTarget
| | | Classes.IInstanceSpecification
: Deployments.IDeployedArtifact,
Deployments.IDeploymentTarget
| | | | Classes.IEnumerationLiteral
| | Interactions.IInteractionFragment
| | | Interactions.ICombinedFragment
| | | | Interactions.IConsiderIgnoreFragment
| | | Interactions.IExecutionSpecification
| | | | Interactions.IActionExecutionSpecification
| | | | Interactions.IBehaviorExecutionSpecification
| | | Interactions.IInteraction : CommonBehaviors.IBehavior
| | | Interactions.IInteractionOperand : Classes.INamespace
| | | Interactions.IInteractionUse
| | | Interactions.IOccurrenceSpecification
| | | | Interactions.IExecutionOccurrenceSpecification
| | | | Interactions.IMessageOccurrenceSpecification
: Interactions.IMessageEnd
| | | | | Interactions.ILostFoundTarget
| | | | Interactions.IOperandOccurrenceSpecification
| | | Interactions.IStateInvariant
| | Interactions.ILifeline
| | Interactions.IMessage
| | Interactions.IMessageEnd
| | Classes.INamespace
| | | Classes.IPackage
: Classes.IPackageableElement,
AuxiliaryConstructs.ITemplateableElement
| | | | AuxiliaryConstructs.IModel
| | | Activities.IState
| | Classes.IPackageableElement
: AuxiliaryConstructs.IParameterableElement
| | | Classes.IConstraint
| | | | Interactions.IInteractionConstraint
| | | CommonBehaviors.IEvent
| | | | Interactions.IExecutionEvent
| | | | CommonBehaviors.IMessageEvent
| | | | | CommonBehaviors.ICallEvent
| | | | | Interactions.IReceiveOperationEvent
| | | | | Interactions.IReceiveSignalEvent
| | | | | Interactions.ISendOperationEvent
| | | | | Interactions.ISendSignalEvent
| | | Classes.IType
| | | | Classes.IClassifier : Classes.INamespace, Classes.IRedefinableElement, AuxiliaryConstructs.ITemplateableElement
| | | | | Deployments.IArtifact
: Deployments.IDeployedArtifact
| | | | | | Deployments.IDeploymentSpecification
| | | | | CommonBehaviors.IBehavioredClassifier
| | | | | | UseCases.IActor
| | | | | | Classes.IClass
: CompositeStructures.IEncapsulatedClassifier
| | | | | | | CommonBehaviors.IBehavior
| | | | | | | | Activities.IActivity
| | | | | | | Components.IComponent
| | | | | | | | UseCases.ISubsystem
| | | | | | | Deployments.INode : IDeploymentTarget
| | | | | | | | Deployments.IDevice
| | | | | | | | Deployments.IExecutionEnvironment
| | | | | | UseCases.IUseCase
| | | | | Classes.IDataType
| | | | | | Classes.IEnumeration
| | | | | | Classes.IPrimitiveType
| | | | | Classes.IInterface
| | | | | CompositeStructures.IStructuredClassifier
| | | | | | CompositeStructures.IEncapsulatedClassifier
| | | Classes.IValueSpecification : Classes.ITypedElement
| | | | Classes.IExpression
| | | | Classes.IInstanceValue
| | | | Classes.ILiteralSpecification
| | | | | Classes.ILiteralBoolean
| | | | | Classes.ILiteralInteger
| | | | | Classes.ILiteralNull
| | | | | Classes.ILiteralString
| | | | | Classes.ILiteralUnlimitedNatural
| | | | Classes.IOpaqueExpression
| | Classes.IRedefinableElement
| | | Activities.IActivityNode
| | | | Activities.IControlNode
| | | | | Activities.IDecisionNode
| | | | | Activities.IFinalNode
| | | | | | Activities.IActivityFinalNode
| | | | | Activities.IForkNode
| | | | | Activities.IInitialNode
| | | | | Activities.IJoinNode
| | | | | Activities.IMergeNode
| | | | Activities.IExecutableNode
| | | | | Actions.IAction
| | | | | | Actions.IAcceptEventAction
| | | | | | Actions.ICreateObjectAction
| | | | | | Actions.IInvocationAction
| | | | | | | Actions.ICallAction
| | | | | | | | Actions.ICallBehaviorAction
| | | | | | | | Actions.ICallOperationAction
| | | | | | | Actions.ISendSignalAction
| | | | | | Actions.IOpaqueAction
| | | | Activities.IObjectNode : Classes.ITypedElement
| | | | | Activities.IActivityParameterNode
| | | | | Actions.IPin : Classes.IMultiplicityElement
| | | | | | Actions.IInputPin
| | | | | | Actions.IOutputPin
| | | UseCases.IExtensionPoint
| | | Classes.IFeature
| | | | Classes.IBehavioralFeature : Classes.INamespace
| | | | | Classes.IOperation
: AuxiliaryConstructs.ITemplateableElement,
AuxiliaryConstructs.IParameterableElement
| | | | Classes.IStructuralFeature
: Classes.IMultiplicityElement,
Classes.ITypedElement
| | | | | Classes.IProperty
: AuxiliaryConstructs.ITemplateableElement,
CompositeStructures.IConnectableElement,
Deployments.IDeploymentTarget
| | | | | | CompositeStructures.IPort
| | Classes.ITypedElement
| | | CompositeStructures.IConnectableElement
: AuxiliaryConstructs.IParameterableElement
| | | Classes.IParameter : Classes.IMultiplicityElement, CompositeStructures.IConnectableElement
| AuxiliaryConstructs.IParameterableElement
| Classes.IProfileInstance
| Classes.IRelationship
| | Activities.IActivityEdge : Classes.IRedefinableElement
| | | Activities.IControlFlow
| | | Activities.IObjectFlow
| | Classes.IAssociation : IClassifier
| | | Deployments.ICommunicationPath
| | CompositeStructures.IConnector
| | Classes.IDirectedRelationship
| | | Classes.IDependency : Classes.IPackageableElement
| | | | Classes.IAbstraction
| | | | | Deployments.IManifestation
| | | | | Classes.IRealization
| | | | | | Classes.IInterfaceRealization
| | | | Deployments.IDeployment
| | | | Classes.IUsage
| | | UseCases.IExtend : Classes.INamedElement
| | | Classes.IGeneralization
| | | UseCases.IInclude : Classes.INamedElement
| | | Classes.IPackageImport
| | | AuxiliaryConstructs.ITemplateBinding
| Classes.IStereotypeInstance
| Classes.IStereotypePropertyInstance
| AuxiliaryConstructs.ITemplateableElement
| AuxiliaryConstructs.ITemplateParameter
| | AuxiliaryConstructs.IClassifierTemplateParameter
| | AuxiliaryConstructs.IOperationTemplateParameter
| AuxiliaryConstructs.ITemplateParameterSubstitution
| AuxiliaryConstructs.ITemplateSignature
| | AuxiliaryConstructs.IRedefinableTemplateSignature
: Classes.IRedefinableElement
See Also
Concepts
How to: Define a Profile to Extend UML
How to: Define Validation Constraints for UML Models