Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: dsl/architecture/agate/extracted
Source used for this grammar: Albin Jossic, Agate.ecore
, 2006/06/06
Entity
, Object
, AGATEObject
, Objective
, OperationalContext
, Project
, Standard
, GenericStandard
, Threat
, GenericThreat
, TrafficClass
, InterfaceCharacteristic
, ConfidentialityLevel
, Protocol
, Flow
, Other
, ProjectContextElement
, DataClass
, Event
, Risk
, Stake
, Requirement
, CountermeasureRequirement
, TechnicalRequirement
, PerformanceRequirement
, InteroperabilityRequirement
, OperationalRequirement
, SecurityRequirement
, DomainRelation
, HierarchicalRelation
, FunctionalRelation
, Dependence
, ArchitectureObject
, ReusableObject
, Site
, GenericSite
, Package
, Service
, TechnicalComponent
, LogicalComponent
, OperationalFunction
, OrganizationObject
, Center
, GenericCenter
, InformationSystem
, Role
, GenericRole
, Actor
, GenericActor
, TelecomOperator
, CommunicationObject
, Interface
, Interconnection
, InformationFlow
, Traffic
, Information
, ReferenceObject
, ReferenceTechnicalComponent
, TechnicalComponentReferenceFrame
, ReferenceLogicalComponent
, ReferenceService
, ServiceReferenceFrame
, MADIOSObject
, Process
, Procedure
, Operation
, Activity
, String
, Integer
, Boolean
), 0 root (—), 2 top (Entity
, ServiceReferenceFrame
), 2 bottom (Vulnerability
, Means
).[type]
13, [priority]
7, [indicator]
, [traceability]
, [notice]
3, [description]
3, [sensitivity]
3, [name]
3, [comment]
3, [isValidIn]
3, [isAssociatedWith]
3, [moi]
, [moa]
, [director]
, [defines]
2, [associatedISs]
, [caracterizeIC]
, [caracterizeTC]
, [caracterizeLC]
, [caracterizeP]
, [caracterizeR]
, [nature]
2, [DCSSI]
, [clarifies]
, [traffic]
, [isoLevel]
, [unit]
2, [disponibilityLevel]
, [integrityLevel]
, [confidencialityLevel]
, [isCoveredByCR]
, [isCoveredByAO]
, [isCoveredByMO]
, [isCoveredByDR]
, [relatesToRO]
, [relatesToCO]
, [isGeneratedBy]
, [relativeDate]
, [date]
, [events]
, [residualVulnerability]
, [criticality]
5, [state]
5, [isCoveredBy]
7, [characterizes]
5, [necessaryObjectOF]
, [dependentObjectOF]
, [necessaryObjectOO]
, [dependentObjectOO]
, [necessaryObjectP]
2, [dependentObjectP]
2, [necessaryObjectS]
, [dependentObjectS]
, [necessaryObjectLC]
, [dependentObjectLC]
, [necessaryObjectC]
, [dependentObjectC]
, [necessaryObjectIS]
, [dependentObjectIS]
, [localization]
, [deployedObjects]
2, [subPackage]
, [time]
2, [groupedObjects]
, [isCoveredByLC]
, [isCoveredByTC]
, [composedOf]
10, [Statut]
, [isASpecializationOf]
3, [cots]
, [editor]
, [constructor]
, [version]
2, [technology]
, [definedExtension]
, [statut]
2, [interfaces]
4, [isCoveredByP]
5, [isCoveredByS]
4, [membershipCountry]
, [currentLocation]
, [startServiceDate]
, [stopServiceDate]
, [isGeneric]
, [functionalDomain]
, [associatedProjects]
, [fulfills]
, [fixes]
, [usedBy]
, [contractType]
, [characteristics]
, [linkType]
, [between]
, [frequency]
, [media]
, [continuity]
, [myContainer]
, [availabilityRatio]
, [integrity]
, [interoperabilityLevel]
2, [mediumFlow]
, [maximumFlow]
, [duration]
, [unitMediumFlow]
, [averageEvent]
, [maximumFlowOverOneDuration]
, [transports]
, [receiverP]
2, [transmitterP]
2, [receiverOO]
, [transmitterOO]
, [receiverOF]
, [transmitterOF]
, [sequence]
, [trafficClass]
, [dataClass]
, [receiverIS]
, [transmitterIS]
, [receiverC]
, [transmitterC]
, [receiverTO]
, [transmitterTO]
, [receiverLC]
, [transmitterLC]
, [receiverTC]
, [transmitterTC]
, [format]
, [storageSupport]
, [persistence]
, [DataType]
, [composedOfRS]
, [composedOfRLC]
, [isisCoveredByS]
.Entity ::= Object
Object ::= AGATEObject
Object ::= ReferenceObject
Object ::= MADIOSObject
AGATEObject ::= Objective
AGATEObject ::= OperationalContext
AGATEObject ::= Project
AGATEObject ::= GenericStandard
AGATEObject ::= GenericThreat
AGATEObject ::= TrafficClass
AGATEObject ::= InterfaceCharacteristic
AGATEObject ::= ProjectContextElement
AGATEObject ::= DataClass
AGATEObject ::= Event
AGATEObject ::= Risk
AGATEObject ::= Stake
AGATEObject ::= Requirement
AGATEObject ::= Means
AGATEObject ::= DomainRelation
AGATEObject ::= ArchitectureObject
Objective ::= [type]::String [priority]::Integer [indicator]::String [traceability]::String
OperationalContext ::= [notice]::String [description]::String [sensitivity]::Integer [name]::String [comment]::String [isValidIn]::OperationalContext [isAssociatedWith]::Stake
Project ::= [moi]::Role [moa]::Role [director]::Role [defines]::ProjectContextElement[associatedISs]::InformationSystem
Standard ::= [caracterizeIC]::InterfaceCharacteristic[caracterizeTC]::TechnicalComponent [caracterizeLC]::LogicalComponent [caracterizeP]::Package [caracterizeR]::Requirement
GenericStandard ::= Standard
Threat ::=
[nature]::String [DCSSI]::String [clarifies]::Vulnerability
GenericThreat ::= Threat
TrafficClass ::=
[traffic]::Traffic
InterfaceCharacteristic ::= ConfidentialityLevel
InterfaceCharacteristic ::= Protocol
InterfaceCharacteristic ::= Flow
InterfaceCharacteristic ::= Other
ConfidentialityLevel ::= [type]::String
Protocol ::= [isoLevel]::Integer
Flow ::= [unit]::String
Other ::= [type]::String
ProjectContextElement ::= [type]::String
DataClass ::= [notice]::String [description]::String [sensitivity]::Integer [name]::String [comment]::String [isValidIn]::OperationalContext [isAssociatedWith]::Stake
Event ::= [notice]::String [description]::String [sensitivity]::Integer [name]::String [comment]::String [isValidIn]::OperationalContext [isAssociatedWith]::Stake
Risk ::= [disponibilityLevel]::Integer [integrityLevel]::Integer [confidencialityLevel]::Integer [isCoveredByCR]::CountermeasureRequirement [isCoveredByAO]::ArchitectureObject [isCoveredByMO]::MADIOSObject [isCoveredByDR]::DomainRelation [relatesToRO]::ReusableObject [relatesToCO]::CommunicationObject [isGeneratedBy]::Threat
Stake ::=
[type]::String [relativeDate]::String [unit]::String [date]::String [events]::Event
Requirement ::= CountermeasureRequirement
Requirement ::= TechnicalRequirement
Requirement ::= PerformanceRequirement
Requirement ::= InteroperabilityRequirement
Requirement ::= OperationalRequirement
Requirement ::= SecurityRequirement
CountermeasureRequirement ::= [type]::String [residualVulnerability]::String
TechnicalRequirement ::= [criticality]::Integer [priority]::String [state]::String [isCoveredBy]::ArchitectureObject[characterizes]::ArchitectureObject
PerformanceRequirement ::= [criticality]::Integer [priority]::String [state]::String [isCoveredBy]::ArchitectureObject[characterizes]::ArchitectureObject
InteroperabilityRequirement ::= [criticality]::Integer [priority]::String [state]::String [isCoveredBy]::ArchitectureObject[characterizes]::ArchitectureObject
OperationalRequirement ::= [criticality]::Integer [priority]::String [state]::String [isCoveredBy]::ArchitectureObject[characterizes]::ArchitectureObject
SecurityRequirement ::= [criticality]::Integer [priority]::String [state]::String [isCoveredBy]::ArchitectureObject[characterizes]::ArchitectureObject
DomainRelation ::= HierarchicalRelation
DomainRelation ::= FunctionalRelation
DomainRelation ::= Dependence
HierarchicalRelation ::= ε
FunctionalRelation ::= [necessaryObjectOF]::OperationalFunction [dependentObjectOF]::OperationalFunction [necessaryObjectOO]::OrganizationObject [dependentObjectOO]::OrganizationObject [necessaryObjectP]::Package [dependentObjectP]::Package
Dependence ::= [type]::String [necessaryObjectS]::Service [dependentObjectS]::Service [necessaryObjectLC]::LogicalComponent [dependentObjectLC]::LogicalComponent [necessaryObjectP]::Package [dependentObjectP]::Package [necessaryObjectC]::Center [dependentObjectC]::Center [necessaryObjectIS]::InformationSystem [dependentObjectIS]::InformationSystem
ArchitectureObject ::= ReusableObject
ArchitectureObject ::= CommunicationObject
ReusableObject ::= GenericSite
ReusableObject ::= Package
ReusableObject ::= Service
ReusableObject ::= TechnicalComponent
ReusableObject ::= LogicalComponent
ReusableObject ::= OperationalFunction
ReusableObject ::= OrganizationObject
Site ::=
[type]::String [localization]::String [deployedObjects]::ReusableObject
GenericSite ::= Site
Package ::= [subPackage]::Package[time]::Role [groupedObjects]::ReusableObject [isCoveredByLC]::LogicalComponent [isCoveredByTC]::TechnicalComponent [composedOf]::Interface
Service ::= [Statut]::String [isASpecializationOf]::ReferenceService [isCoveredBy]::LogicalComponent
TechnicalComponent ::= [type]::String [cots]::Boolean [editor]::Boolean [constructor]::Boolean [version]::String [technology]::String [definedExtension]::String [statut]::String [composedOf]::TechnicalComponent[isASpecializationOf]::ReferenceTechnicalComponent [interfaces]::Interface
LogicalComponent ::= [type]::String [statut]::String [composedOf]::LogicalComponent[isASpecializationOf]::ReferenceLogicalComponent [interfaces]::Interface [isCoveredBy]::TechnicalComponent
OperationalFunction ::= [composedOf]::OperationalFunction[isCoveredByP]::Package [isCoveredByS]::Service
OrganizationObject ::= GenericCenter
OrganizationObject ::= InformationSystem
OrganizationObject ::= GenericRole
OrganizationObject ::= GenericActor
Center ::=
[deployedObjects]::ReusableObject
GenericCenter ::= Center
InformationSystem ::= [nature]::String [version]::String [membershipCountry]::String [currentLocation]::String [startServiceDate]::String [stopServiceDate]::String [isGeneric]::Boolean [functionalDomain]::String [type]::String [composedOf]::InformationSystem[associatedProjects]::Project [defines]::Objective [fulfills]::Role [fixes]::OperationalContext [usedBy]::Actor [interfaces]::Interface
Role ::= [type]::String
GenericRole ::= Role
Actor ::= TelecomOperator
GenericActor ::= Actor
TelecomOperator ::=
[contractType]::String [interfaces]::Interface
CommunicationObject ::= Interface
CommunicationObject ::= Interconnection
CommunicationObject ::= InformationFlow
CommunicationObject ::= Traffic
CommunicationObject ::= Information
Interface ::= [characteristics]::InterfaceCharacteristic[composedOf]::Interface
Interconnection ::= [linkType]::String [between]::Interface
InformationFlow ::= [priority]::Integer [frequency]::String [media]::String [continuity]::String [myContainer]::String [time]::String [availabilityRatio]::String [integrity]::Integer [interoperabilityLevel]::Integer [mediumFlow]::String [maximumFlow]::String [duration]::String [unitMediumFlow]::String [averageEvent]::String [maximumFlowOverOneDuration]::String [transports]::Information [receiverP]::Package [transmitterP]::Package [receiverOO]::OrganizationObject [transmitterOO]::OrganizationObject [receiverOF]::OperationalFunction [transmitterOF]::OperationalFunction
Traffic ::= [sequence]::String [type]::String [interoperabilityLevel]::Integer [trafficClass]::TrafficClass [dataClass]::DataClass [receiverP]::Package [transmitterP]::Package [receiverIS]::InformationSystem [transmitterIS]::InformationSystem [receiverC]::Center [transmitterC]::Center [receiverTO]::TelecomOperator [transmitterTO]::TelecomOperator [receiverLC]::LogicalComponent [transmitterLC]::LogicalComponent [receiverTC]::TechnicalComponent [transmitterTC]::TechnicalComponent
Information ::= [format]::String [storageSupport]::String [persistence]::String [DataType]::DataClass
ReferenceObject ::= ReferenceTechnicalComponent
ReferenceObject ::= TechnicalComponentReferenceFrame
ReferenceObject ::= ReferenceLogicalComponent
ReferenceObject ::= ReferenceService
ReferenceTechnicalComponent ::=
[composedOf]::ReferenceTechnicalComponent
TechnicalComponentReferenceFrame ::=
[composedOf]::ReferenceTechnicalComponent
ReferenceLogicalComponent ::=
[composedOf]::ReferenceLogicalComponent
ReferenceService ::=
[composedOf]::ReferenceObject
ServiceReferenceFrame ::= [composedOfRS]::ReferenceService[composedOfRLC]::ReferenceLogicalComponent
MADIOSObject ::= Process
MADIOSObject ::= Procedure
MADIOSObject ::= Operation
MADIOSObject ::= Activity
Process ::= [isCoveredByP]::Package[isCoveredByS]::Service
Procedure ::= [isCoveredByP]::Package[isCoveredByS]::Service
Operation ::= [isCoveredByP]::Package[isCoveredByS]::Service
Activity ::= [isCoveredByP]::Package[isisCoveredByS]::Service
String ::= string
Integer ::= integer
Boolean ::= "true" "false"