Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/ueml/extended/extracted
Source used for this grammar: SIMON Eric, UEML (Extended) 1.0, UEMLExtended.ecore
, 2006/07/18
UEMLObject
, UEMLModel
, Geometry
, Port
, Flow
, Activity
, Object
, InformationObject
, Resource
, MaterialResource
, HumanResource
, ResourceFlow
, IOFlow
, ControlFlow
, TriggerFlow
, ConstraintFlow
, ResourceRole
, RoleType
, Anchor
, OutputPort
, InputPort
, ConnectionOperator
, AssociationConnector
, FlowObject
, Event
, ResourceType
, ActivityType
, PassiveObject
, Commitment
, Software
, Organisation
, Process
, Service
, Agent
, Contract
, Task
), 0 root (—), 0 top (—), 0 bottom (—).[has]
, [model]
, [contains]
, [object]
, [associationConnector]
, [resourceRole]
, [parent]
, [hasOutput]
, [hasInput]
, [activityType]
, [ioFlow]
, [controlFlow]
, [carries]
5, [plays]
, [resourceType]
, [commitment]
, [obliger]
4, [claimer]
4, [has_parties]
4, [resourceCarries]
, [resourcePlays]
, [roleQualifier]
, [in]
, [activity]
2, [target]
4, [origin]
4, [classAssociation]
, [resource]
2, [activityT]
, [task]
, [agentO]
, [agentC]
, [contract]
, [child]
, [fulfills]
2, [realises]
, [process]
2, [agent]
, [collection_of]
.UEMLObject ::= UEMLModel
UEMLObject ::= Port
UEMLObject ::= Flow
UEMLObject ::= Object
UEMLObject ::= Activity
UEMLObject ::= [has]::Geometry [model]::UEMLModel
UEMLModel ::=
[contains]::UEMLObject
Geometry ::= [object]::UEMLObject
Port ::= ResourceRole
Port ::= Anchor
Port ::= ResourceRole Anchor
Flow ::= ResourceFlow
Flow ::= IOFlow
Flow ::= ControlFlow
Flow ::= [associationConnector]::AssociationConnector
Activity ::= Process
Activity ::= Task
Activity ::= [resourceRole]::ResourceRole[parent]::Process [hasOutput]::OutputPort [hasInput]::InputPort [activityType]::ActivityType
Object ::= InformationObject
Object ::= Resource
Object ::= [ioFlow]::IOFlow
InformationObject ::= [controlFlow]::ControlFlow
Resource ::= PassiveObject
Resource ::= Service
Resource ::= Agent
Resource ::= [carries]::ResourceFlow [plays]::ResourceRole[resourceType]::ResourceType [commitment]::Commitment
MaterialResource ::= ε
HumanResource ::= [obliger]::Commitment [claimer]::Commitment [has_parties]::Contract
ResourceFlow ::=
[resourceCarries]::Resource
IOFlow ::=
[carries]::Object
ControlFlow ::= TriggerFlow
ControlFlow ::= ConstraintFlow
ControlFlow ::=
[carries]::InformationObject
TriggerFlow ::=
[carries]::InformationObject
ConstraintFlow ::=
[carries]::InformationObject
ResourceRole ::=
[resourcePlays]::Resource
[roleQualifier]::RoleType [in]::ActivityRoleType ::= ε
Anchor ::= OutputPort
Anchor ::= InputPort
Anchor ::= ConnectionOperator
Anchor ::= OutputPort InputPort
OutputPort ::= [activity]::Activity
InputPort ::= [activity]::Activity
ConnectionOperator ::= [target]::AssociationConnector [origin]::AssociationConnector
AssociationConnector ::= [origin]::FlowObject[target]::FlowObject [classAssociation]::Flow
FlowObject ::= Event
FlowObject ::= Activity
FlowObject ::= ConnectionOperator
FlowObject ::= [target]::AssociationConnector [origin]::AssociationConnector
Event ::= [target]::AssociationConnector [origin]::AssociationConnector
ResourceType ::=
[resource]::Resource
ActivityType ::=
[activityT]::Activity
PassiveObject ::= MaterialResource
PassiveObject ::= Commitment
PassiveObject ::= Contract
PassiveObject ::= MaterialResource Commitment Contract
Commitment ::=
[resource]::Resource
[task]::Task [agentO]::Agent [agentC]::Agent [contract]::ContractSoftware ::= [obliger]::Commitment [claimer]::Commitment [has_parties]::Contract
Organisation ::= [obliger]::Commitment [claimer]::Commitment [has_parties]::Contract
Process ::=
[child]::Activity [fulfills]::Contract
[realises]::ServiceService ::= [process]::Process
Agent ::= HumanResource
Agent ::= Software
Agent ::= Organisation
Agent ::= [obliger]::Commitment [claimer]::Commitment [has_parties]::Contract
Contract ::= [process]::Process[agent]::Agent [collection_of]::Commitment
Task ::=
[fulfills]::Commitment