Browsable ProMarte a UML profile for MARTE 0.1 Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/ProMarte/extracted
Source used for this grammar: Albin Jossic, ProMarte a UML profile for MARTE 0.1, ProMarte.ecore, 2006/06/06

Summary

Syntax

TimeBase ::=
	SingleTimeBase
TimeBase ::=
	DiscreteTimeBase
TimeBase ::=
	MultipleTimeBase
Instant ::=
	SingleInstant
Instant ::=
	DiscreteInstant
Instant ::=
	CoincidencePoint
TimeValue ::=
	SingleTimeValue
TimeValue ::=
	MultipleTimeValue
TimeValue ::=
	DiscreteTimeValue
TimeInterval ::=
	SingleTimeInterval
TimeInterval ::=
	DiscreteTimeInterval
Interval ::=
	SingleInterval
Interval ::=
	MultipleInterval
SingleTimeBase ::=
	[currentValue]::SingleTimeValue [maximumValue]::SingleTimeValue [currentInstant]::SingleInstant
SingleInstant ::=
	[coPoint]::CoincidencePoint
SingleInterval ::=
	[first]::SingleInstant [last]::SingleInstant [members]::SingleInstant+
SingleTimeValue ::=
	[denotedInstant]::Instant+ [ref]::TimeBase
SingleTimeInterval ::=
	[start]::SingleTimeValue [end]::SingleTimeValue
DiscreteTimeBase ::=
	Clock
DiscreteTimeBase ::=
	[refEvent]::Event
DiscreteInstant ::=
	[next]::DiscreteInstant [previous]::DiscreteInstant [refOcc]::EventOccurence
EventOccurence ::=
	TimedEventOccurence
MultipleTimeBase ::=
	[bases]::SingleTimeBase+
CoincidencePoint ::=
	[coincidenceInstants]::SingleInstant+
MultipleInterval ::=
	[first]::CoincidencePoint+ [last]::CoincidencePoint+
MultipleTimeValue ::=
	[values]::SingleTimeValue+
MetricTimeValue ::=
	ε
DiscreteTimeValue ::=
	MetricTimeValue
MetricTimeInterval ::=
	ε
DiscreteTimeInterval ::=
	MetricTimeInterval
SimultaneousEventOccurrence ::=
	[at]::Instant [occurence]::TimedEventOccurence
TimedEvent ::=
	[timestamp]::MetricTimeValue+
TimedEventOccurence ::=
	[at]::Instant [timestamp]::TimeValue
TimedAction ::=
	Delay
TimedAction ::=
	[duration]::TimeInterval+ [start]::TimeValue+ [end]::TimeValue+
Delay ::=
	[duration]::TimeInterval+ [start]::TimeValue+ [end]::TimeValue+
TimingMechanism ::=
	Timer
TimingMechanism ::=
	Clock
TimingMechanism ::=
	[stability]::String [drift]::String [skew]::String [origin]::TimedEvent [resolution]::MetricTimeInterval [refClock]::Clock [state]::String
Clock ::=
	[accuracy]::MetricTimeInterval [offset]::MetricTimeInterval [generatedInterrupt]::ClockInterrupt+
Timer ::=
	[isPeriodic]::Boolean [duration]::MetricTimeValue [genratedTimeOuts]::TimeOut+
TimeOut ::=
	ε
ClockInterrupt ::=
	ε
System ::=
	[dimension]::Quantity+
Model ::=
	AnnotatedModel
Model ::=
	[ownes]::ModelElement+
AnnotatedModel ::=
	[conformsTo]::ModelingConcern+ [import]::NFPLibrary+
ModelElement ::=
	AnnotatedModelElement
ModelElement ::=
	[owner]::Model
AnnotatedModelElement ::=
	Classifier
AnnotatedModelElement ::=
	InstanceSpecification
AnnotatedModelElement ::=
	[annotation]::NFP+
NFP ::=
	QualitativeNFP
NFP ::=
	QuantitativeNFP
NFP ::=
	ComplexNFP
NFP ::=
	[measurementQuantity]::Quantity [storedBy]::NFPLibrary+ [groupedBy]::NFPCategory
NFPLibrary ::=
	[refersTo]::NFPLibrary+ [usedNFP]::NFP+
NFPCategory ::=
	[setOf]::NFP+ [ownes]::NFPCategory+ [owner]::NFPCategory
ModelingConcern ::=
	AnalysisConcern
ModelingConcern ::=
	DesignConcern
ModelingConcern ::=
	[relevantQuantity]::Quantity+ [annotedModel]::AnnotatedModel
AnalysisConcern ::=
	[relevantQuantity]::Quantity+ [annotedModel]::AnnotatedModel
DesignConcern ::=
	[relevantQuantity]::Quantity+ [annotedModel]::AnnotatedModel
Quantity ::=
	ε
BasicQuantity ::=
	ε
DerivedQuantity ::=
	ε
QualitativeNFP ::=
	[parameter]::NFP+
QuantitativeNFP ::=
	[sampleSet]::Realization+ [measure]::Measure+
Realization ::=
	[function]::Measure+ [owner]::QuantitativeNFP
Measure ::=
	[appliesTo]::Realization+ [owner]::QuantitativeNFP
ComplexNFP ::=
	[parent]::ComplexNFP+ [child]::ComplexNFP+ [ownes]::BasicNFP+
BasicNFP ::=
	[statisticalQualifier]::StatisticalQualifierKinds [directon]::DirectionKinds [typedBy]::NFPType [valuedBy]::NFPValueSpecification+ [dimensionOf]::ComplexNFP+
NFPType ::=
	NFPInstantType
NFPType ::=
	NFPurationType
NFPType ::=
	NFPRateType
NFPType ::=
	NFPProbabilityType
NFPType ::=
	NFPSizeType
NFPType ::=
	[valueSpecificationLanguage]::String [source]::SourceKinds [constrainedSpec]::NFPValueSpecification+
NFPInstantType ::=
	[value]::String [unit]::InstantUnitKinds
NFPurationType ::=
	[value]::String [unit]::DurationUnitKinds
NFPRateType ::=
	[value]::String [unit]::RateUnitKinds
NFPProbabilityType ::=
	[value]::String [unit]::ProbabilityUnitKinds
NFPSizeType ::=
	[value]::String [unit]::SizeUnitKinds
NFPValueSpecification ::=
	NFPConstant
NFPValueSpecification ::=
	NFPVariable
NFPValueSpecification ::=
	NFPExpression
NFPValueSpecification ::=
	[constrainedBy]::NFPType+ [expression]::NFPExpression
NFPConstant ::=
	NFPListConstant
NFPConstant ::=
	NFPStringConstant
NFPConstant ::=
	NFPIntegerConstant
NFPConstant ::=
	NFPRealConstant
NFPConstant ::=
	NFPBooleanConstant
NFPConstant ::=
	[ownerList]::NFPListConstant
NFPListConstant ::=
	[listElements]::NFPConstant+
NFPStringConstant ::=
	[body]::String
NFPIntegerConstant ::=
	[body]::Integer
NFPRealConstant ::=
	[bodyBeforeComa]::Integer [bodyAfterComa]::Integer
NFPBooleanConstant ::=
	[body]::Boolean
NFPVariable ::=
	[varName]::String
NFPExpression ::=
	[body]::String+ [operand]::NFPValueSpecification+
SourceKinds ::=
	[est]::ε
	[meas]::ε
	[req]::ε
	[implicit]::ε
	[calc]::ε
DirectionKinds ::=
	[increasing]::ε
	[decreasing]::ε
	[undefined]::ε
StatisticalQualifierKinds ::=
	[max]::ε
	[min]::ε
	[range]::ε
	[mean]::ε
	[variance]::ε
	[standardDeviation]::ε
	[percentil]::ε
	[frequency]::ε
	[moment]::ε
	[distribution]::ε
	[instantaneous]::ε
InstantUnitKinds ::=
	[TAI]::ε
	[UT0]::ε
	[UT1]::ε
	[UTC]::ε
	[TT]::ε
	[TDB]::ε
	[TCG]::ε
	[TCB]::ε
	[Sideral]::ε
	[Local]::ε
DurationUnitKinds ::=
	[ns]::ε
	[us]::ε
	[ms]::ε
	[s]::ε
	[min]::ε
	[hrs]::ε
	[dys]::ε
	[wks]::ε
	[mos]::ε
	[yrs]::ε
RateUnitKinds ::=
	[kbs]::ε
	[MIPS]::ε
ProbabilityUnitKinds ::=
	[us]::ε
	[s]::ε
SizeUnitKinds ::=
	[bits]::ε
	[bytes]::ε
	[Mb]::ε
	[MB]::ε
Classifier ::=
	ResourceClassifier
Classifier ::=
	ResourceServiceClassifier
InstanceSpecification ::=
	ResourceInstanceSpecification
InstanceSpecification ::=
	ResourceServiceInstanceSpecification
Hardware ::=
	[owner]::Hardware [containH]::Hardware+ [containHL]::HardwareLibrary+ [containHE]::HardwareEntity+ [deploymentConfiguration]::HardwareDeployment+
HardwareLibrary ::=
	[owner]::Hardware
HardwareEntity ::=
	ECU
HardwareEntity ::=
	[owner]::Hardware
HardwareDeployment ::=
	[owner]::Hardware [contain]::HardwareEntityInstance+
HardwareEntityInstance ::=
	ECUInstance
HardwareEntityInstance ::=
	ChannelInstance
HardwareEntityInstance ::=
	[owner]::HardwareDeployment
ECUInstance ::=
	[composedOf]::ECUGateInstance+
ChannelInstance ::=
	[gateInstances]::ECUGateInstance
ECUGateInstance ::=
	[channel]::ChannelInstance
ECU ::=
	[contain]::ECUGate+
ECUGate ::=
	[owner]::ECU [kindOf]::Channel
Channel ::=
	[specify]::ECUGate
AnalysisContext ::=
	[global]::ComplexNFP+ [workload]::Workload [behavior]::Behavior [usedResources]::Resource+
Workload ::=
	[transaction]::Transaction+
Transaction ::=
	[workload]::Workload+ [trigger]::Trigger+ [response]::Response
Trigger ::=
	[arrivalPattern]::ComplexNFP [effect]::Response+
Response ::=
	[efficiency]::ComplexNFP [endToEndLatency]::ComplexNFP [cause]::Trigger+ [behavior]::Scenario+
Behavior ::=
	[scenario]::Scenario+
Scenario ::=
	TimedAction
Scenario ::=
	Step
Scenario ::=
	[behavior]::Behavior+ [scenarionLatency]::ComplexNFP+ [steps]::Step+ [root]::Step [endToEndResponse]::Response
Step ::=
	[predecessor]::Step+ [successor]::Step+ [stepLatency]::ComplexNFP+ [usedResourceService]::Service+
Resource ::=
	BasicResource
Resource ::=
	StructuredResource
Resource ::=
	BasicResource
	StructuredResource
BasicResource ::=
	ε
StructuredResource ::=
	ProcessingResource
StructuredResource ::=
	ProcessResource
StructuredResource ::=
	LogicalResource
StructuredResource ::=
	ServerResource
StructuredResource ::=
	[basicResource]::BasicResource
ProcessingResource ::=
	[links]::Link+ [components]::Component+
Link ::=
	ε
ProcessResource ::=
	[components]::Component+
Component ::=
	StructuredComponent
Component ::=
	BasicComponent
Component ::=
	[process]::ProcessResource+ [interfaces]::Interface+
StructuredComponent ::=
	[process]::ProcessResource+ [interfaces]::Interface+
BasicComponent ::=
	[process]::ProcessResource+ [interfaces]::Interface+
LogicalResource ::=
	[basicResource]::BasicResource
ServerResource ::=
	[services]::Service+
Service ::=
	[resource]::ServerResource [interface]::Interface
Interface ::=
	[service]::Service
String ::=
	string
Integer ::=
	integer
Boolean ::=
	"true"
	"false"

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []