
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/business/xpdl/extracted
Source used for this grammar: David Touzet, Freddy Allilaire, XPDL-1.14.ecore, 2006/02/21
String, Integer, Boolean, AssociationDirectionKind, OrientationKind, AccessLevelKind, ProcessTypeKind, StatusKind, AdHocOrderingKind, ModeKind, GatewayTypeKind, ExecutionKind, TriggerKind, ImplementationKind, Element, Package, MessageFlow, Association, Pool, Lane, Participant, Artifact, DataObject, Group, Annotation, TypeDeclaration, Application, ParametrizedApplication, ReferencedApplication, Activity, Task, TaskService, TaskReceive, TaskManual, TaskReference, TaskScript, TaskSend, TaskUser, TaskApplication, Route, SubFlow, BlockActivity, Event, Trigger, ResultCompensation, ResultError, ResultMultiple, TriggerResultLink, TriggerResultMessage, TriggerIntermediateMultiple, TriggerMultiple, TriggerRule, TriggerTimer, StartEvent, IntermediateEvent, EndEvent, Gateway, Process, Transition, ActivitySet, ExternalReference, Object, ExternalPackage, Category, DataField, Script), 0 root (—), 1 top (Element), 0 bottom (—).[None] 4, [To], [From], [Both], [Horizontal], [Vertical], [Public], [Private] 2, [Abstract], [Collaboration], [Ready], [Active], [Cancelled], [Aborting], [Aborted], [Completing], [Completed], [Sequential], [Parallel], [Automatic], [Manual], [Xor], [Or], [Complex], [And], [Asynchr], [Synchr], [Message], [Timer], [Rule], [Link], [Error], [Cancel], [Compensation], [Terminate], [Multiple], [WebService], [Other], [Unspecified], [script] 2, [externalPackages], [typeDeclarations], [participants], [applications] 2, [dataFields] 3, [pools], [messageFlows], [associations], [artifacts], [workflowProcesses], [targetActivity] 2, [sourceActivity] 2, [targetPool] 2, [sourcePool] 2, [object] 11, [associationDirection], [targetArtifact], [sourceArtifact], [orientation], [boundaryVisible], [lanes], [participant] 2, [process], [parentLane], [parentPool], [id] 3, [name] 3, [textAnnotation] 3, [group] 3, [dataObject] 3, [state], [requiredForStart], [producedAtCompletion], [externalReference], [isStartActivity], [status] 2, [startMode], [finishMode], [startQuantity], [isATransaction], [implementation] 6, [instantiate] 3, [taskRef], [packageRef] 2, [gatewayType] 2, [markerVisiable] 2, [execution], [instanceDataField], [startActivitySet], [startActivity] 2, [activitySet], [activity], [errorCode], [processRef], [ruleName], [timeDate], [timeCycle], [triggerKind] 2, [trigger] 2, [target], [accessLevel], [processType], [suppressJoinFailure], [enableInstanceCompensation], [adHoc] 2, [adHocOrdering] 2, [adHocCompletionCondition] 2, [dataField], [activitySets], [activities] 2, [transitions] 2, [defaultStartActivitySet], [defaultStartActivity] 2, [quantity], [to], [from], [xref], [location], [namespace], [categories], [href], [isArray], [correlation], [dataType], [type], [version], [grammar].String ::= string
Integer ::= integer
Boolean ::= "true" "false"
AssociationDirectionKind ::= [None]::ε [To]::ε [From]::ε [Both]::ε
OrientationKind ::= [Horizontal]::ε [Vertical]::ε
AccessLevelKind ::= [Public]::ε [Private]::ε
ProcessTypeKind ::= [None]::ε [Private]::ε [Abstract]::ε [Collaboration]::ε
StatusKind ::= [None]::ε [Ready]::ε [Active]::ε [Cancelled]::ε [Aborting]::ε [Aborted]::ε [Completing]::ε [Completed]::ε
AdHocOrderingKind ::= [Sequential]::ε [Parallel]::ε
ModeKind ::= [Automatic]::ε [Manual]::ε
GatewayTypeKind ::= [Xor]::ε [Or]::ε [Complex]::ε [And]::ε
ExecutionKind ::= [Asynchr]::ε [Synchr]::ε
TriggerKind ::= [None]::ε [Message]::ε [Timer]::ε [Rule]::ε [Link]::ε [Error]::ε [Cancel]::ε [Compensation]::ε [Terminate]::ε [Multiple]::ε
ImplementationKind ::= [WebService]::ε [Other]::ε [Unspecified]::ε
Element ::= Package
Element ::= MessageFlow
Element ::= Association
Element ::= Pool
Element ::= Lane
Element ::= Participant
Element ::= Artifact
Element ::= TypeDeclaration
Element ::= Application
Element ::= Activity
Element ::= Process
Element ::= Transition
Element ::= ActivitySet
Element ::= Object
Element ::= ExternalPackage
Element ::= Category
Element ::= DataField
Package ::= [script]::Script [externalPackages]::ExternalPackage [typeDeclarations]::TypeDeclaration [participants]::Participant [applications]::Application [dataFields]::DataField [pools]::Pool [messageFlows]::MessageFlow [associations]::Association [artifacts]::Artifact [workflowProcesses]::Process
MessageFlow ::= [targetActivity]::Activity [sourceActivity]::Activity [targetPool]::Pool [sourcePool]::Pool [object]::Object
Association ::= [associationDirection]::AssociationDirectionKind [targetArtifact]::Artifact [sourceArtifact]::Artifact [targetPool]::Pool [sourcePool]::Pool [targetActivity]::Activity [sourceActivity]::Activity [object]::Object
Pool ::=
[orientation]::OrientationKind [boundaryVisible]::Boolean [lanes]::Lane [object]::Object [participant]::Participant [process]::ProcessLane ::= [object]::Object [parentLane]::Lane [parentPool]::Pool
Participant ::= [id]::String [name]::String
Artifact ::= DataObject
Artifact ::= Group
Artifact ::= Annotation
Artifact ::= [textAnnotation]::String [group]::String [object]::Object [dataObject]::DataObject
DataObject ::=
[state]::String [requiredForStart]::Boolean [producedAtCompletion]::Boolean [dataFields]::DataFieldGroup ::= [textAnnotation]::String [group]::String [object]::Object [dataObject]::DataObject
Annotation ::= [textAnnotation]::String [group]::String [object]::Object [dataObject]::DataObject
TypeDeclaration ::= [id]::String [name]::String
Application ::= ParametrizedApplication
Application ::= ReferencedApplication
Application ::= ParametrizedApplication ReferencedApplication
ParametrizedApplication ::= ε
ReferencedApplication ::= [externalReference]::ExternalReference
Activity ::= Task
Activity ::= Route
Activity ::= SubFlow
Activity ::= BlockActivity
Activity ::= Event
Activity ::=
[isStartActivity]::Boolean [status]::StatusKind [startMode]::ModeKind [finishMode]::ModeKind [startQuantity]::Integer [isATransaction]::Boolean [dataFields]::DataField [object]::ObjectTask ::= TaskService
Task ::= TaskReceive
Task ::= TaskManual
Task ::= TaskReference
Task ::= TaskScript
Task ::= TaskSend
Task ::= TaskUser
Task ::= TaskApplication
TaskService ::= [implementation]::ImplementationKind
TaskReceive ::= [instantiate]::Boolean [implementation]::ImplementationKind
TaskManual ::= ε
TaskReference ::= [taskRef]::Task
TaskScript ::= [script]::Script
TaskSend ::= [implementation]::ImplementationKind
TaskUser ::= [implementation]::ImplementationKind
TaskApplication ::= [packageRef]::Package
Route ::= Gateway
Route ::= [gatewayType]::GatewayTypeKind [instantiate]::Boolean [markerVisiable]::Boolean
SubFlow ::= [execution]::ExecutionKind [instanceDataField]::String [packageRef]::Package [startActivitySet]::ActivitySet [startActivity]::Activity
BlockActivity ::= [activitySet]::ActivitySet [startActivity]::Activity
Event ::= StartEvent
Event ::= IntermediateEvent
Event ::= EndEvent
Trigger ::= ResultCompensation
Trigger ::= ResultError
Trigger ::= ResultMultiple
Trigger ::= TriggerResultLink
Trigger ::= TriggerResultMessage
Trigger ::= TriggerIntermediateMultiple
Trigger ::= TriggerMultiple
Trigger ::= TriggerRule
Trigger ::= TriggerTimer
ResultCompensation ::= [activity]::Activity
ResultError ::= [errorCode]::String
ResultMultiple ::= ε
TriggerResultLink ::= [processRef]::Process
TriggerResultMessage ::= ε
TriggerIntermediateMultiple ::= ε
TriggerMultiple ::= ε
TriggerRule ::= [ruleName]::String
TriggerTimer ::= [timeDate]::String [timeCycle]::String
StartEvent ::= [triggerKind]::TriggerKind [implementation]::ImplementationKind [trigger]::Trigger
IntermediateEvent ::= [target]::Activity
EndEvent ::= [triggerKind]::TriggerKind [implementation]::ImplementationKind [trigger]::Trigger
Gateway ::= [gatewayType]::GatewayTypeKind [instantiate]::Boolean [markerVisiable]::Boolean
Process ::= [accessLevel]::AccessLevelKind [processType]::ProcessTypeKind [status]::StatusKind [suppressJoinFailure]::Boolean [enableInstanceCompensation]::Boolean [adHoc]::Boolean [adHocOrdering]::AdHocOrderingKind [adHocCompletionCondition]::String [participant]::Participant [applications]::Application [dataField]::DataField [activitySets]::ActivitySet [activities]::Activity [transitions]::Transition [object]::Object [defaultStartActivitySet]::ActivitySet [defaultStartActivity]::Activity
Transition ::= [quantity]::Integer [object]::Object [to]::Activity [from]::Activity
ActivitySet ::= [adHoc]::Boolean [adHocOrdering]::AdHocOrderingKind [adHocCompletionCondition]::String [defaultStartActivity]::Activity [activities]::Activity [transitions]::Transition [object]::Object
ExternalReference ::= [xref]::String [location]::String [namespace]::String
Object ::=
[categories]::CategoryExternalPackage ::= [href]::String
Category ::= [id]::String [name]::String
DataField ::= [isArray]::Boolean [correlation]::Boolean [dataType]::TypeDeclaration
Script ::= [type]::String [version]::String [grammar]::String