
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]::UEMLObjectGeometry ::= [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]::ResourceIOFlow ::=
[carries]::ObjectControlFlow ::= TriggerFlow
ControlFlow ::= ConstraintFlow
ControlFlow ::=
[carries]::InformationObjectTriggerFlow ::=
[carries]::InformationObjectConstraintFlow ::=
[carries]::InformationObjectResourceRole ::=
[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]::ResourceActivityType ::=
[activityT]::ActivityPassiveObject ::= 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