
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/architecture/sdm/extracted
Source used for this grammar: Albin Jossic, SDM.ecore, 2005/06/13
String, Integer, Boolean, SystemDefinitionModel, Information, Import, ImportNamespaceIdentity, SDMCommunicationDefinition, SDMContainmentDefinition, SDMDelegationDefinition, SDMReferenceDefinition, SDMEndpointDefinition, SDMResourceDefinition, SDMSystemDefinition, SDMConstraintDefinition, SDMManager, ManagerDeclaration, ObjectDefinition, OBFlow, OBRelationshipConstraint, OBConstraint, OBConstraintGroup, OBEndpointDefinition, OBSystemDefinition, OBResourceDefinition, OBCommunicationDefinition, OBContainmentDefinition, OBDelegationDefinition, OBReferenceDefinition, OBHostingDefinition, OBEndpoint, OBSubsystem, OBResource, OBHosting, OBContainment, OBConnection, OBDelegation, OBReference, SystemDefinition, EndpointDefinition, ResourceDefinition, RelationshipDefinition, RDObjectConstraint, RDConstraint, RDConstraintGroup, RDFlow, RDConnection, RDHosting, RDDelegation, RDReference, RDContainment, CommunicationDefinition, HostingDefinition, ContainmentDefinition, DelegationDefinition, ReferenceDefinition, Member, MembSettingValue, MembSettingValueList, ObjectMember, RelationshipMember, SystemMember, EndpointMember, ResourceMember, HostingMember, CommunicationMember, ContainmentMember, DelegationMember, ReferenceMember, DesignData, NameSpace, ObjectConstraint, OCConstraint, OCRelationshipConstraint, OCConstraintGroup, RelationshipConstraint, RCConstraint, RCRelationshipConstraint, RCObjectConstraint, RCConstraintGroup, ConstraintGroup, CGConstraint, CGRelationshipConstraint, CGObjectConstraint, StructuralConstraint, ConstraintDefinition, CDRelationshipConstraint, CDConstraintGroup, CDObjectConstraint, CDConstraint, ConstraintMember, Definition, DefSettingDeclaration, DefSettingValue, DefSettingValueList, SimpleName, QualifiedName, Path, SettingPath, NamespaceIdentity, FlowDefinition, FlowMember, ValueTransfer, Output, Input, SettingDefinitions, SettingMember, SettingsAttributes, SettingMemberAccess, SettingMemberSecure, Facet, SettingValue, SettingValueList, Value, SettingValueAttributes, Description, Entry, DescriptionEntry, Substitute, PathList, MaxOccurs, MinOccurs, FourPartVersionType, PublicKeyType, PublicKeyTokenType, CompilationHashType, RolesList, Culture, CultureNeutral, ProcessorArchitectures, Platform, ConstraintEvaluation, Element), 0 root (—), 9 top (Integer, ManagerDeclaration, StructuralConstraint, ValueTransfer, SettingValue, SettingValueList, PathList, ProcessorArchitectures, Element), 0 bottom (—).[information], [import] 2, [designData] 6, [settingDefinitions], [communicationDefinition] 2, [containmentDefinition] 2, [delegationDefinition] 2, [referenceDefinition] 2, [endpointDefinition] 2, [resourceDefinition] 2, [systemDefinition] 2, [constraintDefinition] 5, [manager] 6, [nameSpace] 3, [namespaceIdentity], [documentLanguage], [compilationHash], [sdm] 11, [friendlyname], [companyname], [copyright], [trademark], [description] 7, [comments], [compilerversion], [alias], [identity], [name] 10, [assemblyName], [version] 2, [publicKeyToken] 2, [culture] 2, [platform] 2, [sourcePath], [flow] 2, [relationshipConstraint] 6, [constraint] 6, [constraintGroup] 6, [hostingDefinition], [endpoint], [subsystem], [resource], [hosting] 2, [containment] 2, [connection] 2, [delegation] 2, [obreference], [layer], [extends] 2, [abstract] 2, [objectDefinition] 20, [simulationRoot] 2, [objectConstraint] 5, [reference] 3, [relationshipDefinition] 10, [clientDefinition], [serverDefinition], [guestDefinition], [hostDefinition], [parentDefinition], [memberDefinition], [proxyDefinition], [delegateDefinition], [dependentDefinition], [sourceDefinition], [settingValue] 3, [settingValueList] 3, [definition] 4, [member] 2, [minOccurs] 3, [maxOccurs] 3, [proxy], [guestMember], [hostMember], [clientMember], [serverMember], [childMember], [proxyMember], [delegateMember], [dependentMember], [sourceMember], [primaryRole], [primaryObjectDefinition], [secondaryRole], [secondaryObjectDefinition], [objectConstraint_OC] 2, [targetRole], [targetObjectDefinition], [delegationAware], [relationshipConstraint_RC] 3, [constraintGroup_CG] 2, [evaluate] 2, [raiseError] 2, [returnEarly] 2, [targetDefinition], [input] 2, [settingDeclaration] 2, [className] 2, [definition_DSD], [value] 14, [publicKey], [output], [path] 3, [cast] 2, [convert] 3, [fixed] 2, [replace], [clrNameSpace], [facet], [settingAttributes], [list], [access], [secure] 2, [deploymentTime], [required], [canBeNull], [elementsCanBeNull], [defaultRead], [defaultWrite], [ReadWrite], [ReadOnly], [WriteOnly], [Always], [PerInstance], [Never] 2, [contents] 2, [settingValueAttributes] 2, [null] 2, [unset], [entry], [resourceId] 2, [substitute], [descriptionEntry], [settingPath], [Host], [Guest], [Parent], [Member], [Source], [Dependent], [Proxy], [Delegate], [Client], [Server], [x86] 2, [ia64] 2, [amd64] 2, [wow64] 2, [msil] 2, [shx] 2, [arm] 2, [data] 2, [*], [neutral], [Design].String ::= string
Integer ::= integer
Boolean ::= "true" "false"
SystemDefinitionModel ::= [information]::Information [import]::Import [designData]::DesignData [settingDefinitions]::SettingDefinitions [communicationDefinition]::SDMCommunicationDefinition [containmentDefinition]::SDMContainmentDefinition [delegationDefinition]::SDMDelegationDefinition [referenceDefinition]::SDMReferenceDefinition [endpointDefinition]::SDMEndpointDefinition [resourceDefinition]::SDMResourceDefinition [systemDefinition]::SDMSystemDefinition [constraintDefinition]::SDMConstraintDefinition [manager]::SDMManager [nameSpace]::NameSpace [namespaceIdentity]::NamespaceIdentity [documentLanguage]::Culture [compilationHash]::CompilationHashType
Information ::= [sdm]::SystemDefinitionModel [friendlyname]::String [companyname]::String [copyright]::String [trademark]::String [description]::Description [comments]::String [compilerversion]::FourPartVersionType
Import ::= [sdm]::SystemDefinitionModel [alias]::SimpleName [identity]::ImportNamespaceIdentity
ImportNamespaceIdentity ::= [import]::Import
SDMCommunicationDefinition ::= [sdm]::SystemDefinitionModel
SDMContainmentDefinition ::= [sdm]::SystemDefinitionModel
SDMDelegationDefinition ::= [sdm]::SystemDefinitionModel
SDMReferenceDefinition ::= [sdm]::SystemDefinitionModel
SDMEndpointDefinition ::= [sdm]::SystemDefinitionModel
SDMResourceDefinition ::= [sdm]::SystemDefinitionModel
SDMSystemDefinition ::= [sdm]::SystemDefinitionModel
SDMConstraintDefinition ::= [sdm]::SystemDefinitionModel
SDMManager ::= [sdm]::SystemDefinitionModel
ManagerDeclaration ::= SDMManager
ManagerDeclaration ::= [description]::Description [name]::SimpleName [assemblyName]::String [version]::FourPartVersionType [publicKeyToken]::PublicKeyTokenType [culture]::CultureNeutral [platform]::Platform [sourcePath]::Path
ObjectDefinition ::= SystemDefinition
ObjectDefinition ::= EndpointDefinition
ObjectDefinition ::= ResourceDefinition
ObjectDefinition ::= [flow]::OBFlow [relationshipConstraint]::OBRelationshipConstraint [constraint]::OBConstraint [constraintGroup]::OBConstraintGroup [endpointDefinition]::OBEndpointDefinition [systemDefinition]::OBSystemDefinition [resourceDefinition]::OBResourceDefinition [communicationDefinition]::OBCommunicationDefinition [containmentDefinition]::OBContainmentDefinition [delegationDefinition]::OBDelegationDefinition [referenceDefinition]::OBReferenceDefinition [hostingDefinition]::OBHostingDefinition [endpoint]::OBEndpoint [subsystem]::OBSubsystem [resource]::OBResource [hosting]::OBHosting [containment]::OBContainment [connection]::OBConnection [delegation]::OBDelegation [obreference]::OBReference [layer]::String [extends]::QualifiedName [abstract]::Boolean
OBFlow ::= [objectDefinition]::ObjectDefinition
OBRelationshipConstraint ::= [objectDefinition]::ObjectDefinition
OBConstraint ::= [objectDefinition]::ObjectDefinition
OBConstraintGroup ::= [objectDefinition]::ObjectDefinition
OBEndpointDefinition ::= [objectDefinition]::ObjectDefinition
OBSystemDefinition ::= [objectDefinition]::ObjectDefinition
OBResourceDefinition ::= [objectDefinition]::ObjectDefinition
OBCommunicationDefinition ::= [objectDefinition]::ObjectDefinition
OBContainmentDefinition ::= [objectDefinition]::ObjectDefinition
OBDelegationDefinition ::= [objectDefinition]::ObjectDefinition
OBReferenceDefinition ::= [objectDefinition]::ObjectDefinition
OBHostingDefinition ::= [objectDefinition]::ObjectDefinition
OBEndpoint ::= [objectDefinition]::ObjectDefinition
OBSubsystem ::= [objectDefinition]::ObjectDefinition
OBResource ::= [objectDefinition]::ObjectDefinition
OBHosting ::= [objectDefinition]::ObjectDefinition
OBContainment ::= [objectDefinition]::ObjectDefinition
OBConnection ::= [objectDefinition]::ObjectDefinition
OBDelegation ::= [objectDefinition]::ObjectDefinition
OBReference ::= [objectDefinition]::ObjectDefinition
SystemDefinition ::= SDMSystemDefinition
SystemDefinition ::= OBSystemDefinition
SystemDefinition ::= [simulationRoot]::Boolean
EndpointDefinition ::= SDMEndpointDefinition
EndpointDefinition ::= OBEndpointDefinition
EndpointDefinition ::= SDMEndpointDefinition OBEndpointDefinition
ResourceDefinition ::= SDMResourceDefinition
ResourceDefinition ::= OBResourceDefinition
ResourceDefinition ::= SDMResourceDefinition OBResourceDefinition
RelationshipDefinition ::= CommunicationDefinition
RelationshipDefinition ::= HostingDefinition
RelationshipDefinition ::= ContainmentDefinition
RelationshipDefinition ::= DelegationDefinition
RelationshipDefinition ::= ReferenceDefinition
RelationshipDefinition ::= [objectConstraint]::RDObjectConstraint [constraint]::RDConstraint [constraintGroup]::RDConstraintGroup [flow]::RDFlow [connection]::RDConnection [hosting]::RDHosting [delegation]::RDDelegation [reference]::RDReference [containment]::RDContainment [extends]::QualifiedName [abstract]::Boolean
RDObjectConstraint ::= [relationshipDefinition]::RelationshipDefinition
RDConstraint ::= [relationshipDefinition]::RelationshipDefinition
RDConstraintGroup ::= [relationshipDefinition]::RelationshipDefinition
RDFlow ::= [relationshipDefinition]::RelationshipDefinition
RDConnection ::= [relationshipDefinition]::RelationshipDefinition
RDHosting ::= [relationshipDefinition]::RelationshipDefinition
RDDelegation ::= [relationshipDefinition]::RelationshipDefinition
RDReference ::= [relationshipDefinition]::RelationshipDefinition
RDContainment ::= [relationshipDefinition]::RelationshipDefinition
CommunicationDefinition ::= SDMCommunicationDefinition
CommunicationDefinition ::= OBCommunicationDefinition
CommunicationDefinition ::= [clientDefinition]::QualifiedName [serverDefinition]::QualifiedName
HostingDefinition ::= OBHostingDefinition
HostingDefinition ::= [guestDefinition]::QualifiedName [hostDefinition]::QualifiedName [simulationRoot]::Boolean
ContainmentDefinition ::= SDMContainmentDefinition
ContainmentDefinition ::= OBContainmentDefinition
ContainmentDefinition ::= [parentDefinition]::QualifiedName [memberDefinition]::QualifiedName
DelegationDefinition ::= SDMDelegationDefinition
DelegationDefinition ::= OBDelegationDefinition
DelegationDefinition ::= [proxyDefinition]::QualifiedName [delegateDefinition]::QualifiedName
ReferenceDefinition ::= SDMReferenceDefinition
ReferenceDefinition ::= OBReferenceDefinition
ReferenceDefinition ::= [dependentDefinition]::QualifiedName [sourceDefinition]::QualifiedName
Member ::= ObjectMember
Member ::= RelationshipMember
Member ::= ConstraintMember
Member ::= FlowMember
Member ::= SettingMember
Member ::= [description]::Description [designData]::DesignData [settingValue]::MembSettingValue [settingValueList]::MembSettingValueList [name]::SimpleName [definition]::QualifiedName
MembSettingValue ::= [member]::Member
MembSettingValueList ::= [member]::Member
ObjectMember ::= SystemMember
ObjectMember ::= EndpointMember
ObjectMember ::= ResourceMember
ObjectMember ::= [minOccurs]::MinOccurs [maxOccurs]::MaxOccurs [reference]::Boolean [proxy]::Boolean
RelationshipMember ::= HostingMember
RelationshipMember ::= CommunicationMember
RelationshipMember ::= ContainmentMember
RelationshipMember ::= DelegationMember
RelationshipMember ::= ReferenceMember
RelationshipMember ::= HostingMember CommunicationMember ContainmentMember DelegationMember ReferenceMember
SystemMember ::= OBSubsystem
EndpointMember ::= OBEndpoint
ResourceMember ::= OBResource
HostingMember ::= OBHosting
HostingMember ::= RDHosting
HostingMember ::= [guestMember]::Path [hostMember]::Path
CommunicationMember ::= OBConnection
CommunicationMember ::= RDConnection
CommunicationMember ::= [clientMember]::Path [serverMember]::Path
ContainmentMember ::= OBContainment
ContainmentMember ::= RDContainment
ContainmentMember ::= [childMember]::Path
DelegationMember ::= OBDelegation
DelegationMember ::= RDDelegation
DelegationMember ::= [proxyMember]::Path [delegateMember]::Path
ReferenceMember ::= OBReference
ReferenceMember ::= RDReference
ReferenceMember ::= [dependentMember]::Path [sourceMember]::Path
DesignData ::=
[nameSpace]::NameSpaceNameSpace ::= [designData]::DesignData
ObjectConstraint ::= RDObjectConstraint
ObjectConstraint ::= RCObjectConstraint
ObjectConstraint ::= CGObjectConstraint
ObjectConstraint ::= CDObjectConstraint
ObjectConstraint ::= [constraint]::OCConstraint [relationshipConstraint]::OCRelationshipConstraint [constraintGroup]::OCConstraintGroup [primaryRole]::RolesList [primaryObjectDefinition]::QualifiedName [secondaryRole]::RolesList [secondaryObjectDefinition]::QualifiedName [minOccurs]::MinOccurs [maxOccurs]::MaxOccurs
OCConstraint ::= [objectConstraint]::ObjectConstraint
OCRelationshipConstraint ::= [objectConstraint_OC]::ObjectConstraint
OCConstraintGroup ::= [objectConstraint_OC]::ObjectConstraint
RelationshipConstraint ::= OBRelationshipConstraint
RelationshipConstraint ::= OCRelationshipConstraint
RelationshipConstraint ::= RCRelationshipConstraint
RelationshipConstraint ::= CGRelationshipConstraint
RelationshipConstraint ::= CDRelationshipConstraint
RelationshipConstraint ::= [constraint]::RCConstraint [relationshipConstraint]::RCRelationshipConstraint [objectConstraint]::RCObjectConstraint [constraintGroup]::RCConstraintGroup [relationshipDefinition]::QualifiedName [targetRole]::RolesList [targetObjectDefinition]::QualifiedName [minOccurs]::MinOccurs [maxOccurs]::MaxOccurs [delegationAware]::Boolean
RCConstraint ::= [relationshipConstraint]::RelationshipConstraint
RCRelationshipConstraint ::= [relationshipConstraint_RC]::RelationshipConstraint
RCObjectConstraint ::= [relationshipConstraint_RC]::RelationshipConstraint
RCConstraintGroup ::= [relationshipConstraint_RC]::RelationshipConstraint
ConstraintGroup ::= OBConstraintGroup
ConstraintGroup ::= RDConstraintGroup
ConstraintGroup ::= OCConstraintGroup
ConstraintGroup ::= RCConstraintGroup
ConstraintGroup ::= CDConstraintGroup
ConstraintGroup ::= [constraint]::CGConstraint [relationshipConstraint]::CGRelationshipConstraint [objectConstraint]::CGObjectConstraint
CGConstraint ::= [constraintGroup]::ConstraintGroup
CGRelationshipConstraint ::= [constraintGroup_CG]::ConstraintGroup
CGObjectConstraint ::= [constraintGroup_CG]::ConstraintGroup
StructuralConstraint ::= ObjectConstraint
StructuralConstraint ::= RelationshipConstraint
StructuralConstraint ::= ConstraintGroup
StructuralConstraint ::= [description]::Description [designData]::DesignData [name]::SimpleName [evaluate]::ConstraintEvaluation [raiseError]::Boolean [returnEarly]::Boolean
ConstraintDefinition ::= SDMConstraintDefinition
ConstraintDefinition ::= [relationshipConstraint]::CDRelationshipConstraint [constraintGroup]::CDConstraintGroup [objectConstraint]::CDObjectConstraint [constraint]::CDConstraint [targetDefinition]::QualifiedName [returnEarly]::Boolean
CDRelationshipConstraint ::= [constraintDefinition]::ConstraintDefinition
CDConstraintGroup ::= [constraintDefinition]::ConstraintDefinition
CDObjectConstraint ::= [constraintDefinition]::ConstraintDefinition
CDConstraint ::= [constraintDefinition]::ConstraintDefinition
ConstraintMember ::= OBConstraint
ConstraintMember ::= RDConstraint
ConstraintMember ::= OCConstraint
ConstraintMember ::= RCConstraint
ConstraintMember ::= CGConstraint
ConstraintMember ::= CDConstraint
ConstraintMember ::=
[input]::Input [raiseError]::Boolean [evaluate]::ConstraintEvaluationDefinition ::= ObjectDefinition
Definition ::= RelationshipDefinition
Definition ::= ConstraintDefinition
Definition ::= FlowDefinition
Definition ::= [description]::Description [designData]::DesignData [settingDeclaration]::DefSettingDeclaration [settingValue]::DefSettingValue [settingValueList]::DefSettingValueList [name]::SimpleName [manager]::QualifiedName [className]::String
DefSettingDeclaration ::= [definition_DSD]::Definition
DefSettingValue ::= [definition]::Definition
DefSettingValueList ::= [definition]::Definition
SimpleName ::= [value]::String
QualifiedName ::= [value]::String
Path ::= [value]::String
SettingPath ::= [value]::String
NamespaceIdentity ::= ImportNamespaceIdentity
NamespaceIdentity ::= [name]::Path [version]::FourPartVersionType [publicKey]::PublicKeyType [publicKeyToken]::PublicKeyTokenType [culture]::CultureNeutral [platform]::Platform
FlowDefinition ::= [description]::Description [designData]::DesignData [settingDeclaration]::DefSettingDeclaration [settingValue]::DefSettingValue [settingValueList]::DefSettingValueList [name]::SimpleName [manager]::QualifiedName [className]::String
FlowMember ::= OBFlow
FlowMember ::= RDFlow
FlowMember ::= [input]::Input [output]::Output
ValueTransfer ::= Output
ValueTransfer ::= Input
ValueTransfer ::= [name]::SimpleName [path]::SettingPath [cast]::Boolean [convert]::Boolean
Output ::= [fixed]::Boolean [replace]::Boolean
Input ::= [name]::SimpleName [path]::SettingPath [cast]::Boolean [convert]::Boolean
SettingDefinitions ::= [nameSpace]::NameSpace [manager]::QualifiedName [clrNameSpace]::String
SettingMember ::= DefSettingDeclaration
SettingMember ::=
[facet]::Facet [settingAttributes]::SettingsAttributesSettingsAttributes ::= [list]::Boolean [access]::SettingMemberAccess [secure]::SettingMemberSecure [deploymentTime]::Boolean [required]::Boolean [canBeNull]::Boolean [elementsCanBeNull]::Boolean [defaultRead]::String [defaultWrite]::String
SettingMemberAccess ::= [ReadWrite]::ε [ReadOnly]::ε [WriteOnly]::ε
SettingMemberSecure ::= [Always]::ε [PerInstance]::ε [Never]::ε
Facet ::= [name]::SimpleName
SettingValue ::= MembSettingValue
SettingValue ::= DefSettingValue
SettingValue ::=
[contents]::String [settingValueAttributes]::SettingValueAttributesSettingValueList ::= MembSettingValueList
SettingValueList ::= DefSettingValueList
SettingValueList ::=
[value]::Value [settingValueAttributes]::SettingValueAttributesValue ::=
[contents]::String [null]::BooleanSettingValueAttributes ::= [path]::SettingPath [null]::Boolean [fixed]::Boolean [unset]::Boolean [definition]::QualifiedName [convert]::Boolean [secure]::Boolean [reference]::Boolean
Description ::=
[entry]::Entry [resourceId]::String [manager]::QualifiedNameEntry ::= [description]::Description
DescriptionEntry ::= Entry
DescriptionEntry ::= [name]::String [resourceId]::String [manager]::QualifiedName [substitute]::Substitute
Substitute ::= [descriptionEntry]::DescriptionEntry
PathList ::= Substitute
PathList ::=
[settingPath]::SettingPathMaxOccurs ::= [value]::String
MinOccurs ::= [value]::String
FourPartVersionType ::= [value]::String
PublicKeyType ::= [value]::String
PublicKeyTokenType ::= [value]::String
CompilationHashType ::= [value]::String
RolesList ::= [Host]::ε [Guest]::ε [Parent]::ε [Member]::ε [Source]::ε [Dependent]::ε [Proxy]::ε [Delegate]::ε [Client]::ε [Server]::ε
Culture ::= [value]::String
CultureNeutral ::= [value]::String
ProcessorArchitectures ::= [x86]::ε [ia64]::ε [amd64]::ε [wow64]::ε [msil]::ε [shx]::ε [arm]::ε [data]::ε
Platform ::= [x86]::ε [ia64]::ε [amd64]::ε [wow64]::ε [msil]::ε [shx]::ε [arm]::ε [data]::ε [*]::ε [neutral]::ε
ConstraintEvaluation ::= [Design]::ε [Never]::ε
Element ::= NameSpace
Element ::= SimpleName
Element ::= QualifiedName
Element ::= Path
Element ::= SettingPath
Element ::= MaxOccurs
Element ::= MinOccurs
Element ::= FourPartVersionType
Element ::= PublicKeyType
Element ::= PublicKeyTokenType
Element ::= CompilationHashType
Element ::= Culture
Element ::= CultureNeutral
Element ::= [value]::String