
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]::ArtifactAssociation ::= [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]::ActivityIdentifiable ::= IdentifiableNode
Identifiable ::= Artifact
Identifiable ::= BpmnDiagram
Identifiable ::= Lane
Identifiable ::= MessagingEdge
Identifiable ::= SequenceEdge
Identifiable ::= [iD]::ID
IdentifiableNode ::= Vertex
IdentifiableNode ::= Graph
IdentifiableNode ::=
[associations]::AssociationLane ::=
[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