Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "ETrice/Development/GettingStartedWithEtrice"

(Deriving from an Existing Generator)
(Prepare Eclipse and build eTrice)
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Prepare Eclipse and build eTrice =
 
= Prepare Eclipse and build eTrice =
 
# get the sources ([[ETrice/Development/Repository |see how]])  
 
# get the sources ([[ETrice/Development/Repository |see how]])  
# download the latest release of Eclipse Modeling Tools (cf. http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/junosr2)
+
# download the latest release of the [http://www.eclipse.org/downloads/packages/eclipse-modeling-tools/keplerr Eclipse Modeling Tools package]
# start eclipse
+
# start Eclipse
 
# Install additional Plugins (if not already installed)
 
# Install additional Plugins (if not already installed)
 
## Graphiti for the Graphical Editors
 
## Graphiti for the Graphical Editors
### select Help -> Install New Software -> Juno - http://download.eclipse.org/releases/juno
+
### select Help -> Install New Software -> Kepler - http://download.eclipse.org/releases/kepler
### select Graphiti 0.9.2
+
### select Graphiti 0.10.2
 
## Xtext and Xtend for the DSL development and the code generators
 
## Xtext and Xtend for the DSL development and the code generators
### Help -> Install New Software -> Xtext releases - http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
+
### Help -> Install New Software -> http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
### select Xtext 2.4.0 and Xtend 2.4.0
+
### select Xtext 2.6.2 (from Modeling) and Xtend 2.6.2 (from Languages)
## Apache Commons IO for file operations (e.g. for incremental code generator)
+
## might be already there: Apache Commons IO for file operations (e.g. for incremental code generator)
 
### Help -> Install New Software : http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ (the link is a p2 update site of Orbit)
 
### 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
 
### Apache Commons IO 2.0.1
Line 19: Line 19:
 
## Kieler for automatic layout of graphical editors
 
## Kieler for automatic layout of graphical editors
 
### Help -> Install New Software : http://download.eclipse.org/etrice/KIELER/kieler-0.7.1
 
### Help -> Install New Software : http://download.eclipse.org/etrice/KIELER/kieler-0.7.1
### if "there are no categorized items" in the list, deselect "Group items by category" -> do not forget to -> select after installation
+
### if "there are no categorized items" in the list, de-select "Group items by category" -> do not forget to -> select after installation
 
### select all Kieler Plugins
 
### select all Kieler Plugins
 
# 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)
Line 28: Line 28:
 
# make sure you are using a JDK (in Eclipse: Window->Preferences->Java->Installed JREs->e.g. jdk1.6.0_24), <b>attention</b>: do not use jdk1.6.0_18 or jdk1.6.0_22!
 
# make sure you are using a JDK (in Eclipse: Window->Preferences->Java->Installed JREs->e.g. jdk1.6.0_24), <b>attention</b>: do not use jdk1.6.0_18 or jdk1.6.0_22!
  
= Getting Started with eTrice =
+
= Working in the Runtime Workspace =
== Setting up Runtime Workspace ==
+
 
* start the runtime workspace: org.eclipse.etrice.core.room.ui -> eTrice-rt.launch (contextmenu -> Run As)
 
* 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
+
* follow the steps in the Tutorials chapter of the eTrice online help (use Eclipse: Help > Help Contents or view the 0.3 documentation in [http://eclipse.org/etrice/documentation/doc/etrice-doc.html HTML] or as [http://eclipse.org/etrice/documentation/manual/etrice.pdf PDF])
** 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 view the MSC with the Open Source tool Trace2UML:
+
*** Project home: http://trace2uml.tigris.org/
+
*** Download for Windows: http://trace2uml.tigris.org/files/documents/2995/47472/Trace2UML-setup-1.1.0.exe
+
*** Download for Linux: http://apt.astade.de
+
* 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 =
 
= Deriving from an Existing Generator =

Revision as of 05:11, 17 October 2014

Prepare Eclipse and build eTrice

  1. get the sources (see how)
  2. download the latest release of the Eclipse Modeling Tools package
  3. start Eclipse
  4. Install additional Plugins (if not already installed)
    1. Graphiti for the Graphical Editors
      1. select Help -> Install New Software -> Kepler - http://download.eclipse.org/releases/kepler
      2. select Graphiti 0.10.2
    2. Xtext and Xtend for the DSL development and the code generators
      1. Help -> Install New Software -> http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
      2. select Xtext 2.6.2 (from Modeling) and Xtend 2.6.2 (from Languages)
    3. might be already there: 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
    4. Google Guava (needed for Kieler Plugins)
      1. Help -> Install New Software : Guava - http://guava-osgi.googlecode.com/svn/trunk/repository/
      2. deselect "show only the latest versions of available software", because we need an older version
      3. select Guava 8.0.0
    5. Kieler for automatic layout of graphical editors
      1. Help -> Install New Software : http://download.eclipse.org/etrice/KIELER/kieler-0.7.1
      2. if "there are no categorized items" in the list, de-select "Group items by category" -> do not forget to -> select after installation
      3. select all Kieler Plugins
  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!

Working in the Runtime Workspace

  • start the runtime workspace: org.eclipse.etrice.core.room.ui -> eTrice-rt.launch (contextmenu -> Run As)
  • follow the steps in the Tutorials chapter of the eTrice online help (use Eclipse: Help > Help Contents or view the 0.3 documentation in HTML or as PDF)

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).

Back to the top