
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/business/process/extracted
Source used for this grammar: Julien Baudry, BusinessProcessModel.ecore, 2006/07/20
Namespace, Task, DataSet, Parameter, DataElement, ModelElement, Flow, DataFlow, ControlFlow, ControlPoint, Input, Output, OutputSet, InputSet, Exception, SimpleTask, CoumpoundTask, MutliTask, InvokerTask, TerminatorTask, ApplicationTask, Decision, Clock, SendCommunication, ReceiveCommunication, BusinessProcess, Boolean, Integer, String), 0 root (—), 6 top (Namespace, Parameter, ModelElement, Boolean, Integer, String), 0 bottom (—).[sink] 2, [source], [containsOutput], [containsInput], [containsTask] 2, [containsFlow] 2, [realizes] 2, [invokes], [terminates].Namespace ::= Task
Namespace ::= DataSet
Task ::= SimpleTask
Task ::= CoumpoundTask
DataSet ::= OutputSet
DataSet ::= InputSet
Parameter ::= DataElement
DataElement ::= Input
DataElement ::= Output
ModelElement ::= Flow
ModelElement ::= ControlPoint
Flow ::= DataFlow
Flow ::= ControlFlow
Flow ::= DataFlow ControlFlow
DataFlow ::= ε
ControlFlow ::= ε
ControlPoint ::=
[sink]::ControlFlowInput ::= [sink]::DataFlow [source]::DataFlow
Output ::= Exception
OutputSet ::=
[containsOutput]::OutputInputSet ::=
[containsInput]::InputException ::= ε
SimpleTask ::= InvokerTask
SimpleTask ::= TerminatorTask
SimpleTask ::= ApplicationTask
SimpleTask ::= InvokerTask TerminatorTask ApplicationTask
CoumpoundTask ::= MutliTask
CoumpoundTask ::= [containsTask]::Task [containsFlow]::Flow [realizes]::BusinessProcess
MutliTask ::= [containsTask]::Task [containsFlow]::Flow [realizes]::BusinessProcess
InvokerTask ::=
[invokes]::TaskTerminatorTask ::=
[terminates]::TaskApplicationTask ::= Decision
ApplicationTask ::= Clock
ApplicationTask ::= SendCommunication
ApplicationTask ::= ReceiveCommunication
ApplicationTask ::= BusinessProcess
ApplicationTask ::= Decision Clock SendCommunication ReceiveCommunication BusinessProcess
Decision ::= ε
Clock ::= ε
SendCommunication ::= ε
ReceiveCommunication ::= ε
BusinessProcess ::= ε
Boolean ::= "true" "false"
Integer ::= integer
String ::= string