blob: 34a4975b173962f3b5fb43d1620cc495277de269 [file] [log] [blame]
<?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="RobotML" nsURI="http://Papyrus/RobotML/1" nsPrefix="RobotML">
<eClassifiers xsi:type="ecore:EClass" name="Transition">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="guard is typed with a boolean operation that have to be defined in the model before using it&#xD;&#xA;effect is typed by an operation that is owned by the component that is behaviored by the FSM&#xD;&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Transition" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Transition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="guard" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="effect" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Algorithm">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="LibFileFormat can be elf, matlab, etc"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isExternal" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="extFunctionName" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libPath" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libFileFormat" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
defaultValueLiteral="elf"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="State">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="When a state is activated, a behavior is activated and executed.&#xD;&#xA;It is possible to associate more one behavior to the state. But the question is how to define the order of execution of the behaviors?"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_State" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//State"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="behavior" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActuatedJoint" eSuperTypes="#//Joint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="motorized"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Joint">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CompleteBonding" eSuperTypes="#//Joint">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This relation specifies that&#xD;&#xA; two PhysicalObject are so tightly&#xD;&#xA; linked that their frames are statically linked"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Robot" eSuperTypes="#//System">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="System">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="native" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libraryPath" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libraryComponentName" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Agent" eSuperTypes="#//PhysicalObject"/>
<eClassifiers xsi:type="ecore:EClass" name="PhysicalObject">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="height" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="mass" ordered="false" lowerBound="1"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataFlowPort" eSuperTypes="#//Port">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
lowerBound="1" eType="#//DataFlowDirectionKind"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="bufferSize" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
defaultValueLiteral="0"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="synchronizationPolicy"
ordered="false" lowerBound="1" eType="#//SynchronizationKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="SynchronizationKind">
<eLiterals name="SYNCH"/>
<eLiterals name="ASYNCH" value="1"/>
<eLiterals name="undefined" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="DataFlowDirectionKind">
<eLiterals name="in"/>
<eLiterals name="out" value="1"/>
<eLiterals name="inout" value="2"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ServiceFlowKind">
<eLiterals name="provided"/>
<eLiterals name="required" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ServicePort" eSuperTypes="#//Port">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//ServiceFlowKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ActuatorSystem" eSuperTypes="#//RoboticSystem #//CyberPhysicalSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="System INCLUDING software which control effectors, like a mechanical arm driver."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoboticSystem" eSuperTypes="#//System">
<eStructuralFeatures xsi:type="ecore:EReference" name="localPosition" ordered="false"
lowerBound="1" eType="ecore:EClass RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/geometry_datatypes/Point32"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="localOrientation" ordered="false"
lowerBound="1" eType="ecore:EClass RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/geometry_datatypes/Point32"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CyberPhysicalSystem" eSuperTypes="#//System"/>
<eClassifiers xsi:type="ecore:EClass" name="SensorSystem" eSuperTypes="#//RoboticSystem #//CyberPhysicalSystem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="frequency" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="identifier" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Hardware" eSuperTypes="#//System"/>
<eClassifiers xsi:type="ecore:EClass" name="Software" eSuperTypes="#//System">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isPeriodic" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="period" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/UInt8"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="deadline" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wcet" ordered="false" lowerBound="1"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EngineSystem" eSuperTypes="#//ActuatorSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="This is the motorization system focused in the engine of a robotic vehicle."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vehicleTraction" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxEngineForce" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxBreakingForce" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxAllowedSteering" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maxAllowedVelocity" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="gear_ration" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SteeredWheelSystem" eSuperTypes="#//LocomotionSystem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelRadius" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelWidth" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="suspensionRestLength" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelConnectionHeight"
ordered="false" lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeOfWheel" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelVelocityPIDkp" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelVelocityPIDki" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelVelocityPIDkd" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelSteeringPIDkp" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelSteeringPIDkd" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelFriction" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="suspensionStiffness" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="suspensionDamping" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="suspensionCompression"
ordered="false" lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelVelocityPIDmaxSum"
ordered="false" lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wheelVelocityPIDmaxVal"
ordered="false" lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LocomotionSystem" eSuperTypes="#//ActuatorSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Mechanical device associated to its Driver for moving a Mobile Robot.&#xD;&#xA;It is operated by a source of energy, usually in the form of an electric current, hydraulic fluid pressure or pneumatic pressure, and converts that energy into some kind of motion (meaning position of gravity centre of the Robot that is using it has been changed significatively through time)."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ImageSensorSystem" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="CameraSystem" eSuperTypes="#//ImageSensorSystem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="width" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/UInt32"
defaultValueLiteral="0"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="height" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/UInt32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha_u" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alpha_v" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="u0" ordered="false" lowerBound="1"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="v0" ordered="false" lowerBound="1"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="color_format" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/String"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="translate" ordered="false"
lowerBound="1" eType="ecore:EClass RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/geometry_datatypes/Point32"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rotate" ordered="false"
lowerBound="1" eType="ecore:EClass RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/geometry_datatypes/Point32"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObjectDetectionSensorSystem" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="ObjectTrackingSensorSystem" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="LidarSystem" eSuperTypes="#//ObjectDetectionSensorSystem #//ObjectTrackingSensorSystem">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nbLayers" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/UInt32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="layerAngleMin" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="layerAngleStep" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="noise" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Bool"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sigmaNoise" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="angle_min" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="angle_max" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="time_increment" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="time_increment "/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scan_time" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="scan_time "/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="range_min" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="range_max" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="nbRays" ordered="false"
lowerBound="1" eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/UInt32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LocalizationSensorSystem" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="GPSSystem" eSuperTypes="#//LocalizationSensorSystem">
<eStructuralFeatures xsi:type="ecore:EReference" name="originPosition" ordered="false"
eType="ecore:EClass RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/geometry_datatypes/Point32"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="UGVKind">
<eLiterals name="differential"/>
<eLiterals name="car" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AlgorithmLibrary">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="path" ordered="false" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SensorDriver" eSuperTypes="#//Software"/>
<eClassifiers xsi:type="ecore:EClass" name="Environment">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Building" eSuperTypes="#//PhysicalObject"/>
<eClassifiers xsi:type="ecore:EClass" name="Surface" eSuperTypes="#//PhysicalObject"/>
<eClassifiers xsi:type="ecore:EClass" name="Planet" eSuperTypes="#//PhysicalObject"/>
<eClassifiers xsi:type="ecore:EClass" name="LandSurface" eSuperTypes="#//Ground"/>
<eClassifiers xsi:type="ecore:EClass" name="Ground" abstract="true" eSuperTypes="#//Surface"/>
<eClassifiers xsi:type="ecore:EClass" name="Floor" eSuperTypes="#//Ground"/>
<eClassifiers xsi:type="ecore:EClass" name="WaterSurface" eSuperTypes="#//Surface"/>
<eClassifiers xsi:type="ecore:EClass" name="Human" eSuperTypes="#//Agent"/>
<eClassifiers xsi:type="ecore:EClass" name="Pedestrian" eSuperTypes="#//Human"/>
<eClassifiers xsi:type="ecore:EClass" name="Stairs" eSuperTypes="#//Ground"/>
<eClassifiers xsi:type="ecore:EClass" name="Platform" eSuperTypes="#//System">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Node" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Node"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="library" ordered="false"
upperBound="-1" eType="#//ExternalLibrary"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ExternalLibrary">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libPath" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="libFileFormat" ordered="false"
lowerBound="1" eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//String"
defaultValueLiteral="elf"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoboticMiddleware" eSuperTypes="#//Platform">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//RoboticMiddlewareKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="RoboticMiddlewareKind">
<eLiterals name="RTMaps"/>
<eLiterals name="AROCAM" value="1"/>
<eLiterals name="ROS" value="2"/>
<eLiterals name="OROCOS" value="3"/>
<eLiterals name="URBI" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoboticSimulator" eSuperTypes="#//Platform"/>
<eClassifiers xsi:type="ecore:EClass" name="CycabTK" eSuperTypes="#//RoboticSimulator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="useRealTime" ordered="false"
eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timeStep" ordered="false"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="timeFactor" ordered="false"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BlenderMorse" eSuperTypes="#//RoboticSimulator">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="debugMode" ordered="false"
eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="debugDisplay" ordered="false"
eType="ecore:EDataType ../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="gravity" ordered="false"
eType="ecore:EDataType RobotMLLibraries.ecore#//RobotML_ModelLibrary/RobotML_DataTypes/std_datatypes/Float32"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="_viewport_shade" ordered="false"
eType="#//Shade" defaultValueLiteral="WIREFRAME">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value=" viewport_shade"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Shade">
<eLiterals name="WIREFRAME"/>
<eLiterals name="BOUNDBOX" value="1"/>
<eLiterals name="SOLID" value="2"/>
<eLiterals name="TEXTURED" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OnPort">
<eStructuralFeatures xsi:type="ecore:EReference" name="port" ordered="false" lowerBound="1"
eType="#//Port"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Allocate">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InertialMeasurementUnitSystem" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="InertialNavigationSystem" eSuperTypes="#//GPSSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="OdometrySystem" eSuperTypes="#//LocalizationSensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="InfraRedProximetrySystem" eSuperTypes="#//ObjectDetectionSensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="DeploymentPlan">
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Package" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Package"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mainInstance" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Gyroscope" eSuperTypes="#//SensorSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="OnVariable">
<eStructuralFeatures xsi:type="ecore:EReference" name="property" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
lowerBound="1" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Chassis" eSuperTypes="#//SupportingStructure"/>
<eClassifiers xsi:type="ecore:EClass" name="SupportingStructure" eSuperTypes="#//Hardware"/>
<eClassifiers xsi:type="ecore:EClass" name="MechanicalLinkage" eSuperTypes="#//Hardware"/>
<eClassifiers xsi:type="ecore:EClass" name="Leg" eSuperTypes="#//LocomotionHardware #//MechanicalLinkage"/>
<eClassifiers xsi:type="ecore:EClass" name="LocomotionHardware" eSuperTypes="#//ActuatorHardware"/>
<eClassifiers xsi:type="ecore:EClass" name="ActuatorHardware" eSuperTypes="#//Hardware"/>
<eClassifiers xsi:type="ecore:EClass" name="MobileRobot" eSuperTypes="#//Robot">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" ordered="false" lowerBound="1"
eType="#//MobileRobotKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MobileRobotKind">
<eLiterals name="AirVehicle"/>
<eLiterals name="HybridVehicle" value="1"/>
<eLiterals name="SurfaceVehicle" value="2"/>
<eLiterals name="UnderwaterVehicle" value="3"/>
<eLiterals name="CarLikeVehicle" value="4"/>
<eLiterals name="DifferentialVehicle" value="5"/>
<eLiterals name="LeggedVehicle" value="6"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Manipulator" eSuperTypes="#//Robot"/>
<eClassifiers xsi:type="ecore:EClass" name="PilotedSystem" eSuperTypes="#//Robot"/>
<eClassifiers xsi:type="ecore:EClass" name="PowerHardware" eSuperTypes="#//Hardware"/>
<eClassifiers xsi:type="ecore:EClass" name="SensorHardware" eSuperTypes="#//Hardware"/>
<eClassifiers xsi:type="ecore:EClass" name="GraspingHardware" eSuperTypes="#//ActuatorHardware"/>
<eClassifiers xsi:type="ecore:EClass" name="SteeredWheelHardware" eSuperTypes="#//LocomotionHardware"/>
<eClassifiers xsi:type="ecore:EClass" name="Arm"/>
<eClassifiers xsi:type="ecore:EClass" name="LegSystem" eSuperTypes="#//LocomotionSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="GraspingSystem" eSuperTypes="#//ActuatorSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="System of a robotic platform which correspond with the software and hardware of the manipulating effectors of the robot: mechanical fingers, mechanical arms, grabs ..."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WeaponSystem" eSuperTypes="#//ActuatorSystem">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="System of a robotic platform which correspond with the software and hardware of the weapon components (attack-defense) of a robot."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ManMachineInterfaceSystem" eSuperTypes="#//CyberPhysicalSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="ClosedLoopControlSystem" eSuperTypes="#//CyberPhysicalSystem">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Closed-LoopControlSystem"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OpenLoopControlSystem" eSuperTypes="#//CyberPhysicalSystem">
<eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
<details key="originalName" value="Open-LoopControlSystem"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RoboticHead" eSuperTypes="#//ManMachineInterfaceSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="NavigationCommandSystem" eSuperTypes="#//ManMachineInterfaceSystem"/>
<eClassifiers xsi:type="ecore:EClass" name="JoysticNavigationSystem" eSuperTypes="#//NavigationCommandSystem"/>
</ecore:EPackage>