Browsable Business Process Model Grammar

CC-BY

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

Summary

Syntax

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]::ControlFlow+
Input ::=
	[sink]::DataFlow [source]::DataFlow
Output ::=
	Exception
OutputSet ::=
	[containsOutput]::Output+
InputSet ::=
	[containsInput]::Input+
Exception ::=
	ε
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]::Task+
TerminatorTask ::=
	[terminates]::Task+
ApplicationTask ::=
	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

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []