
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]::VulnerabilityGenericThreat ::= Threat
TrafficClass ::=
[traffic]::TrafficInterfaceCharacteristic ::= 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]::EventRequirement ::= 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]::ReusableObjectGenericSite ::= 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]::ReusableObjectGenericCenter ::= 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]::InterfaceCommunicationObject ::= 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]::ReferenceTechnicalComponentTechnicalComponentReferenceFrame ::=
[composedOf]::ReferenceTechnicalComponentReferenceLogicalComponent ::=
[composedOf]::ReferenceLogicalComponentReferenceService ::=
[composedOf]::ReferenceObjectServiceReferenceFrame ::= [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"