Browsable UML2 Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: uml/uml2/extracted
Source used for this grammar: Julien Baudry, UML2 1.0, UML2.ecore, 2006/05/21

Summary

Syntax

Boolean ::=
	"true"
	"false"
Integer ::=
	integer
String ::=
	string
Element ::=
	MultiplicityElement
Element ::=
	Relationship
Element ::=
	Slot
Element ::=
	ActivityGroup
Element ::=
	Clause
Element ::=
	TemplateSignature
Element ::=
	TemplateParameter
Element ::=
	TemplateableElement
Element ::=
	ParameterableElement
Element ::=
	TemplateParameterSubstitution
Element ::=
	ExceptionHandler
Element ::=
	LinkEndData
Element ::=
	QualifierValue
MultiplicityElement ::=
	ConnectorEnd
MultiplicityElement ::=
	Pin
NamedElement ::=
	Namespace
NamedElement ::=
	TypedElement
NamedElement ::=
	RedefinableElement
NamedElement ::=
	CollaborationOccurrence
NamedElement ::=
	Trigger
NamedElement ::=
	InteractionFragment
NamedElement ::=
	Lifeline
NamedElement ::=
	Message
NamedElement ::=
	GeneralOrdering
NamedElement ::=
	MessageEnd
NamedElement ::=
	Vertex
NamedElement ::=
	ParameterSet
NamedElement ::=
	DeployedArtifact
NamedElement ::=
	DeploymentTarget
NamedElement ::=
	PackageableElement
NamedElement ::=
	ConnectableElement
NamedElement ::=
	Extend
NamedElement ::=
	Include
NamedElement ::=
	ActivityPartition
Namespace ::=
	Package
Namespace ::=
	Classifier
Namespace ::=
	BehavioralFeature
Namespace ::=
	InteractionOperand
Namespace ::=
	Region
Namespace ::=
	State
OpaqueExpression ::=
	Expression
OpaqueExpression ::=
	[body]::String [language]::String [result]::Parameter [behavior]::Behavior
ValueSpecification ::=
	OpaqueExpression
ValueSpecification ::=
	LiteralSpecification
ValueSpecification ::=
	InstanceValue
ValueSpecification ::=
	TimeExpression
ValueSpecification ::=
	Duration
ValueSpecification ::=
	Interval
Expression ::=
	[symbol]::String [operand]::ValueSpecification+
Comment ::=
	[body]::String [annotatedElement]::Element+ [bodyExpression]::StringExpression
DirectedRelationship ::=
	Generalization
DirectedRelationship ::=
	ElementImport
DirectedRelationship ::=
	PackageImport
DirectedRelationship ::=
	PackageMerge
DirectedRelationship ::=
	TemplateBinding
DirectedRelationship ::=
	ProtocolConformance
DirectedRelationship ::=
	Dependency
DirectedRelationship ::=
	InformationFlow
DirectedRelationship ::=
	Extend
DirectedRelationship ::=
	Include
Relationship ::=
	DirectedRelationship
Relationship ::=
	Association
Class ::=
	Stereotype
Class ::=
	Behavior
Class ::=
	Component
Class ::=
	AssociationClass
Class ::=
	Node
Class ::=
	[ownedOperation]::Operation+ [superClass]::Class+ [extension]::Extension+ [nestedClassifier]::Classifier+ [isActive]::Boolean [ownedReception]::Reception+
Property ::=
	ExtensionEnd
Property ::=
	Port
Property ::=
	[default]::String [isComposite]::Boolean [isDerived]::Boolean [class_]::Class [opposite]::Property [isDerivedUnion]::Boolean [owningAssociation]::Association [redefinedProperty]::Property+ [subsettedProperty]::Property+ [datatype]::DataType [association]::Association [aggregation]::AggregationKind [defaultValue]::ValueSpecification [qualifier]::Property+ [associationEnd]::Property
Operation ::=
	[ownedParameter]::Parameter+ [class_]::Class [isQuery]::Boolean [datatype]::DataType [precondition]::Constraint+ [postcondition]::Constraint+ [redefinedOperation]::Operation+ [bodyCondition]::Constraint
TypedElement ::=
	ValueSpecification
TypedElement ::=
	ObjectNode
Parameter ::=
	[operation]::Operation [default]::String [direction]::ParameterDirectionKind [defaultValue]::ValueSpecification [isException]::Boolean [isStream]::Boolean [effect]::ParameterEffectKind [parameterSet]::ParameterSet+
Package ::=
	Profile
Package ::=
	Model
Package ::=
	[nestedPackage]::Package+ [nestingPackage]::Package [ownedType]::Type+ [ownedMember]::PackageableElement+ [packageMerge]::PackageMerge+ [appliedProfile]::ProfileApplication+ [packageExtension]::PackageMerge+
Enumeration ::=
	[ownedLiteral]::EnumerationLiteral+
DataType ::=
	Enumeration
DataType ::=
	PrimitiveType
DataType ::=
	[ownedAttribute]::Property+ [ownedOperation]::Operation+
EnumerationLiteral ::=
	[enumeration]::Enumeration
PrimitiveType ::=
	[ownedAttribute]::Property+ [ownedOperation]::Operation+
Classifier ::=
	DataType
Classifier ::=
	BehavioredClassifier
Classifier ::=
	InformationItem
Classifier ::=
	StructuredClassifier
Classifier ::=
	Interface
Classifier ::=
	Actor
Classifier ::=
	Signal
Classifier ::=
	ParameterableClassifier
Classifier ::=
	TemplateableClassifier
Classifier ::=
	Association
Classifier ::=
	Artifact
Feature ::=
	Connector
Feature ::=
	StructuralFeature
Feature ::=
	BehavioralFeature
Constraint ::=
	InteractionConstraint
Constraint ::=
	IntervalConstraint
Constraint ::=
	[context]::Namespace [namespace]::Namespace [specification]::ValueSpecification [constrainedElement]::Element+
VisibilityKind ::=
	[package]::ε
	[private]::ε
	[protected]::ε
	[public]::ε
LiteralBoolean ::=
	[value]::Boolean
LiteralSpecification ::=
	LiteralBoolean
LiteralSpecification ::=
	LiteralString
LiteralSpecification ::=
	LiteralNull
LiteralSpecification ::=
	LiteralInteger
LiteralSpecification ::=
	LiteralUnlimitedNatural
LiteralString ::=
	[value]::String
LiteralNull ::=
	ε
LiteralInteger ::=
	[value]::Integer
LiteralUnlimitedNatural ::=
	[value]::UnlimitedNatural
BehavioralFeature ::=
	Reception
BehavioralFeature ::=
	Operation
StructuralFeature ::=
	Property
InstanceSpecification ::=
	EnumerationLiteral
InstanceSpecification ::=
	[slot]::Slot+ [classifier]::Classifier+ [specification]::ValueSpecification
Slot ::=
	[owningInstance]::InstanceSpecification [value]::ValueSpecification+ [definingFeature]::StructuralFeature
InstanceValue ::=
	[instance]::InstanceSpecification
RedefinableElement ::=
	Feature
RedefinableElement ::=
	ActivityEdge
RedefinableElement ::=
	ActivityNode
RedefinableElement ::=
	ExtensionPoint
RedefinableElement ::=
	Transition
RedefinableElement ::=
	RedefinableTemplateSignature
RedefinableElement ::=
	Region
Generalization ::=
	[specific]::Classifier [general]::Classifier [isSubstitutable]::Boolean [generalizationSet]::GeneralizationSet+
PackageableElement ::=
	Type
PackageableElement ::=
	Constraint
PackageableElement ::=
	GeneralizationSet
PackageableElement ::=
	PrimitiveFunction
PackageableElement ::=
	InstanceSpecification
PackageableElement ::=
	Dependency
PackageableElement ::=
	InformationFlow
PackageableElement ::=
	Package
ElementImport ::=
	[visibility]::VisibilityKind [alias]::String [importedElement]::PackageableElement [importingNamespace]::Namespace
PackageImport ::=
	ProfileApplication
PackageImport ::=
	[visibility]::VisibilityKind [importedPackage]::Package [importingNamespace]::Namespace
Association ::=
	Extension
Association ::=
	CommunicationPath
Association ::=
	AssociationClass
Association ::=
	[isDerived]::Boolean [ownedEnd]::Property+ [endType]::Type+ [memberEnd]::Property
PackageMerge ::=
	[mergingPackage]::Package [mergedPackage]::Package
Stereotype ::=
	[ownedOperation]::Operation+ [superClass]::Class+ [extension]::Extension+ [nestedClassifier]::Classifier+ [isActive]::Boolean [ownedReception]::Reception+
Profile ::=
	[ownedStereotype]::Stereotype+ [metaclassReference]::ElementImport+ [metamodelReference]::PackageImport+
ProfileApplication ::=
	[importedProfile]::Profile
Extension ::=
	[isRequired]::Boolean [metaclass]::Class
ExtensionEnd ::=
	[default]::String [isComposite]::Boolean [isDerived]::Boolean [class_]::Class [opposite]::Property [isDerivedUnion]::Boolean [owningAssociation]::Association [redefinedProperty]::Property+ [subsettedProperty]::Property+ [datatype]::DataType [association]::Association [aggregation]::AggregationKind [defaultValue]::ValueSpecification [qualifier]::Property+ [associationEnd]::Property
ParameterDirectionKind ::=
	[in]::ε
	[inout]::ε
	[out]::ε
	[return]::ε
AggregationKind ::=
	[composite]::ε
	[none]::ε
	[shared]::ε
Behavior ::=
	Activity
Behavior ::=
	StateMachine
Behavior ::=
	Interaction
BehavioredClassifier ::=
	UseCase
BehavioredClassifier ::=
	Class
BehavioredClassifier ::=
	Collaboration
Activity ::=
	[body]::String [language]::String [edge]::ActivityEdge+ [group]::ActivityGroup+ [node]::ActivityNode+ [action]::Action+ [structuredNode]::StructuredActivityNode+ [isSingleExecution]::Boolean [isReadOnly]::Boolean
Permission ::=
	[client]::NamedElement+ [supplier]::NamedElement+
Dependency ::=
	Permission
Dependency ::=
	Usage
Dependency ::=
	Abstraction
Dependency ::=
	Deployment
Dependency ::=
	[client]::NamedElement+ [supplier]::NamedElement+
Usage ::=
	[client]::NamedElement+ [supplier]::NamedElement+
Abstraction ::=
	Realization
Abstraction ::=
	Manifestation
Abstraction ::=
	[mapping]::OpaqueExpression
Realization ::=
	Substitution
Realization ::=
	Implementation
Realization ::=
	[abstraction]::Component [realizingClassifier]::Classifier
Substitution ::=
	[contract]::Classifier [substitutingClassifier]::Classifier
GeneralizationSet ::=
	[isCovering]::Boolean [isDisjoint]::Boolean [powertype]::Classifier [generalization]::Generalization+
AssociationClass ::=
	[ownedOperation]::Operation+ [superClass]::Class+ [extension]::Extension+ [nestedClassifier]::Classifier+ [isActive]::Boolean [ownedReception]::Reception+ [isDerived]::Boolean [ownedEnd]::Property+ [endType]::Type+ [memberEnd]::Property
InformationItem ::=
	[represented]::Classifier+
InformationFlow ::=
	[realization]::Relationship+ [conveyed]::Classifier+
Model ::=
	[viewpoint]::String
ConnectorEnd ::=
	[definingEnd]::Property [role]::ConnectableElement [partWithPort]::Property
ConnectableElement ::=
	Parameter
ConnectableElement ::=
	Variable
Connector ::=
	[type]::Association [redefinedConnector]::Connector+ [end]::ConnectorEnd [kind]::ConnectorKind [contract]::Behavior+
StructuredClassifier ::=
	EncapsulatedClassifier
StructuredClassifier ::=
	Collaboration
ActivityEdge ::=
	ControlFlow
ActivityEdge ::=
	ObjectFlow
ActivityGroup ::=
	InterruptibleActivityRegion
ActivityGroup ::=
	ActivityPartition
ActivityNode ::=
	ControlNode
ActivityNode ::=
	ExecutableNode
ActivityNode ::=
	ObjectNode
Action ::=
	CreateObjectAction
Action ::=
	DestroyObjectAction
Action ::=
	TestIdentityAction
Action ::=
	ReadSelfAction
Action ::=
	StructuralFeatureAction
Action ::=
	LinkAction
Action ::=
	ClearAssociationAction
Action ::=
	VariableAction
Action ::=
	ApplyFunctionAction
Action ::=
	InvocationAction
Action ::=
	ReadExtentAction
Action ::=
	ReclassifyObjectAction
Action ::=
	ReadIsClassifiedObjectAction
