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]::DataField
Group ::= [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]::Category
ExternalPackage ::= [href]::String
Category ::= [id]::String [name]::String
DataField ::= [isArray]::Boolean [correlation]::Boolean [dataType]::TypeDeclaration
Script ::= [type]::String [version]::String [grammar]::String