<?xml version="1.0" encoding="UTF-8"?> | |
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="formalml" nsURI="http://www.eclipse.org/efm/FormalML" nsPrefix="FormalML"> | |
<eAnnotations source="http://www.eclipse.org/OCL/Import"> | |
<details key="ecore" value="http://www.eclipse.org/emf/2002/Ecore"/> | |
</eAnnotations> | |
<eClassifiers xsi:type="ecore:EEnum" name="XliaModelKind"> | |
<eLiterals name="system"/> | |
<eLiterals name="package" value="1"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaModel"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="prolog" lowerBound="1" | |
eType="#//XliaObject" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="system" lowerBound="1" | |
eType="#//infrastructure/XliaSystem" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaNamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" | |
defaultValueLiteral="1.0"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaObject" eSuperTypes="#//XliaNamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" | |
eType="#//XliaNamedElement" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaSection" eSuperTypes="#//XliaNamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1" | |
eType="#//XliaAttribute" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaAttribute" eSuperTypes="#//XliaNamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eSubpackages name="common" nsURI="http://www.eclipse.org/efm/FormalML/Common" nsPrefix="Common"> | |
<eClassifiers xsi:type="ecore:EClass" name="AbstractElement" abstract="true"/> | |
<eClassifiers xsi:type="ecore:EClass" name="QualifiedName" eSuperTypes="#//common/AbstractElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isAmbiguous" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBooleanObject"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="pathName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nameBinding" upperBound="-1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unqualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="VisibilityKind"> | |
<eLiterals name="public"/> | |
<eLiterals name="private" value="1"/> | |
<eLiterals name="protected" value="2"/> | |
<eLiterals name="package" value="3"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//common/AbstractElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unrestrictedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="qualifiedName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visibility" eType="#//common/VisibilityKind" | |
defaultValueLiteral="protected"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Type" eSuperTypes="#//common/NamedElement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//common/Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ClassifierDefinition" eSuperTypes="#//common/Type"/> | |
</eSubpackages> | |
<eSubpackages name="infrastructure" nsURI="http://www.eclipse.org/efm/FormalML/Infrastructure" | |
nsPrefix="Infrastructure"> | |
<eClassifiers xsi:type="ecore:EEnum" name="DesignKind"> | |
<eLiterals name="model"/> | |
<eLiterals name="instance" value="1"/> | |
<eLiterals name="prototype" value="2"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Machine" eSuperTypes="#//common/ClassifierDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="input_enabled" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timed" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dense_timed" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="discrete_timed" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unsafe" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="design" lowerBound="1" | |
eType="#//infrastructure/DesignKind" defaultValueLiteral="prototype"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lifeline" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typedef" upperBound="-1" | |
eType="#//datatype/DataType" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" upperBound="-1" | |
eType="#//infrastructure/Variable" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="channel" upperBound="-1" | |
eType="#//infrastructure/Channel" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" | |
eType="#//infrastructure/Port" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="signal" upperBound="-1" | |
eType="#//infrastructure/Signal" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="buffer" upperBound="-1" | |
eType="#//infrastructure/Buffer" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="function" upperBound="-1" | |
eType="#//infrastructure/Function" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="routine" upperBound="-1" | |
eType="#//infrastructure/Routine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="procedure" upperBound="-1" | |
eType="#//infrastructure/Procedure" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" upperBound="-1" | |
eType="#//infrastructure/Machine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="instance" upperBound="-1" | |
eType="#//infrastructure/InstanceMachine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" upperBound="-1" | |
eType="#//infrastructure/Behavior" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="main" eType="#//infrastructure/Behavior" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PropertyPart"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1" | |
eType="#//infrastructure/Parameter" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typedef" upperBound="-1" | |
eType="#//datatype/DataType" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" upperBound="-1" | |
eType="#//infrastructure/Variable" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="channel" upperBound="-1" | |
eType="#//infrastructure/Channel" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" | |
eType="#//infrastructure/Port" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="signal" upperBound="-1" | |
eType="#//infrastructure/Signal" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="buffer" upperBound="-1" | |
eType="#//infrastructure/Buffer" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="function" upperBound="-1" | |
eType="#//infrastructure/Function" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CompositePart"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="routine" upperBound="-1" | |
eType="#//infrastructure/Routine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="procedure" upperBound="-1" | |
eType="#//infrastructure/Procedure" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" upperBound="-1" | |
eType="#//infrastructure/Machine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="instance" upperBound="-1" | |
eType="#//infrastructure/InstanceMachine" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" upperBound="-1" | |
eType="#//infrastructure/Behavior" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BehaviorPart"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" upperBound="-1" | |
eType="#//infrastructure/Behavior" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="main" eType="#//infrastructure/Behavior" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="XliaSystem" eSuperTypes="#//infrastructure/Machine"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Modifier"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="static" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="final" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="reference" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="volatile" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="optional" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PropertyDefinition" eSuperTypes="#//common/TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="modifier" eType="#//infrastructure/Modifier" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//infrastructure/PropertyDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="const" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="reference" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="macro" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="onWriteAction" eType="#//infrastructure/Routine" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Buffer" eSuperTypes="#//infrastructure/PropertyDefinition #//infrastructure/ComProtocol"/> | |
<eClassifiers xsi:type="ecore:EEnum" name="ChannelDirection"> | |
<eLiterals name="input"/> | |
<eLiterals name="inout" value="1"/> | |
<eLiterals name="output" value="2"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Port" eSuperTypes="#//infrastructure/PropertyDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//infrastructure/ChannelDirection" | |
defaultValueLiteral="inout"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="signal" upperBound="-1" | |
eType="#//infrastructure/Signal" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Channel" eSuperTypes="#//infrastructure/PropertyDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//infrastructure/ChannelDirection" | |
defaultValueLiteral="inout"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" eType="#//infrastructure/Machine"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" upperBound="-1" | |
eType="#//infrastructure/Port" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="signal" upperBound="-1" | |
eType="#//infrastructure/Signal" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Signal" eSuperTypes="#//common/ClassifierDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//infrastructure/ChannelDirection" | |
defaultValueLiteral="inout"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//infrastructure/PropertyDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="resultSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Procedure" eSuperTypes="#//statemachine/Statemachine"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Routine" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="macro" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameterSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="resultSet" eType="#//infrastructure/ParameterSet" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="bodyBlock" lowerBound="1" | |
eType="#//statement/BlockStatement" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InstanceMachine" eSuperTypes="#//common/TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="modifier" eType="#//infrastructure/Modifier" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//infrastructure/Machine"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="slot" upperBound="-1" | |
eType="#//infrastructure/SlotProperty" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="SlotProperty"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="xliaProperty" eType="#//infrastructure/PropertyDefinition"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ParameterDirectionKind"> | |
<eLiterals name="in"/> | |
<eLiterals name="inout" value="1"/> | |
<eLiterals name="out" value="2"/> | |
<eLiterals name="return" value="3"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//infrastructure/PropertyDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" lowerBound="1" | |
eType="#//infrastructure/ParameterDirectionKind" defaultValueLiteral="in"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ParameterSet"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1" | |
eType="#//infrastructure/Parameter" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Behavior" eSuperTypes="#//infrastructure/Machine"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parameter" upperBound="-1" | |
eType="#//infrastructure/Parameter" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="computation" eType="#//infrastructure/ModelOfComputation" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="execution" eType="#//infrastructure/ModelOfExecution" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="interaction" eType="#//infrastructure/ModelOfInteraction" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ModelOfComputation"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ModelOfExecution"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="createRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="initRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="finalRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="enableRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="disableRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="concurrencyRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="scheduleRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="irunRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="runRoutine" eType="#//infrastructure/Routine" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="routine" upperBound="-1" | |
eType="#//infrastructure/Routine" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ModelOfInteraction"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="routes" upperBound="-1" | |
eType="#//infrastructure/Route" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="connectors" upperBound="-1" | |
eType="#//infrastructure/Connector" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ComProtocol" eSuperTypes="#//common/AbstractElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="protocol" eType="#//infrastructure/ComProtocolKind"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cast" eType="#//infrastructure/ComCastKind"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="inner_buffer" eType="#//datatype/CollectionType" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="buffer" eType="#//expression/ValueElementSpecification" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="bufferRef" eType="#//expression/LiteralReferenceSpecification" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Route" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="signals" upperBound="-1" | |
eType="#//infrastructure/Signal"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="#//infrastructure/ComProtocol" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Connector" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="#//infrastructure/ComProtocol" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="connectorEnd" lowerBound="1" | |
upperBound="-1" eType="#//infrastructure/ConnectorEnd" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ConnectorEnd" eSuperTypes="#//common/AbstractElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" eType="#//infrastructure/ChannelDirection" | |
defaultValueLiteral="inout"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="protocol" eType="#//infrastructure/ComProtocol" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="points" lowerBound="1" | |
upperBound="-1" eType="#//infrastructure/ComPoint" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ComProtocolKind"> | |
<eLiterals name="none"/> | |
<eLiterals name="env" value="1"/> | |
<eLiterals name="buffer" value="2"/> | |
<eLiterals name="rdv" value="3"/> | |
<eLiterals name="multi_rdv" value="4"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ComCastKind"> | |
<eLiterals name="none"/> | |
<eLiterals name="unicast" value="1"/> | |
<eLiterals name="anycast" value="2"/> | |
<eLiterals name="multicast" value="3"/> | |
<eLiterals name="broadcast" value="4"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ComPoint" eSuperTypes="#//common/AbstractElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" eType="#//common/NamedElement"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="#//infrastructure/Port"/> | |
</eClassifiers> | |
</eSubpackages> | |
<eSubpackages name="datatype" nsURI="http://www.eclipse.org/efm/FormalML/DataType" | |
nsPrefix="DataType"> | |
<eClassifiers xsi:type="ecore:EEnum" name="PrimitiveTypeKind"> | |
<eLiterals name="boolean"/> | |
<eLiterals name="int" value="1"/> | |
<eLiterals name="integer" value="2"/> | |
<eLiterals name="rat" value="3"/> | |
<eLiterals name="rational" value="4"/> | |
<eLiterals name="float" value="5"/> | |
<eLiterals name="double" value="6"/> | |
<eLiterals name="real" value="7"/> | |
<eLiterals name="time" value="8"/> | |
<eLiterals name="uint" value="9"/> | |
<eLiterals name="uinteger" value="10"/> | |
<eLiterals name="urat" value="11"/> | |
<eLiterals name="urational" value="12"/> | |
<eLiterals name="ufloat" value="13"/> | |
<eLiterals name="udouble" value="14"/> | |
<eLiterals name="ureal" value="15"/> | |
<eLiterals name="char" value="16"/> | |
<eLiterals name="string" value="17"/> | |
<eLiterals name="buffer" value="18"/> | |
<eLiterals name="message" value="19"/> | |
<eLiterals name="port" value="20"/> | |
<eLiterals name="machine" value="21"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DataType" abstract="true" eSuperTypes="#//common/ClassifierDefinition"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//datatype/PrimitiveTypeKind"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typedef" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="defaultValue" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="constraint" eType="#//infrastructure/Routine" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DataTypeReference" eSuperTypes="#//datatype/DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="typeref" eType="#//datatype/DataType"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="support" eType="#//datatype/DataType" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumerationLiteral" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//expression/LiteralExpression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EnumerationType" eSuperTypes="#//datatype/DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="literal" upperBound="-1" | |
eType="#//datatype/EnumerationLiteral" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="superType" eType="#//datatype/EnumerationType"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="DataStructuredType" abstract="true" | |
eSuperTypes="#//datatype/DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="property" upperBound="-1" | |
eType="#//infrastructure/PropertyDefinition" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="StructureType" eSuperTypes="#//datatype/DataStructuredType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="UnionType" eSuperTypes="#//datatype/DataStructuredType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ChoiceType" eSuperTypes="#//datatype/DataStructuredType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="DataSupportedType" abstract="true" | |
eSuperTypes="#//datatype/DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="support" eType="#//datatype/DataType" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="IntervalType" eSuperTypes="#//datatype/DataSupportedType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lopen" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="ropen" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="infimum" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="supremum" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="CollectionKind"> | |
<eLiterals name="vector"/> | |
<eLiterals name="rvector" value="1"/> | |
<eLiterals name="list" value="2"/> | |
<eLiterals name="set" value="3"/> | |
<eLiterals name="bag" value="4"/> | |
<eLiterals name="fifo" value="5"/> | |
<eLiterals name="lifo" value="6"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="CollectionType" eSuperTypes="#//datatype/DataSupportedType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="container" eType="#//datatype/CollectionKind" | |
defaultValueLiteral="list"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="-1"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unbounded" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveType" abstract="true" eSuperTypes="#//datatype/DataType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveBooleanType" eSuperTypes="#//datatype/PrimitiveType"/> | |
<eClassifiers xsi:type="ecore:EEnum" name="PrimitiveNumberSign"> | |
<eLiterals name="any"/> | |
<eLiterals name="negative" value="-1"/> | |
<eLiterals name="negative_strict" value="-2"/> | |
<eLiterals name="positive" value="1"/> | |
<eLiterals name="positive_strict" value="2"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveNumberType" abstract="true" | |
eSuperTypes="#//datatype/PrimitiveType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sign" eType="#//datatype/PrimitiveNumberSign" | |
defaultValueLiteral="any"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveIntegerType" eSuperTypes="#//datatype/PrimitiveNumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveRationalType" eSuperTypes="#//datatype/PrimitiveNumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveFloatType" eSuperTypes="#//datatype/PrimitiveNumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveRealType" eSuperTypes="#//datatype/PrimitiveNumberType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveTimeType" eSuperTypes="#//datatype/PrimitiveNumberType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="clock" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="support" eType="#//datatype/PrimitiveNumberType" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveCharacterType" eSuperTypes="#//datatype/PrimitiveType"/> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveStringType" eSuperTypes="#//datatype/PrimitiveType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="size" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="PrimitiveInstanceKind"> | |
<eLiterals name="any"/> | |
<eLiterals name="buffer" value="1"/> | |
<eLiterals name="message" value="2"/> | |
<eLiterals name="port" value="3"/> | |
<eLiterals name="signal" value="4"/> | |
<eLiterals name="function" value="5"/> | |
<eLiterals name="com_point" value="6"/> | |
<eLiterals name="channel" value="7"/> | |
<eLiterals name="vertex" value="8"/> | |
<eLiterals name="composite" value="9"/> | |
<eLiterals name="machine" value="10"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveInstanceType" eSuperTypes="#//datatype/PrimitiveType"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="expected" eType="#//datatype/PrimitiveInstanceKind" | |
defaultValueLiteral="machine"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//common/NamedElement"/> | |
</eClassifiers> | |
</eSubpackages> | |
<eSubpackages name="expression" nsURI="http://www.eclipse.org/efm/FormalML/Expression" | |
nsPrefix="Expression"> | |
<eClassifiers xsi:type="ecore:EEnum" name="PRINTER_FIX"> | |
<eLiterals name="infix"/> | |
<eLiterals name="prefix" value="1"/> | |
<eLiterals name="suffix" value="2"/> | |
<eLiterals name="functional" value="3"/> | |
<eLiterals name="specific" value="4"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ValueExpressionPrettyPrinter" abstract="true"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="fix" lowerBound="1" eType="#//expression/PRINTER_FIX"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="specific" upperBound="-1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ValuePrintableExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="printer" eType="#//expression/ValueExpressionPrettyPrinter" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//common/AbstractElement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralExpression" abstract="true" | |
eSuperTypes="#//expression/Expression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralBooleanExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralIntegerExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralRationalExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="numerator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="0"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="denominator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//ELong" defaultValueLiteral="1"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralFloatExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralRealExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralCharacterExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EChar" | |
defaultValueLiteral="'\0'"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralStringExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralCollectionExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="datatype" eType="#//datatype/DataType" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralNullExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//datatype/PrimitiveInstanceType" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralAnyValueExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//common/Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralOptionalValueExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//common/Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralNoneValueExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//common/Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralAnyOrNoneValueExpression" eSuperTypes="#//expression/LiteralExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//common/Type" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralReferenceExpression" abstract="true" | |
eSuperTypes="#//expression/LiteralExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralReferenceElement" eSuperTypes="#//expression/LiteralReferenceExpression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" | |
eType="#//expression/ValueElementSpecificationKind" defaultValueLiteral="field"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="#//common/NamedElement"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="arg" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralThisExpression" eSuperTypes="#//expression/LiteralReferenceExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralSelfExpression" eSuperTypes="#//expression/LiteralReferenceExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//infrastructure/Machine"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralParentExpression" eSuperTypes="#//expression/LiteralReferenceExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//infrastructure/Machine"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralSuperExpression" eSuperTypes="#//expression/LiteralReferenceExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//infrastructure/Machine"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralSystemExpression" eSuperTypes="#//expression/LiteralReferenceExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralEnvExpression" eSuperTypes="#//expression/LiteralReferenceExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralTimeExpression" eSuperTypes="#//expression/LiteralReferenceExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralTimeDeltaExpression" eSuperTypes="#//expression/LiteralReferenceExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LeftHandSideExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="lvalue" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="IncrementOrDecrementExpression" abstract="true" | |
eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" lowerBound="1" | |
eType="#//expression/LeftHandSideExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="IncrementOrDecrementPrefixExpression" | |
eSuperTypes="#//expression/IncrementOrDecrementExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="IncrementOrDecrementPostfixExpression" | |
eSuperTypes="#//expression/IncrementOrDecrementExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="AssignmentExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" lowerBound="1" | |
eType="#//expression/LeftHandSideExpression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rightHandSide" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NewfreshExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftHandSide" lowerBound="1" | |
eType="#//expression/LeftHandSideExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="BitwiseUnaryExpression" eSuperTypes="#//expression/UnaryExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LogicalUnaryExpression" eSuperTypes="#//expression/UnaryExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//expression/UnaryExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="datatype" eType="#//datatype/DataType"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ArithmeticUnaryExpression" eSuperTypes="#//expression/UnaryExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftOperand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="EqualityBinaryExpression" eSuperTypes="#//expression/BinaryExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="RelationalBinaryExpression" eSuperTypes="#//expression/BinaryExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="RelationalTernaryExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftRelation" lowerBound="1" | |
eType="#//expression/RelationalBinaryExpression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="rightOperator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rightOperand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ConditionalTestExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="thenOperand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="elseSeparator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elseOperand" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AssociativeExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ArithmeticAssociativeExpression" eSuperTypes="#//expression/AssociativeExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BitwiseAssociativeExpression" eSuperTypes="#//expression/AssociativeExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="LogicalAssociativeExpression" eSuperTypes="#//expression/AssociativeExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="QuantifiedLogicalExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString" | |
defaultValueLiteral="forall"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="variable" lowerBound="1" | |
upperBound="-1" eType="#//infrastructure/Variable" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="predicate" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InvokeExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="callProcedure" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="invokable" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="args" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rets" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//common/NamedElement"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TupleExpression" abstract="true" eSuperTypes="#//expression/Expression"/> | |
<eClassifiers xsi:type="ecore:EClass" name="MixTupleExpression" eSuperTypes="#//expression/TupleExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="NamedTupleExpression" eSuperTypes="#//expression/TupleExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" | |
eType="#//expression/NamedExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="PositionalTupleExpression" eSuperTypes="#//expression/TupleExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="value" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ValueElementSpecification" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" | |
eType="#//expression/ValueElementSpecificationKind" defaultValueLiteral="field"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="expected" lowerBound="1" | |
eType="#//expression/ValueElementSpecificationScheme" defaultValueLiteral="any"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="#//common/NamedElement"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="arg" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ValueElementSpecificationKind"> | |
<eLiterals name="field"/> | |
<eLiterals name="index" value="1"/> | |
<eLiterals name="parameter" value="2"/> | |
<eLiterals name="function" value="3"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ValueElementSpecificationScheme"> | |
<eLiterals name="any"/> | |
<eLiterals name="variable" value="1"/> | |
<eLiterals name="constant" value="2"/> | |
<eLiterals name="typedef" value="3"/> | |
<eLiterals name="message" value="4"/> | |
<eLiterals name="signal" value="5"/> | |
<eLiterals name="buffer" value="6"/> | |
<eLiterals name="channel" value="7"/> | |
<eLiterals name="port" value="8"/> | |
<eLiterals name="function" value="9"/> | |
<eLiterals name="com_point" value="10"/> | |
<eLiterals name="instance" value="11"/> | |
<eLiterals name="machine" value="12"/> | |
<eLiterals name="model" value="13"/> | |
<eLiterals name="procedure" value="14"/> | |
<eLiterals name="routine" value="15"/> | |
<eLiterals name="vertex" value="16"/> | |
<eLiterals name="composite" value="17"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InstantiationExpression" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="instance" eType="#//infrastructure/InstanceMachine" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionAsBuffer" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="buffer" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionAsChannel" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="channel" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionAsMachine" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionAsPort" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="LiteralReferenceSpecification" eSuperTypes="#//expression/Expression"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="expected" lowerBound="1" | |
eType="#//expression/ValueElementSpecificationScheme" defaultValueLiteral="any"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" upperBound="-1" | |
eType="#//expression/LiteralReferenceExpression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="#//expression/LiteralReferenceExpression" | |
containment="true"/> | |
</eClassifiers> | |
</eSubpackages> | |
<eSubpackages name="statement" nsURI="http://www.eclipse.org/efm/FormalML/Statement" | |
nsPrefix="Statement"> | |
<eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" eSuperTypes="#//common/AbstractElement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="BlockStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="statement" upperBound="-1" | |
eType="#//statement/Statement" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ExpressionStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AbstractGuardStatement" abstract="true" | |
eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="GuardStatement" eSuperTypes="#//statement/AbstractGuardStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="TimedGuardStatement" eSuperTypes="#//statement/AbstractGuardStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="EventGuardStatement" eSuperTypes="#//statement/AbstractGuardStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="CheckSatGuardStatement" eSuperTypes="#//statement/AbstractGuardStatement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="solver" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="AbstractComStatement" abstract="true" | |
eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="port" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="route" eType="#//infrastructure/Channel" | |
resolveProxies="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//expression/Expression" | |
containment="true" resolveProxies="false"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InputComStatement" eSuperTypes="#//statement/AbstractComStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="leftValue" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="OutputComStatement" eSuperTypes="#//statement/AbstractComStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rightValue" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ConditionalBlockStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="condition" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="bodyBlock" lowerBound="1" | |
eType="#//statement/BlockStatement" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="IfStatement" eSuperTypes="#//statement/ConditionalBlockStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elseifStatement" upperBound="-1" | |
eType="#//statement/ConditionalBlockStatement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="elseBlock" eType="#//statement/BlockStatement" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="WhileDoStatement" eSuperTypes="#//statement/ConditionalBlockStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="DoWhileStatement" eSuperTypes="#//statement/ConditionalBlockStatement"/> | |
<eClassifiers xsi:type="ecore:EClass" name="ForStatement" eSuperTypes="#//statement/ConditionalBlockStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="init" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="iterate" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ForEachStatement" eSuperTypes="#//statement/ConditionalBlockStatement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="iterator" lowerBound="1" | |
eType="#//expression/LeftHandSideExpression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="enumeration" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="InterruptStatementKind"> | |
<eLiterals name="break"/> | |
<eLiterals name="continue" value="1"/> | |
<eLiterals name="return" value="2"/> | |
<eLiterals name="exit" value="3"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InterruptStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//statement/InterruptStatementKind"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expr" upperBound="-1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="ActivityStatementKind"> | |
<eLiterals name="init"/> | |
<eLiterals name="final" value="1"/> | |
<eLiterals name="destroy" value="2"/> | |
<eLiterals name="start" value="3"/> | |
<eLiterals name="stop" value="4"/> | |
<eLiterals name="restart" value="5"/> | |
<eLiterals name="suspend" value="6"/> | |
<eLiterals name="resume" value="7"/> | |
<eLiterals name="wait" value="8"/> | |
<eLiterals name="abort" value="9"/> | |
<eLiterals name="disable" value="10"/> | |
<eLiterals name="enable" value="11"/> | |
<eLiterals name="irun" value="12"/> | |
<eLiterals name="run" value="13"/> | |
<eLiterals name="rtc" value="14"/> | |
<eLiterals name="schedule" value="15"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ActivityStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" lowerBound="1" eType="#//statement/ActivityStatementKind"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="machine" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="tuple" eType="#//expression/TupleExpression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="InvokeStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="callProcedure" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="execRoutine" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="invokable" eType="#//common/NamedElement"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="args" eType="#//expression/TupleExpression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="rets" upperBound="-1" | |
eType="#//infrastructure/Variable"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//expression/Expression" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="ObserverStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//expression/Expression" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="statement" lowerBound="1" | |
eType="#//statement/Statement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="postCondition" lowerBound="1" | |
eType="#//expression/Expression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="AssignmentStatementkind"> | |
<eLiterals name="assign"/> | |
<eLiterals name="assign_after" value="1"/> | |
<eLiterals name="assign_ref" value="2"/> | |
<eLiterals name="assign_macro" value="3"/> | |
<eLiterals name="plus_assign" value="4"/> | |
<eLiterals name="plus_assign_after" value="5"/> | |
<eLiterals name="minus_assign" value="6"/> | |
<eLiterals name="minus_assign_after" value="7"/> | |
<eLiterals name="star_assign" value="8"/> | |
<eLiterals name="star_assign_after" value="9"/> | |
<eLiterals name="div_assign_after" value="10"/> | |
<eLiterals name="div_assign" value="11"/> | |
<eLiterals name="mod_assign_after" value="12"/> | |
<eLiterals name="mod_assign" value="13"/> | |
<eLiterals name="land_assign_after" value="14"/> | |
<eLiterals name="land_assign" value="15"/> | |
<eLiterals name="lor_assign_after" value="16"/> | |
<eLiterals name="lor_assign" value="17"/> | |
<eLiterals name="band_assign_after" value="18"/> | |
<eLiterals name="band_assign" value="19"/> | |
<eLiterals name="bor_assign_after" value="20"/> | |
<eLiterals name="bor_assign" value="21"/> | |
<eLiterals name="bxor_assign_after" value="22"/> | |
<eLiterals name="bxor_assign" value="23"/> | |
<eLiterals name="lshift_assign_after" value="24"/> | |
<eLiterals name="lshift_assign" value="25"/> | |
<eLiterals name="rshift_assign_after" value="26"/> | |
<eLiterals name="rshift_assign" value="27"/> | |
<eLiterals name="op_push" value="28"/> | |
<eLiterals name="op_assign_top" value="29"/> | |
<eLiterals name="op_pop" value="30"/> | |
<eLiterals name="incr" value="31"/> | |
<eLiterals name="decr" value="32"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="MetaStatementKind"> | |
<eLiterals name="informal"/> | |
<eLiterals name="trace" value="1"/> | |
<eLiterals name="debug" value="2"/> | |
<eLiterals name="comment" value="3"/> | |
<eLiterals name="quote" value="4"/> | |
<eLiterals name="eval" value="5"/> | |
<eLiterals name="run" value="6"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="MetaStatement" eSuperTypes="#//statement/Statement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="op" lowerBound="1" eType="#//statement/MetaStatementKind"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="operand" upperBound="-1" | |
eType="#//common/AbstractElement" containment="true"/> | |
</eClassifiers> | |
</eSubpackages> | |
<eSubpackages name="statemachine" nsURI="http://www.eclipse.org/efm/FormalML/Statemachine" | |
nsPrefix="Statemachine"> | |
<eClassifiers xsi:type="ecore:EClass" name="Statemachine" eSuperTypes="#//infrastructure/Behavior"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="region" upperBound="-1" | |
eType="#//statemachine/Region" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Region" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="vertex" upperBound="-1" | |
eType="#//statemachine/Vertex" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Vertex" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="transition" upperBound="-1" | |
eType="#//statemachine/Transition" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="moe" eType="#//infrastructure/ModelOfExecution" | |
containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="Pseudostate" eSuperTypes="#//statemachine/Vertex"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//statemachine/PseudostateKind"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="PseudostateKind"> | |
<eLiterals name="Initial" literal="initial"/> | |
<eLiterals name="DeepHistory" value="1" literal="dhistory"/> | |
<eLiterals name="ShallowHistory" value="2" literal="shistory"/> | |
<eLiterals name="Join" value="3" literal="join"/> | |
<eLiterals name="Fork" value="4" literal="fork"/> | |
<eLiterals name="Junction" value="5" literal="junction"/> | |
<eLiterals name="Choice" value="6" literal="choice"/> | |
<eLiterals name="EntryPoint" value="7" literal="entryPoint"/> | |
<eLiterals name="ExitPoint" value="8" literal="exitPoint"/> | |
<eLiterals name="Terminal" value="9" literal="terminal"/> | |
<eLiterals name="Return" value="10" literal="return"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="State" eSuperTypes="#//statemachine/Vertex"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="simple" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="composite" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="orthogonal" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="region" upperBound="-1" | |
eType="#//statemachine/Region" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="FinalState" eSuperTypes="#//statemachine/State"/> | |
<eClassifiers xsi:type="ecore:EClass" name="StartState" eSuperTypes="#//statemachine/State"/> | |
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//common/NamedElement"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="transient" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="moe" eType="#//statemachine/TransitionMoe" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//statemachine/Vertex" | |
resolveProxies="false"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" eType="#//statement/BlockStatement" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="trigger" upperBound="-1" | |
eType="#//statement/InputComStatement" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" eType="#//statement/AbstractGuardStatement" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="tguard" eType="#//statement/TimedGuardStatement" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="effect" eType="#//statement/Statement" | |
containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="targetExpression" eType="#//expression/Expression" | |
containment="true" resolveProxies="false"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TransitionMoe"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="moc" eType="#//statemachine/TransitionMoc" | |
defaultValueLiteral="simple"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isElse" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | |
defaultValueLiteral="false"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" defaultValueLiteral="0"/> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="probability" lowerBound="1" | |
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat" defaultValueLiteral="1.0"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" name="TransitionMoc"> | |
<eLiterals name="simple"/> | |
<eLiterals name="abort" value="1"/> | |
<eLiterals name="final" value="2"/> | |
</eClassifiers> | |
</eSubpackages> | |
</ecore:EPackage> |