Action ::=
	StartOwnedBehaviorAction
Action ::=
	ReadLinkObjectEndAction
Action ::=
	ReadLinkObjectEndQualifierAction
Action ::=
	AcceptEventAction
Action ::=
	ReplyAction
Action ::=
	RaiseExceptionAction
Action ::=
	StructuredActivityNode
Action ::=
	[effect]::String [output]::OutputPin+ [input]::InputPin+ [context]::Classifier [localPrecondition]::Constraint+ [localPostcondition]::Constraint+
ObjectNode ::=
	ActivityParameterNode
ObjectNode ::=
	CentralBufferNode
ObjectNode ::=
	ExpansionNode
ObjectNode ::=
	Pin
ControlNode ::=
	InitialNode
ControlNode ::=
	FinalNode
ControlNode ::=
	DecisionNode
ControlNode ::=
	MergeNode
ControlNode ::=
	ForkNode
ControlNode ::=
	JoinNode
ControlFlow ::=
	[activity]::Activity [source]::ActivityNode [target]::ActivityNode [inGroup]::ActivityGroup+ [guard]::ValueSpecification [redefinedElement]::ActivityEdge+ [inStructuredNode]::StructuredActivityNode [inPartition]::ActivityPartition+ [weight]::ValueSpecification [interrupts]::InterruptibleActivityRegion
ObjectFlow ::=
	[isMulticast]::Boolean [isMultireceive]::Boolean [transformation]::Behavior [selection]::Behavior
InitialNode ::=
	ε
FinalNode ::=
	ActivityFinalNode
FinalNode ::=
	FlowFinalNode
ActivityFinalNode ::=
	ε
DecisionNode ::=
	[decisionInput]::Behavior
MergeNode ::=
	ε
ExecutableNode ::=
	Action
OutputPin ::=
	ε
InputPin ::=
	ValuePin
Pin ::=
	OutputPin
Pin ::=
	InputPin
ActivityParameterNode ::=
	[parameter]::Parameter
ValuePin ::=
	[value]::ValueSpecification
Interface ::=
	[ownedAttribute]::Property+ [ownedOperation]::Operation+ [redefinedInterface]::Interface+ [nestedClassifier]::Classifier+ [ownedReception]::Reception+ [protocol]::ProtocolStateMachine
Implementation ::=
	[contract]::Interface [implementingClassifier]::BehavioredClassifier
Artifact ::=
	DeploymentSpecification
Artifact ::=
	[fileName]::String [nestedArtifact]::Artifact+ [manifestation]::Manifestation+ [ownedOperation]::Operation+ [ownedAttribute]::Property+
Manifestation ::=
	[utilizedElement]::PackageableElement
Actor ::=
	[feature]::Feature+ [isAbstract]::Boolean [inheritedMember]::NamedElement+ [general]::Classifier+ [generalization]::Generalization+ [attribute]::Property+ [redefinedClassifier]::Classifier+ [substitution]::Substitution+ [powertypeExtent]::GeneralizationSet+ [ownedUseCase]::UseCase+ [useCase]::UseCase+ [representation]::CollaborationOccurrence [occurrence]::CollaborationOccurrence+
Extend ::=
	[extendedCase]::UseCase [extension]::UseCase [condition]::Constraint [extensionLocation]::ExtensionPoint+
UseCase ::=
	[include]::Include+ [extend]::Extend+ [extensionPoint]::ExtensionPoint+ [subject]::Classifier+
ExtensionPoint ::=
	[useCase]::UseCase
Include ::=
	[includingCase]::UseCase [addition]::UseCase
CollaborationOccurrence ::=
	[type]::Collaboration [roleBinding]::Dependency+
Collaboration ::=
	[collaborationRole]::ConnectableElement+
Port ::=
	[isBehavior]::Boolean [isService]::Boolean [required]::Interface+ [redefinedPort]::Port+ [provided]::Interface+ [protocol]::ProtocolStateMachine
EncapsulatedClassifier ::=
	Class
CallConcurrencyKind ::=
	[guarded]::ε
	[concurrent]::ε
	[sequential]::ε
CallTrigger ::=
	[operation]::Operation
MessageTrigger ::=
	CallTrigger
MessageTrigger ::=
	SignalTrigger
MessageTrigger ::=
	AnyTrigger
ChangeTrigger ::=
	[changeExpression]::ValueSpecification
Trigger ::=
	MessageTrigger
Trigger ::=
	ChangeTrigger
Trigger ::=
	TimeTrigger
Reception ::=
	[signal]::Signal
Signal ::=
	[ownedAttribute]::Property+
SignalTrigger ::=
	[signal]::Signal+
TimeTrigger ::=
	[isRelative]::Boolean [when]::ValueSpecification
AnyTrigger ::=
	ε
Variable ::=
	[scope]::StructuredActivityNode
StructuredActivityNode ::=
	ConditionalNode
StructuredActivityNode ::=
	LoopNode
StructuredActivityNode ::=
	ExpansionRegion
StructuredActivityNode ::=
	[variable]::Variable+ [containedNode]::ActivityNode+ [containedEdge]::ActivityEdge+ [mustIsolate]::Boolean
ConditionalNode ::=
	[isDeterminate]::Boolean [isAssured]::Boolean [clause]::Clause+ [result]::OutputPin+
Clause ::=
	[test]::ActivityNode+ [body]::ActivityNode+ [predecessorClause]::Clause+ [successorClause]::Clause+ [decider]::OutputPin [bodyOutput]::OutputPin+
LoopNode ::=
	[isTestedFirst]::Boolean [bodyPart]::ActivityNode+ [setupPart]::ActivityNode+ [decider]::OutputPin [test]::ActivityNode+ [result]::OutputPin+ [loopVariable]::OutputPin+ [bodyOutput]::OutputPin+ [loopVariableInput]::InputPin+
Interaction ::=
	[lifeline]::Lifeline+ [message]::Message+ [fragment]::InteractionFragment+ [formalGate]::Gate+
InteractionFragment ::=
	ExecutionOccurrence
InteractionFragment ::=
	StateInvariant
InteractionFragment ::=
	InteractionOccurrence
InteractionFragment ::=
	CombinedFragment
InteractionFragment ::=
	Continuation
InteractionFragment ::=
	EventOccurrence
InteractionFragment ::=
	Interaction
InteractionFragment ::=
	InteractionOperand
Lifeline ::=
	[coveredBy]::InteractionFragment+ [represents]::ConnectableElement [interaction]::Interaction [selector]::OpaqueExpression [decomposedAs]::PartDecomposition
Message ::=
	[messageKind]::MessageKind [messageSort]::MessageSort [receiveEvent]::MessageEnd [sendEvent]::MessageEnd [connector]::Connector [interaction]::Interaction [signature]::NamedElement [argument]::ValueSpecification+
GeneralOrdering ::=
	[before]::EventOccurrence [after]::EventOccurrence
MessageKind ::=
	[found]::ε
	[lost]::ε
	[unknown]::ε
	[complete]::ε
MessageSort ::=
	[synchSignal]::ε
	[synchCall]::ε
	[asynchCall]::ε
	[asynchSignal]::ε
MessageEnd ::=
	Gate
MessageEnd ::=
	EventOccurrence
EventOccurrence ::=
	Stop
EventOccurrence ::=
	[startExec]::ExecutionOccurrence+ [finishExec]::ExecutionOccurrence+ [toAfter]::GeneralOrdering+ [toBefore]::GeneralOrdering+
ExecutionOccurrence ::=
	[start]::EventOccurrence [finish]::EventOccurrence [behavior]::Behavior+
StateInvariant ::=
	[invariant]::Constraint
Stop ::=
	[startExec]::ExecutionOccurrence+ [finishExec]::ExecutionOccurrence+ [toAfter]::GeneralOrdering+ [toBefore]::GeneralOrdering+
TemplateSignature ::=
	RedefinableTemplateSignature
TemplateSignature ::=
	[parameter]::TemplateParameter+ [ownedParameter]::TemplateParameter+ [nestedSignature]::TemplateSignature+ [nestingSignature]::TemplateSignature [template]::TemplateableElement
TemplateParameter ::=
	OperationTemplateParameter
TemplateParameter ::=
	ClassifierTemplateParameter
TemplateParameter ::=
	ConnectableElementTemplateParameter
TemplateParameter ::=
	[signature]::TemplateSignature [parameteredElement]::ParameterableElement [ownedParameteredElement]::ParameterableElement [default]::ParameterableElement [ownedDefault]::ParameterableElement
TemplateableElement ::=
	NamedElement
TemplateableElement ::=
	Comment
TemplateableElement ::=
	StringExpression
StringExpression ::=
	[subExpression]::StringExpression+ [owningExpression]::StringExpression
ParameterableElement ::=
	ValueSpecification
ParameterableElement ::=
	PackageableElement
ParameterableElement ::=
	ConnectableElement
TemplateBinding ::=
	[boundElement]::TemplateableElement [signature]::TemplateSignature [parameterSubstitution]::TemplateParameterSubstitution+
TemplateParameterSubstitution ::=
	[formal]::TemplateParameter [templateBinding]::TemplateBinding [actual]::ParameterableElement+ [ownedActual]::ParameterableElement+
OperationTemplateParameter ::=
	[signature]::TemplateSignature [parameteredElement]::ParameterableElement [ownedParameteredElement]::ParameterableElement [default]::ParameterableElement [ownedDefault]::ParameterableElement
ClassifierTemplateParameter ::=
	[allowSubstitutable]::Boolean
RedefinableTemplateSignature ::=
	[redefinitionContext]::Classifier+ [isLeaf]::Boolean [parameter]::TemplateParameter+ [ownedParameter]::TemplateParameter+ [nestedSignature]::TemplateSignature+ [nestingSignature]::TemplateSignature [template]::TemplateableElement
ConnectableElementTemplateParameter ::=
	[signature]::TemplateSignature [parameteredElement]::ParameterableElement [ownedParameteredElement]::ParameterableElement [default]::ParameterableElement [ownedDefault]::ParameterableElement
ForkNode ::=
	ε
JoinNode ::=
	[isCombineDuplicate]::Boolean [joinSpec]::ValueSpecification
FlowFinalNode ::=
	ε
CentralBufferNode ::=
	DataStoreNode
ActivityPartition ::=
	[isDimension]::Boolean [isExternal]::Boolean [containedEdge]::ActivityEdge+ [containedNode]::ActivityNode+ [subgroup]::ActivityPartition+ [superPartition]::ActivityPartition [represents]::Element
ExpansionNode ::=
	[regionAsOutput]::ExpansionRegion [regionAsInput]::ExpansionRegion
ExpansionRegion ::=
	[mode]::ExpansionKind [outputElement]::ExpansionNode+ [inputElement]::ExpansionNode+
ExpansionKind ::=
	[parallel]::ε
	[iterative]::ε
	[stream]::ε
ExceptionHandler ::=
	[protectedNode]::ExecutableNode [handlerBody]::ExecutableNode [exceptionInput]::ObjectNode [exceptionType]::Classifier+
InteractionOccurrence ::=
	PartDecomposition
InteractionOccurrence ::=
	[refersTo]::Interaction [actualGate]::Gate+ [argument]::InputPin+
Gate ::=
	[receiveMessage]::Message [sendMessage]::Message
PartDecomposition ::=
	[refersTo]::Interaction [actualGate]::Gate+ [argument]::InputPin+
InteractionOperand ::=
	[guard]::InteractionConstraint [fragment]::InteractionFragment+
InteractionConstraint ::=
	[minint]::ValueSpecification [maxint]::ValueSpecification
InteractionOperator ::=
	[consider]::ε
	[par]::ε
	[opt]::ε
	[loop]::ε
	[alt]::ε
	[break]::ε
	[assert]::ε
	[strict]::ε
	[seq]::ε
	[ignore]::ε
	[neg]::ε
	[critical]::ε
CombinedFragment ::=
	[interactionOperator]::InteractionOperator [operand]::InteractionOperand+ [cfragmentGate]::Gate+
Continuation ::=
	[setting]::Boolean
StateMachine ::=
	ProtocolStateMachine
StateMachine ::=
	[region]::Region+ [connectionPoint]::Pseudostate+ [extendedStateMachine]::StateMachine [stateMachine_redefinitionContext]::BehavioredClassifier
Region ::=
	[subvertex]::Vertex+ [transition]::Transition+ [stateMachine]::StateMachine [state]::State [extendedRegion]::Region
Pseudostate ::=
	[kind]::PseudostateKind
State ::=
	FinalState
State ::=
	[isComposite]::Boolean [isOrthogonal]::Boolean [isSimple]::Boolean [isSubmachineState]::Boolean [submachine]::StateMachine [connection]::ConnectionPointReference+ [redefinedState]::State [deferrableTrigger]::Trigger+ [region]::Region+ [entry]::Activity [exit]::Activity [doActivity]::Activity [stateInvariant]::Constraint
Vertex ::=
	Pseudostate
Vertex ::=
	ConnectionPointReference
ConnectionPointReference ::=
	[entry]::Pseudostate+ [exit]::Pseudostate+
Transition ::=
	ProtocolTransition
Transition ::=
	[kind]::TransitionKind [container]::Region [source]::Vertex [target]::Vertex [redefinedTransition]::Transition [trigger]::Trigger+ [guard]::Constraint [effect]::Activity
TransitionKind ::=
	[internal]::ε
	[local]::ε
	[external]::ε
PseudostateKind ::=
	[deepHistory]::ε
	[shallowHistory]::ε
	[choice]::ε
	[join]::ε
	[exitPoint]::ε
	[terminate]::ε
	[fork]::ε
	[junction]::ε
	[initial]::ε
	[entryPoint]::ε
FinalState ::=
	[isComposite]::Boolean [isOrthogonal]::Boolean [isSimple]::Boolean [isSubmachineState]::Boolean [submachine]::StateMachine [connection]::ConnectionPointReference+ [redefinedState]::State [deferrableTrigger]::Trigger+ [region]::Region+ [entry]::Activity [exit]::Activity [doActivity]::Activity [stateInvariant]::Constraint
CreateObjectAction ::=
	[classifier]::Classifier [result]::OutputPin
DestroyObjectAction ::=
	[isDestroyLinks]::Boolean [isDestroyOwnedObjects]::Boolean [target]::InputPin
TestIdentityAction ::=
	[first]::InputPin [second]::InputPin [result]::OutputPin
ReadSelfAction ::=
	[result]::OutputPin
StructuralFeatureAction ::=
	ReadStructuralFeatureAction
StructuralFeatureAction ::=
	WriteStructuralFeatureAction
StructuralFeatureAction ::=
	ClearStructuralFeatureAction
ReadStructuralFeatureAction ::=
	[result]::OutputPin
WriteStructuralFeatureAction ::=
	RemoveStructuralFeatureValueAction
WriteStructuralFeatureAction ::=
	AddStructuralFeatureValueAction
WriteStructuralFeatureAction ::=
	TimeObservationAction
WriteStructuralFeatureAction ::=
	DurationObservationAction
ClearStructuralFeatureAction ::=
	[structuralFeature]::StructuralFeature [object]::InputPin
RemoveStructuralFeatureValueAction ::=
	[value]::InputPin
AddStructuralFeatureValueAction ::=
	[isReplaceAll]::Boolean [insertAt]::InputPin
LinkAction ::=
	ReadLinkAction
LinkAction ::=
	WriteLinkAction
LinkEndData ::=
	LinkEndCreationData
LinkEndData ::=
	[value]::InputPin [end]::Property [qualifier]::QualifierValue+
ReadLinkAction ::=
	[result]::OutputPin
LinkEndCreationData ::=
	[isReplaceAll]::Boolean [insertAt]::InputPin
CreateLinkAction ::=
	CreateLinkObjectAction
WriteLinkAction ::=
	CreateLinkAction
WriteLinkAction ::=
	DestroyLinkAction
DestroyLinkAction ::=
	ε
ClearAssociationAction ::=
	[object]::InputPin [association]::Association
VariableAction ::=
	ReadVariableAction
VariableAction ::=
	WriteVariableAction
VariableAction ::=
	ClearVariableAction
ReadVariableAction ::=
	[result]::OutputPin
WriteVariableAction ::=
	AddVariableValueAction
WriteVariableAction ::=
	RemoveVariableValueAction
ClearVariableAction ::=
	[variable]::Variable
AddVariableValueAction ::=
	[isReplaceAll]::Boolean [insertAt]::InputPin
RemoveVariableValueAction ::=
	[value]::InputPin
ApplyFunctionAction ::=
	[function]::PrimitiveFunction [argument]::InputPin+ [result]::OutputPin+
PrimitiveFunction ::=
	[body]::String [language]::String
CallAction ::=
	CallOperationAction
CallAction ::=
	CallBehaviorAction
InvocationAction ::=
	CallAction
InvocationAction ::=
	SendSignalAction
InvocationAction ::=
	BroadcastSignalAction
