Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Sirius/Tutorials/Mindstorms/DomainModel"
< Sirius | Tutorials | Mindstorms
(→Instructions) |
(→Instructions) |
||
Line 5: | Line 5: | ||
==Instructions== | ==Instructions== | ||
− | * Launch Obeo Designer | + | * Launch '''Obeo Designer''' |
− | * Create an Ecore Modeling Project | + | * Create an '''Ecore Modeling Project''' |
− | ** Name = fr.obeo.dsl.tuto.mindstorms | + | ** '''Name''' = <code>fr.obeo.dsl.tuto.mindstorms</code> |
− | ** Ns URI = http://www.obeo.fr/dsl/mindstorms/1.0.0 | + | ** '''Ns URI''' = <code>http://www.obeo.fr/dsl/mindstorms/1.0.0</code> |
− | ** Use the Palette to create the EClasses: Choreography, Instruction, Action, Grab, Release, Rotate and GoForward | + | ** Use the Palette to create the EClasses: <code>Choreography</code>, <code>Instruction</code>, <code>Action</code>, <code>Grab</code>, <code>Release</code>, <code>Rotate</code> and <code>GoForward</code>. |
− | *** Set Instruction and Action as abstract | + | *** Set <code>Instruction</code> and <code>Action</code> as <code>abstract</code> |
− | ** Use the Palette to create SuperType relations: | + | ** Use the Palette to create '''SuperType''' relations: |
− | *** from Grab, Release, Rotate and GoForward to Action | + | *** from <code>Grab</code>, <code>Release</code>, <code>Rotate</code> and <code>GoForward</code> to <code>Action</code> |
− | *** from Action and Choreography to Instruction | + | *** from <code>Action</code> and <code>Choreography</code> to <code>Instruction</code> |
− | ** Use the Palette to create a Composition relation named instructions between Choreography and Instruction | + | ** Use the Palette to create a '''Composition''' relation named <code>instructions</code> between <code>Choreography</code> and <code>Instruction</code> |
− | ** Use the Palette to create EAttributes: | + | ** Use the Palette to create '''EAttributes''': |
*** Choreography | *** Choreography | ||
− | **** name: EString | + | **** <code>name: EString</code> |
*** Rotate | *** Rotate | ||
− | **** degrees: EInt | + | **** <code>degrees: EInt</code> |
− | **** random: EBoolean | + | **** <code>random: EBoolean</code> |
*** GoForward | *** GoForward | ||
− | **** cm: EInt | + | **** <code>cm: EInt</code> |
− | ** Right-click on the diagram and select the menu Generate | + | ** Right-click on the diagram and select the menu '''Generate''' |
− | *** Generate the Model code | + | *** Generate the '''Model''' code |
− | *** Generate the Edit code | + | *** Generate the '''Edit''' code |
− | *** Generate the Editor code | + | *** Generate the '''Editor''' code |
− | * Edit the fr.obeo.dsl.tuto.mindstorms.edit generated project to improve the default labels and icons | + | * Edit the <code>fr.obeo.dsl.tuto.mindstorms.edit</code> generated project to improve the default labels and icons |
− | ** Replace the icons contained in icons/full/obj16 by those from icons-metamodel | + | ** Replace the icons contained in <code>icons/full/obj16</code> by those from '''icons-metamodel.zip''' (provided with the tutorial resources) |
− | ** Replace the getImage method of the class RotateItemProvider.java (in fr.obeo.dsl.tuto.mindstorms.edit) by the one defined in methods.txt | + | ** Replace the <code>getImage</code> method of the class <code>RotateItemProvider.java<code> (in <code>fr.obeo.dsl.tuto.mindstorms.edit</code>) by the one defined in '''methods.txt''' (provided with the tutorial resources) |
==Solution== | ==Solution== |
Revision as of 12:58, 12 September 2018
Objectives
Define the concepts used by the Mindstorms modeling tool
Instructions
- Launch Obeo Designer
- Create an Ecore Modeling Project
- Name =
fr.obeo.dsl.tuto.mindstorms
- Ns URI =
http://www.obeo.fr/dsl/mindstorms/1.0.0
- Use the Palette to create the EClasses:
Choreography
,Instruction
,Action
,Grab
,Release
,Rotate
andGoForward
.- Set
Instruction
andAction
asabstract
- Set
- Use the Palette to create SuperType relations:
- from
Grab
,Release
,Rotate
andGoForward
toAction
- from
Action
andChoreography
toInstruction
- from
- Use the Palette to create a Composition relation named
instructions
betweenChoreography
andInstruction
- Use the Palette to create EAttributes:
- Choreography
-
name: EString
-
- Rotate
-
degrees: EInt
-
random: EBoolean
-
- GoForward
-
cm: EInt
-
- Choreography
- Right-click on the diagram and select the menu Generate
- Generate the Model code
- Generate the Edit code
- Generate the Editor code
- Name =
- Edit the
fr.obeo.dsl.tuto.mindstorms.edit
generated project to improve the default labels and icons- Replace the icons contained in
icons/full/obj16
by those from icons-metamodel.zip (provided with the tutorial resources) - Replace the
getImage
method of the classRotateItemProvider.java<code> (in <code>fr.obeo.dsl.tuto.mindstorms.edit
) by the one defined in methods.txt (provided with the tutorial resources)
- Replace the icons contained in
Solution
- Import the three existing Eclipse projects contained in the archive solution1.zip
- They define the Mindstorms metamodel
- Create and launch a new Eclipse Launch Configuration
- In this new runtime, the Mindstorms metamodel will be available for execution)
- Click on Run / Run Configuration…
- Select Eclipse Application, click on New
- Then click on Run
- In the new runtime, import the Eclipse project contained in the archive sample.zip
- It contains a sample Mindstorms model that will be used to test your modeling tool
- You can open this model with the default editor generated by EMF
- Your environment should look like this: