Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/business/bpmn/jouault/extracted
Source used for this grammar: Frédéric Jouault, BPMN 1.1, BPMN.ecore
, 2007/03/06
Boolean
, Integer
, String
, Activity
, ActivityType
, Artifact
, ArtifactsContainer
, Association
, BpmnDiagram
, DataObject
, DirectionType
, Graph
, Group
, Identifiable
, IdentifiableNode
, Lane
, MessagingEdge
, NamedBpmnObject
, Pool
, SequenceEdge
, SubProcess
, TextAnnotation
, Vertex
), 0 root (—), 3 top (Integer
, Identifiable
, NamedBpmnObject
), 1 bottom (ID
).[orderedMessages]
, [incomingMessages]
, [outgoingMessages]
, [groups]
, [activityType]
, [eventHandlerFor]
, [lane]
, [looping]
, [SubProcess]
, [EventEndMultiple]
, [EventEndMessage]
, [EventIntermediateMessage]
, [EventStartMultiple]
, [EventIntermediateMultiple]
, [GatewayParallel]
, [EventStartTimer]
, [EventStartEmpty]
, [EventIntermediateCancel]
, [EventEndError]
, [EventStartRule]
, [EventEndTerminate]
, [EventStartLink]
, [EventIntermediateLink]
, [EventEndCancel]
, [EventEndLink]
, [EventIntermediateEmpty]
, [EventIntermediateCompensation]
, [Task]
, [GatewayDataBasedExclusive]
, [GatewayComplex]
, [EventEndEmpty]
, [EventIntermediateError]
, [EventIntermediateTimer]
, [EventEndCompensation]
, [EventStartMessage]
, [GatewayDataBasedInclusive]
, [GatewayEventBasedExclusive]
, [EventIntermediateRule]
, [associations]
4, [artifactsContainer]
3, [artifacts]
, [direction]
, [source]
3, [target]
3, [pools]
, [messages]
, [author]
, [title]
, [Both]
, [From]
, [To]
, [None]
, [vertices]
, [sequenceEdges]
, [activities]
2, [iD]
, [pool]
, [bpmnDiagram]
2, [documentation]
, [name]
, [ncname]
, [lanes]
, [graph]
2, [isDefault]
, [eventHandlers]
, [isTransaction]
, [outgoingEdges]
, [incomingEdges]
.Boolean ::= "true" "false"
Integer ::= integer
String ::= string
Activity ::= SubProcess
Activity ::= [orderedMessages]::MessagingEdge[incomingMessages]::MessagingEdge [outgoingMessages]::MessagingEdge [groups]::Group [activityType]::ActivityType [eventHandlerFor]::SubProcess [lane]::Lane [looping]::Boolean
ActivityType ::= [SubProcess]::ε [EventEndMultiple]::ε [EventEndMessage]::ε [EventIntermediateMessage]::ε [EventStartMultiple]::ε [EventIntermediateMultiple]::ε [GatewayParallel]::ε [EventStartTimer]::ε [EventStartEmpty]::ε [EventIntermediateCancel]::ε [EventEndError]::ε [EventStartRule]::ε [EventEndTerminate]::ε [EventStartLink]::ε [EventIntermediateLink]::ε [EventEndCancel]::ε [EventEndLink]::ε [EventIntermediateEmpty]::ε [EventIntermediateCompensation]::ε [Task]::ε [GatewayDataBasedExclusive]::ε [GatewayComplex]::ε [EventEndEmpty]::ε [EventIntermediateError]::ε [EventIntermediateTimer]::ε [EventEndCompensation]::ε [EventStartMessage]::ε [GatewayDataBasedInclusive]::ε [GatewayEventBasedExclusive]::ε [EventIntermediateRule]::ε
Artifact ::= DataObject
Artifact ::= Group
Artifact ::= TextAnnotation
Artifact ::=
[associations]::Association
[artifactsContainer]::ArtifactsContainerArtifactsContainer ::= BpmnDiagram
ArtifactsContainer ::= Graph
ArtifactsContainer ::=
[artifacts]::Artifact
Association ::= [direction]::DirectionType [source]::Artifact [target]::IdentifiableNode
BpmnDiagram ::= [pools]::Pool[messages]::MessagingEdge [author]::String [title]::String
DataObject ::=
[associations]::Association
[artifactsContainer]::ArtifactsContainerDirectionType ::= [Both]::ε [From]::ε [To]::ε [None]::ε
Graph ::= Pool
Graph ::= SubProcess
Graph ::= [vertices]::Vertex[sequenceEdges]::SequenceEdge
Group ::=
[activities]::Activity
Identifiable ::= IdentifiableNode
Identifiable ::= Artifact
Identifiable ::= BpmnDiagram
Identifiable ::= Lane
Identifiable ::= MessagingEdge
Identifiable ::= SequenceEdge
Identifiable ::= [iD]::ID
IdentifiableNode ::= Vertex
IdentifiableNode ::= Graph
IdentifiableNode ::=
[associations]::Association
Lane ::=
[activities]::Activity
[pool]::PoolMessagingEdge ::= [bpmnDiagram]::BpmnDiagram [source]::Activity [target]::Activity
NamedBpmnObject ::= ArtifactsContainer
NamedBpmnObject ::= Activity
NamedBpmnObject ::= Artifact
NamedBpmnObject ::= Lane
NamedBpmnObject ::= MessagingEdge
NamedBpmnObject ::= Pool
NamedBpmnObject ::= SequenceEdge
NamedBpmnObject ::= [documentation]::String [name]::String [ncname]::String
Pool ::=
[lanes]::Lane
[bpmnDiagram]::BpmnDiagramSequenceEdge ::= [graph]::Graph [isDefault]::Boolean [source]::Vertex [target]::Vertex
SubProcess ::=
[eventHandlers]::Activity
[isTransaction]::BooleanTextAnnotation ::=
[associations]::Association
[artifactsContainer]::ArtifactsContainerVertex ::= Activity
Vertex ::= [outgoingEdges]::SequenceEdge[incomingEdges]::SequenceEdge [graph]::Graph