Jump to: navigation, search

Difference between revisions of "ETrice/Development/GettingStartedWithEtrice"

Line 4: Line 4:
 
# start eclipse
 
# start eclipse
 
# Install additional Plugins (if not already installed)
 
# Install additional Plugins (if not already installed)
## Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
+
## Graphiti for the Graphical Editors
## select  
+
### select Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
### Graphiti 0.9.2
+
### select Graphiti 0.9.2
## Help -> Install New Software ->  Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
+
## Xtext and Xtend for the DSL development and the code generators
## select  
+
### Help -> Install New Software ->  Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
### XText 2.4.0
+
### select Xtext 2.4.0 and Xtend 2.4.0
### Xtend 2.4.0
+
## Apache Commons IO for file operations (e.g. for incremental code generator)
## you might also need to get org.apache.commons.io (2.0.1) from [http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ Orbit] (the link is a p2 update site)
+
### Help -> Install New Software -> [http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ (the link is a p2 update site of Orbit)
 +
### Apache Commons IO 2.0.1
 
# import all projects from your local GIT clone to your Workspace (with EGit plugin)
 
# import all projects from your local GIT clone to your Workspace (with EGit plugin)
 
## Git Repositories View
 
## Git Repositories View

Revision as of 03:43, 12 April 2013

Prepare Eclipse and build eTrice

  1. get the sources (see how)
  2. download the latest release of Eclipse Modeling Tools (cf. http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/junosr2)
  3. start eclipse
  4. Install additional Plugins (if not already installed)
    1. Graphiti for the Graphical Editors
      1. select Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
      2. select Graphiti 0.9.2
    2. Xtext and Xtend for the DSL development and the code generators
      1. Help -> Install New Software -> Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
      2. select Xtext 2.4.0 and Xtend 2.4.0
    3. Apache Commons IO for file operations (e.g. for incremental code generator)
      1. Help -> Install New Software -> [http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ (the link is a p2 update site of Orbit)
      2. Apache Commons IO 2.0.1
  5. import all projects from your local GIT clone to your Workspace (with EGit plugin)
    1. Git Repositories View
    2. Add Repository (local GIT clone)
    3. Context Menu of Working Directory -> Import Projects
    4. Import all Projects
  6. make sure you are using a JDK (in Eclipse: Window->Preferences->Java->Installed JREs->e.g. jdk1.6.0_24), attention: do not use jdk1.6.0_18 or jdk1.6.0_22!

Getting Started with eTrice

Setting up Runtime Workspace

  • start the runtime workspace: org.eclipse.etrice.core.room.ui -> eTrice-rt.launch (contextmenu -> Run As)
  • check out the runtime projects from your local GIT clone
    • org.eclipse.etrice.tutorials
    • org.eclipse.etrice.modellib
    • org.eclipse.etrice.runtime.java

Editing the Model

  • the first model you find in org.eclipse.etrice.doc.tutorials/model/scratch/PingPong.room (doubleclick for editor)
  • if the room editor has the focus, you can see all your model elements in the outline view
  • with a right click on an actor (e.g. MrPingActor) you can
    • Edit Structure
    • Edit Behavior
  • Important: You have to save every "dirty" editor before opening another editor

Code Generator

  • org.eclipse.etrice.doc.tutorials -> genAllTutorials.mwe2.launch -> (contextmenu)Run As -> genAllModels.mwe2
  • you will find the generated code in org.eclipse.etrice.doc.tutorials/src-gen
  • you can see the generated instance tree of your actor org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPong.jpg
    • Precondition: install the current version of graphviz and add the path to dot.exe to you system or user PATH variable

Run

  • start generated application: org.eclipse.etrice.doc.tutorials/src-gen/PingPong/SubSystem_PingPongRunner.java -> Run As -> Java Application
  • in the View Console you can see the debugging output of the running model
  • enter "quit" and <enter> in the Console to stop the running application (you should see *** T H E E N D *** )

Debug

  • in org.eclipse.etrice.doc.tutorials/tmp/log you will find the generated Message Sequence Chart of your application: SubSystem_PingPong_Async.seq (MSC)
  • you can debug the generated code like any other Java Project. The main function is located in SubSystem_PingPongRunner.java
  • be aware that all actors communication via message queue, so the regular sourcecode debugging is sometimes not sufficient

Deriving from an Existing Generator

There is a minimal example that shows how a generator can be derived from the existing eTrice Java generator. The example shows how the derived DetailCodeTranslator handles an additional tag.

The example consist of two plugins:

  • examples/my.etrice.generator
  • examples/my.etrice.generator.launch

You will find the examples in the eTrice GIT repository: http://git.eclipse.org/c/etrice/org.eclipse.etrice.git/tree/examples

The first one overrides the Java generator, the second one overrides the Java launch configuration to launch the derived generator. Please have a look at the comments marked with EXAMPLE: (you can add that as a Java task tag in the preferences and use the Tasks View to locate these comments).