InvocationAction ::=
	SendObjectAction
SendSignalAction ::=
	[target]::InputPin [signal]::Signal
BroadcastSignalAction ::=
	[signal]::Signal
SendObjectAction ::=
	[target]::InputPin [request]::InputPin
CallOperationAction ::=
	[operation]::Operation [target]::InputPin
CallBehaviorAction ::=
	[behavior]::Behavior
TimeExpression ::=
	[firstTime]::Boolean [event]::NamedElement
Duration ::=
	[firstTime]::Boolean [event]::NamedElement
TimeObservationAction ::=
	[now]::TimeExpression+
DurationInterval ::=
	[min]::ValueSpecification+ [max]::ValueSpecification+
Interval ::=
	DurationInterval
Interval ::=
	TimeInterval
Interval ::=
	[min]::ValueSpecification+ [max]::ValueSpecification+
TimeConstraint ::=
	ε
IntervalConstraint ::=
	TimeConstraint
IntervalConstraint ::=
	DurationConstraint
IntervalConstraint ::=
	TimeConstraint
	DurationConstraint
TimeInterval ::=
	[min]::ValueSpecification+ [max]::ValueSpecification+
DurationObservationAction ::=
	[duration]::Duration+
DurationConstraint ::=
	ε
DataStoreNode ::=
	ε
ParameterEffectKind ::=
	[update]::ε
	[read]::ε
	[delete]::ε
	[create]::ε
InterruptibleActivityRegion ::=
	[interruptingEdge]::ActivityEdge+ [containedNode]::ActivityNode+
ObjectNodeOrderingKind ::=
	[FIFO]::ε
	[unordered]::ε
	[ordered]::ε
	[LIFO]::ε
ParameterSet ::=
	[parameter]::Parameter+ [condition]::Constraint+
Component ::=
	[isIndirectlyInstantiated]::Boolean [required]::Interface+ [provided]::Interface+ [realization]::Realization+ [ownedMember]::PackageableElement+
ConnectorKind ::=
	[delegation]::ε
	[assembly]::ε
Deployment ::=
	[deployedArtifact]::DeployedArtifact+ [location]::DeploymentTarget [configuration]::DeploymentSpecification+
DeployedArtifact ::=
	Artifact
DeploymentTarget ::=
	Node
Node ::=
	Device
Node ::=
	ExecutionEnvironment
Node ::=
	[nestedNode]::Node+
Device ::=
	[nestedNode]::Node+
ExecutionEnvironment ::=
	[nestedNode]::Node+
CommunicationPath ::=
	[isDerived]::Boolean [ownedEnd]::Property+ [endType]::Type+ [memberEnd]::Property
ProtocolConformance ::=
	[specificMachine]::ProtocolStateMachine [generalMachine]::ProtocolStateMachine
ProtocolStateMachine ::=
	[conformance]::ProtocolConformance+
ProtocolTransition ::=
	[postCondition]::Constraint [referred]::Operation+ [preCondition]::Constraint
ReadExtentAction ::=
	[result]::OutputPin [classifier]::Classifier
ReclassifyObjectAction ::=
	[isReplaceAll]::Boolean [oldClassifier]::Classifier+ [newClassifier]::Classifier+ [object]::InputPin
ReadIsClassifiedObjectAction ::=
	[isDirect]::Boolean [classifier]::Classifier [result]::OutputPin [object]::InputPin
StartOwnedBehaviorAction ::=
	[object]::InputPin
QualifierValue ::=
	[qualifier]::Property [value]::InputPin
ReadLinkObjectEndAction ::=
	[object]::InputPin [end]::Property [result]::OutputPin
ReadLinkObjectEndQualifierAction ::=
	[object]::InputPin [result]::OutputPin [qualifier]::Property
CreateLinkObjectAction ::=
	[result]::OutputPin
AcceptEventAction ::=
	AcceptCallAction
AcceptEventAction ::=
	[trigger]::Trigger+ [result]::OutputPin+
AcceptCallAction ::=
	[returnInformation]::OutputPin
ReplyAction ::=
	[replyToCall]::CallTrigger [replyValue]::InputPin+ [returnInformation]::InputPin
RaiseExceptionAction ::=
	[exception]::InputPin
DeploymentSpecification ::=
	[deploymentLocation]::String [executionLocation]::String

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []