Commit d24290d2 authored by Dimosthenis Kitisos's avatar Dimosthenis Kitisos

Initial

parent 847a0846
Subproject commit 397da096b90bf11692c4a3609245526403a50d7d
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.eclipse.sirius.sample.nao</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.sirius.nature.modelingproject</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>
Manifest-Version: 1.0
Automatic-Module-Name: <module name>
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.sirius.sample.nao;singleton:=true
Bundle-Version: 0.1.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: nao,
nao.impl,
nao.util,
org.eclipse.sirius.sample.nao,
org.eclipse.sirius.sample.nao.impl,
org.eclipse.sirius.sample.nao.util
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
Ο χρήστης ανοίγει το διάγραμμα Sirius και επιλέγει αρχικά ένα στοιχείο Start ως αφετερία των διεργασιών που θέλει το ρομπότ να πραγματοποιήσει.
Στη συνέχεια, επιλέγει οποιοδήποτε επόμενο στοιχείο, συμπληρώνει τις παραμέτρους που του δίνονται στα Properties των στοιχείων και δημιουργεί
την μετάβαση (Transition) από το στοιχείο Start στο επόμενο στοιχείο.
Η διαδικασία αυτή επαναλαμβάνεται έως ότου επιλεχθεί το στοιχείο End που σημαίνει το πέρας του διαγράμματος.
Ο χρήστης πρέπει να εισάγει μόνο ένα στοιχείο Start και ένα μόνο στοιχείο End.
Ο χρήστης πρέπει να συνδέσει με μετάβαση όλα τα στοιχεία.
Ο χρήστης πρέπει να συμπληρώσει όλες τις απαραίτητες παραμέτρους για να επικυρωθεί (validate) το διάγραμμα.
Έπειτα, ο χρήστης μπορεί να μεταβεί στο Acceleo project και συγκεκριμένα στο αρχείο generate.mtl όπου τρέχοντας το (run as Launch Acceleo Application),
με τη σωστή διαμόρφωση, εμφανίζεται ο κώδικας γλώσσας προγραμματισμού Python (αρχείο code.py) στο φάκελο Destination_Folder του ίδιου Project.
Ο κώδικας αυτός είναι έτοιμος προς χρήση στο ρομπότ Nao.
\ No newline at end of file
# 2018_Dimosthenis_Kitsios_Symeonidis
Το project "org.eclipse.sirius.sample.nao" περιέχει το Emf Metamodel του συστήματος με όνομα "nao.ecore".
Με Generate All στο "nao.genmodel" εμφανίζονται τα αρχεία org.eclipse.sirius.sample.nao.edit/editor/tests.
Το project "org.eclipse.sirius.nao.design" είναι το Viewpoint specification model. Το nao.design περιέχει τα nodes, τα relations και τα validation rules
του διαγράμματος Sirius.
Το project "org.eclipse.sirius.sample.nao.sample" περιέχει το My.Nao που είναι το διάγραμμα του Sirius που ο χρήστης δημιουργεί.
Το project "org.eclipse.acceleo.module.sample" περιλαμβάνει το .mtl αρχείο generate.mtl όπου βρίσκεται ο κώδικας Acceleo που παράγει τον τελικό
Python Κώδικα στο Destination_folder.
To αρχείο NaoUpdateSite.zip είναι το Plug-in του Sirius για να μην χρειάζονται δύο στιγμιότυπα Eclipse.
#
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/
This diff is collapsed.
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.runtime_3.13.0.v20170207-1030.jar[~org/eclipse/core/internal/preferences/legacy/*;~org/eclipse/core/internal/runtime/*;+org/eclipse/core/runtime/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/javax.inject_1.0.0.v20091030.jar[+javax/inject/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.osgi_3.12.100.v20180210-1608.jar[~org/eclipse/core/runtime/adaptor/*;~org/eclipse/core/runtime/internal/adaptor/*;+org/eclipse/equinox/log/*;+org/eclipse/osgi/container/*;+org/eclipse/osgi/container/builders/*;+org/eclipse/osgi/container/namespaces/*;+org/eclipse/osgi/framework/console/*;+org/eclipse/osgi/framework/eventmgr/*;~org/eclipse/osgi/framework/internal/reliablefile/*;+org/eclipse/osgi/framework/log/*;~org/eclipse/osgi/framework/util/*;~org/eclipse/osgi/internal/debug/*;~org/eclipse/osgi/internal/framework/*;~org/eclipse/osgi/internal/hookregistry/*;~org/eclipse/osgi/internal/loader/*;~org/eclipse/osgi/internal/loader/buddy/*;~org/eclipse/osgi/internal/loader/classpath/*;~org/eclipse/osgi/internal/loader/sources/*;~org/eclipse/osgi/internal/location/*;~org/eclipse/osgi/internal/messages/*;~org/eclipse/osgi/internal/provisional/service/security/*;~org/eclipse/osgi/internal/provisional/verifier/*;~org/eclipse/osgi/internal/service/security/*;~org/eclipse/osgi/internal/serviceregistry/*;~org/eclipse/osgi/internal/signedcontent/*;~org/eclipse/osgi/internal/url/*;+org/eclipse/osgi/launch/*;+org/eclipse/osgi/report/resolution/*;+org/eclipse/osgi/service/datalocation/*;+org/eclipse/osgi/service/debug/*;+org/eclipse/osgi/service/environment/*;+org/eclipse/osgi/service/localization/*;+org/eclipse/osgi/service/pluginconversion/*;+org/eclipse/osgi/service/resolver/*;+org/eclipse/osgi/service/runnable/*;+org/eclipse/osgi/service/security/*;+org/eclipse/osgi/service/urlconversion/*;+org/eclipse/osgi/signedcontent/*;~org/eclipse/osgi/storage/*;~org/eclipse/osgi/storage/bundlefile/*;~org/eclipse/osgi/storage/url/reference/*;+org/eclipse/osgi/storagemanager/*;+org/eclipse/osgi/util/*;+org/osgi/dto/*;+org/osgi/framework/*;+org/osgi/framework/dto/*;+org/osgi/framework/hooks/bundle/*;+org/osgi/framework/hooks/resolver/*;+org/osgi/framework/hooks/service/*;+org/osgi/framework/hooks/weaving/*;+org/osgi/framework/launch/*;+org/osgi/framework/namespace/*;+org/osgi/framework/startlevel/*;+org/osgi/framework/startlevel/dto/*;+org/osgi/framework/wiring/*;+org/osgi/framework/wiring/dto/*;+org/osgi/resource/*;+org/osgi/resource/dto/*;+org/osgi/service/condpermadmin/*;+org/osgi/service/log/*;+org/osgi/service/packageadmin/*;+org/osgi/service/permissionadmin/*;+org/osgi/service/resolver/*;+org/osgi/service/startlevel/*;+org/osgi/service/url/*;+org/osgi/util/tracker/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.osgi.compatibility.state_1.1.0.v20170516-1513.jar[~org/eclipse/core/runtime/adaptor/*;~org/eclipse/core/runtime/internal/adaptor/*;+org/eclipse/equinox/log/*;+org/eclipse/osgi/container/*;+org/eclipse/osgi/container/builders/*;+org/eclipse/osgi/container/namespaces/*;+org/eclipse/osgi/framework/console/*;+org/eclipse/osgi/framework/eventmgr/*;~org/eclipse/osgi/framework/internal/reliablefile/*;+org/eclipse/osgi/framework/log/*;~org/eclipse/osgi/framework/util/*;~org/eclipse/osgi/internal/debug/*;~org/eclipse/osgi/internal/framework/*;~org/eclipse/osgi/internal/hookregistry/*;~org/eclipse/osgi/internal/loader/*;~org/eclipse/osgi/internal/loader/buddy/*;~org/eclipse/osgi/internal/loader/classpath/*;~org/eclipse/osgi/internal/loader/sources/*;~org/eclipse/osgi/internal/location/*;~org/eclipse/osgi/internal/messages/*;~org/eclipse/osgi/internal/provisional/service/security/*;~org/eclipse/osgi/internal/provisional/verifier/*;~org/eclipse/osgi/internal/service/security/*;~org/eclipse/osgi/internal/serviceregistry/*;~org/eclipse/osgi/internal/signedcontent/*;~org/eclipse/osgi/internal/url/*;+org/eclipse/osgi/launch/*;+org/eclipse/osgi/report/resolution/*;+org/eclipse/osgi/service/datalocation/*;+org/eclipse/osgi/service/debug/*;+org/eclipse/osgi/service/environment/*;+org/eclipse/osgi/service/localization/*;+org/eclipse/osgi/service/pluginconversion/*;+org/eclipse/osgi/service/resolver/*;+org/eclipse/osgi/service/runnable/*;+org/eclipse/osgi/service/security/*;+org/eclipse/osgi/service/urlconversion/*;+org/eclipse/osgi/signedcontent/*;~org/eclipse/osgi/storage/*;~org/eclipse/osgi/storage/bundlefile/*;~org/eclipse/osgi/storage/url/reference/*;+org/eclipse/osgi/storagemanager/*;+org/eclipse/osgi/util/*;+org/osgi/dto/*;+org/osgi/framework/*;+org/osgi/framework/dto/*;+org/osgi/framework/hooks/bundle/*;+org/osgi/framework/hooks/resolver/*;+org/osgi/framework/hooks/service/*;+org/osgi/framework/hooks/weaving/*;+org/osgi/framework/launch/*;+org/osgi/framework/namespace/*;+org/osgi/framework/startlevel/*;+org/osgi/framework/startlevel/dto/*;+org/osgi/framework/wiring/*;+org/osgi/framework/wiring/dto/*;+org/osgi/resource/*;+org/osgi/resource/dto/*;+org/osgi/service/condpermadmin/*;+org/osgi/service/log/*;+org/osgi/service/packageadmin/*;+org/osgi/service/permissionadmin/*;+org/osgi/service/resolver/*;+org/osgi/service/startlevel/*;+org/osgi/service/url/*;+org/osgi/util/tracker/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.equinox.common_3.9.0.v20170207-1454.jar[~org/eclipse/core/internal/boot/*;~org/eclipse/core/internal/runtime/*;+org/eclipse/core/runtime/*;+org/eclipse/equinox/events/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.jobs_3.9.3.v20180115-1757.jar[~org/eclipse/core/internal/jobs/*;+org/eclipse/core/runtime/jobs/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.equinox.registry_3.7.0.v20170222-1344.jar[~org/eclipse/core/internal/adapter/*;~org/eclipse/core/internal/registry/*;~org/eclipse/core/internal/registry/osgi/*;~org/eclipse/core/internal/registry/spi/*;+org/eclipse/core/runtime/*;+org/eclipse/core/runtime/dynamichelpers/*;+org/eclipse/core/runtime/spi/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.equinox.preferences_3.7.0.v20170126-2132.jar[~org/eclipse/core/internal/preferences/*;~org/eclipse/core/internal/preferences/exchange/*;+org/eclipse/core/runtime/preferences/*;+org/osgi/service/prefs/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.contenttype_3.6.0.v20170207-1037.jar[~org/eclipse/core/internal/content/*;+org/eclipse/core/runtime/content/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.equinox.app_1.3.400.v20150715-1528.jar[+org/eclipse/equinox/app/*;~org/eclipse/equinox/internal/app/*;+org/osgi/service/application/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.osgi.services_3.6.0.v20170228-1906.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.osgi.util_3.4.0.v20170111-1608.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/javax.servlet_3.1.0.v201410161800.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.emf.ecore_2.13.0.v20170609-0707.jar[+org/eclipse/emf/ecore/*;+org/eclipse/emf/ecore/impl/*;+org/eclipse/emf/ecore/plugin/*;+org/eclipse/emf/ecore/resource/*;+org/eclipse/emf/ecore/resource/impl/*;+org/eclipse/emf/ecore/util/*;+org/eclipse/emf/ecore/xml/namespace/*;+org/eclipse/emf/ecore/xml/namespace/impl/*;+org/eclipse/emf/ecore/xml/namespace/util/*;+org/eclipse/emf/ecore/xml/type/*;+org/eclipse/emf/ecore/xml/type/impl/*;+org/eclipse/emf/ecore/xml/type/internal/*;+org/eclipse/emf/ecore/xml/type/util/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.emf.common_2.13.0.v20170609-0707.jar[+org/eclipse/emf/common/*;+org/eclipse/emf/common/archive/*;+org/eclipse/emf/common/command/*;+org/eclipse/emf/common/notify/*;+org/eclipse/emf/common/notify/impl/*;+org/eclipse/emf/common/util/*;?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.resources_3.12.0.v20170417-1558.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.resources.win32.x86_64_3.5.100.v20170516-0925.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.ant.core_3.5.0.v20170509-2149.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.variables_3.4.0.v20170113-2056.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.expressions_3.6.0.v20170207-1037.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.filesystem_1.7.0.v20170406-1337.jar[?**/*]
#ADAPTER#ACCESS#.p2/pool/plugins/org.eclipse.core.filesystem.win32.x86_64_1.4.0.v20140124-1940.jar[?**/*]
This source diff could not be displayed because it is too large. You can view the blob instead.
<?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="nao" nsURI="http://www.example.org/sirius/sample/nao" nsPrefix="nao">
<eClassifiers xsi:type="ecore:EClass" name="Nao">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="function" upperBound="-1"
eType="#//Function" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Function" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" name="NextTransition" eType="#//Function"
eOpposite="#//Function/PreviousTransition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="PreviousTransition" eType="#//Function"
eOpposite="#//Function/NextTransition"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="speak" eType="#//Speak"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="takephoto" eType="#//TakePhoto"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="end" eType="#//End"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="start" eType="#//Start"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="setvolume" eType="#//SetVolume"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="sit" eType="#//Sit"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="record" eType="#//Record"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stand" eType="#//Stand"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="batterylevels" eType="#//BatteryLevels"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tellajoke" eType="#//TellAJoke"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stop" eType="#//Stop"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="moveto" eType="#//MoveTo"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dance" eType="#//Dance"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="playfile" eType="#//PlayFile"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="tactilemeasurements" eType="#//TactileMeasurements"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="speechdetection" eType="#//SpeechDetection"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MoveTo" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="x" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="y" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="theta" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Speak" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Stop" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="Dance" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="hand_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="angles" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="speed" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="joints" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Sit" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="Stand" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="Record" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="filename" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="seconds" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TakePhoto" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="filepath" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="cameraId" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="resolution" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TellAJoke" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SetVolume" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="volume" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BatteryLevels" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="Start" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="End" eSuperTypes="#//Function"/>
<eClassifiers xsi:type="ecore:EClass" name="PlayFile" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="filename" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TactileMeasurements" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wait" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="get_history" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SpeechDetection" eSuperTypes="#//Function">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="wait" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFloat"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="vocabulary" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.sirius.sample.nao/src" creationIcons="false"
modelPluginID="org.eclipse.sirius.sample.nao" modelName="Nao" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
<foreignModel>nao.ecore</foreignModel>
<genPackages prefix="Nao" basePackage="org.eclipse.sirius.sample" disposableProviderFactory="true"
ecorePackage="nao.ecore#/">
<genClasses ecoreClass="nao.ecore#//Nao">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nao.ecore#//Nao/name"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference nao.ecore#//Nao/function"/>
</genClasses>
<genClasses ecoreClass="nao.ecore#//Function">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nao.ecore#//Function/name"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nao.ecore#//Function/motion"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nao.ecore#//Function/audio"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nao.ecore#//Function/stop"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nao.ecore#//Function/relate"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference nao.ecore#//Function/norelate"/>
</genClasses>
<genClasses ecoreClass="nao.ecore#//MoveTo">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nao.ecore#//MoveTo/x"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nao.ecore#//MoveTo/y"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute nao.ecore#//MoveTo/theta"/>
<genOperations ecoreOperation="nao.ecore#//MoveTo/moveTo"/>
</genClasses>
<genClasses ecoreClass="nao.ecore#//Speak">
<genOperations ecoreOperation="nao.ecore#//Speak/Speak"/>
</genClasses>
<genClasses ecoreClass="nao.ecore#//Stop">
<genOperations ecoreOperation="nao.ecore#//Stop/stop"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
#
pluginName = Nao Model
providerName = www.example.org
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated nao -->
<package
uri="http://www.example.org/sirius/sample/nao"
class="org.eclipse.sirius.sample.nao.NaoPackage"
genModel="model/nao.genmodel"/>
</extension>
</plugin>
/**
*/
package nao;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Audio</b></em>'.
* <!-- end-user-doc -->
*
*
* @see nao.NaoPackage#getAudio()
* @model
* @generated
*/
public interface Audio extends Function {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void Speak();
} // Audio
/**
*/
package nao;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Function</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link nao.Function#getName <em>Name</em>}</li>
* <li>{@link nao.Function#getMotion <em>Motion</em>}</li>
* <li>{@link nao.Function#getAudio <em>Audio</em>}</li>
* </ul>
*
* @see nao.NaoPackage#getFunction()
* @model abstract="true"
* @generated
*/
public interface Function extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see nao.NaoPackage#getFunction_Name()
* @model
* @generated
*/
String getName();
/**
* Sets the value of the '{@link nao.Function#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Motion</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Motion</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Motion</em>' reference.
* @see #setMotion(Motion)
* @see nao.NaoPackage#getFunction_Motion()
* @model
* @generated
*/
Motion getMotion();
/**
* Sets the value of the '{@link nao.Function#getMotion <em>Motion</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Motion</em>' reference.
* @see #getMotion()
* @generated
*/
void setMotion(Motion value);
/**
* Returns the value of the '<em><b>Audio</b></em>' reference.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Audio</em>' reference isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Audio</em>' reference.
* @see #setAudio(Audio)
* @see nao.NaoPackage#getFunction_Audio()
* @model
* @generated
*/
Audio getAudio();
/**
* Sets the value of the '{@link nao.Function#getAudio <em>Audio</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Audio</em>' reference.
* @see #getAudio()
* @generated
*/
void setAudio(Audio value);
} // Function
/**
*/
package nao;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Motion</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link nao.Motion#getX <em>X</em>}</li>
* <li>{@link nao.Motion#getY <em>Y</em>}</li>
* <li>{@link nao.Motion#getTheta <em>Theta</em>}</li>
* </ul>
*
* @see nao.NaoPackage#getMotion()
* @model
* @generated
*/
public interface Motion extends Function {
/**
* Returns the value of the '<em><b>X</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>X</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>X</em>' attribute.
* @see #setX(float)
* @see nao.NaoPackage#getMotion_X()
* @model
* @generated
*/
float getX();
/**
* Sets the value of the '{@link nao.Motion#getX <em>X</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>X</em>' attribute.
* @see #getX()
* @generated
*/
void setX(float value);
/**
* Returns the value of the '<em><b>Y</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Y</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Y</em>' attribute.
* @see #setY(float)
* @see nao.NaoPackage#getMotion_Y()
* @model
* @generated
*/
float getY();
/**
* Sets the value of the '{@link nao.Motion#getY <em>Y</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Y</em>' attribute.
* @see #getY()
* @generated
*/
void setY(float value);
/**
* Returns the value of the '<em><b>Theta</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Theta</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Theta</em>' attribute.
* @see #setTheta(float)
* @see nao.NaoPackage#getMotion_Theta()
* @model
* @generated
*/
float getTheta();
/**
* Sets the value of the '{@link nao.Motion#getTheta <em>Theta</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Theta</em>' attribute.
* @see #getTheta()
* @generated
*/
void setTheta(float value);
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @model
* @generated
*/
void moveTo();
} // Motion
/**
*/
package nao;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Nao</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link nao.Nao#getName <em>Name</em>}</li>
* <li>{@link nao.Nao#getFunction <em>Function</em>}</li>
* </ul>
*
* @see nao.NaoPackage#getNao()
* @model
* @generated
*/
public interface Nao extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <p>
* If the meaning of the '<em>Name</em>' attribute isn't clear,
* there really should be more of a description here...
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)