
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: ontoware/csm/extracted
Source used for this grammar: Youssef Srour, CSM.ecore, 2006/07/28
Source used for this grammar: V. Cortellessa, How far are we from the definition of a common software performance ontology?,
Source used for this grammar: D. B. Petriu, M. Woodside, A Metamodel for Generating Performance Models from UML Designs, in UML’04, LNCS 3273, pp.41–53, 2004
CSM, GeneralResource, Step, Scenarion, Start, End, ResourceAcquire, ResourceRelease, Workload, Component, ProcessingResource, ExternalService, ActiveResource, PassiveResource, Message, PathConnection, Join, Fork, Merge, Branch, Seqence, String, Boolean, Integer), 0 root (—), 4 top (CSM, String, Boolean, Integer), 0 bottom (—).[step] 5, [generalResource] 3, [scenarion], [resourceAcquire], [resourceRelease], [postPath] 2, [prePath] 2, [activeResource] 2, [root], [workload], [start], [message] 6, [post] 6, [pre] 6.CSM ::= [step]::Step [generalResource]::GeneralResource [scenarion]::Scenarion
GeneralResource ::= ActiveResource
GeneralResource ::= PassiveResource
GeneralResource ::= [resourceAcquire]::ResourceAcquire [resourceRelease]::ResourceRelease
Step ::= Start
Step ::= End
Step ::= ResourceAcquire
Step ::= ResourceRelease
Step ::= [postPath]::PathConnection [prePath]::PathConnection [activeResource]::ActiveResource
Scenarion ::= Step
Scenarion ::= [step]::Step [root]::Start
Start ::= [workload]::Workload
End ::= [postPath]::PathConnection [prePath]::PathConnection [activeResource]::ActiveResource
ResourceAcquire ::= [generalResource]::GeneralResource
ResourceRelease ::= [generalResource]::GeneralResource
Workload ::= [start]::Start
Component ::= ε
ProcessingResource ::=
[step]::StepExternalService ::=
[step]::StepActiveResource ::= ProcessingResource
ActiveResource ::= ExternalService
ActiveResource ::=
[step]::StepPassiveResource ::= Component
Message ::= ε
PathConnection ::= Join
PathConnection ::= Fork
PathConnection ::= Merge
PathConnection ::= Branch
PathConnection ::= Seqence
PathConnection ::= [message]::Message [post]::Step [pre]::Step
Join ::= [message]::Message [post]::Step [pre]::Step
Fork ::= [message]::Message [post]::Step [pre]::Step
Merge ::= [message]::Message [post]::Step [pre]::Step
Branch ::= [message]::Message [post]::Step [pre]::Step
Seqence ::= [message]::Message [post]::Step [pre]::Step
String ::= string
Boolean ::= "true" "false"
Integer ::= integer