Difference between revisions of "PRMS Report"
From Suhrid.net Wiki
Jump to navigationJump to search (→Design) |
(→Design) |
||
Line 55: | Line 55: | ||
* GMF - EuGENia support (Generate GMF vs manual GMF model creation), in house expertise with GMF models, EuGENia authors based in York, customization. | * GMF - EuGENia support (Generate GMF vs manual GMF model creation), in house expertise with GMF models, EuGENia authors based in York, customization. | ||
* EuGENia GMF support for EVL and error/warning markers. | * EuGENia GMF support for EVL and error/warning markers. | ||
− | |||
− | |||
− | |||
− | |||
+ | == ECore metamodel design == | ||
+ | |||
+ | * Represeting ANT concepts as GMF nodes for e.g. Project, Target. | ||
+ | * Using concept of depends and follows. | ||
+ | * Accurate modeling of ANT structure - allows operations to be performed at the higher Task level as opposed to lower levels - such as EOLTask etc. | ||
+ | |||
+ | == Scripting design choices == | ||
* Using Java vs using Epsilon languages | * Using Java vs using Epsilon languages | ||
− | + | * Epsilon :- reflective features. Easy model navigation. | |
* Using EGL: | * Using EGL: | ||
** Protected regions: Merge engine | ** Protected regions: Merge engine | ||
** XML Formatter | ** XML Formatter | ||
** Full reflective support. | ** Full reflective support. | ||
+ | |||
+ | == Editor Design == | ||
+ | |||
+ | * Task to GMF node mapping design choices (Which elements in the metamodel should be visualized) | ||
+ | * Compartments vs Property views - Too boxy. So rejected. | ||
+ | * Property Sheet | ||
+ | * Property Sheet implementation choices : Custom SWT code (rejected/knowledge of SWT - Time constraints: Used by Ecore editor) | ||
+ | * EEF as the choice. | ||
+ | * EEF: new technology, never been integrated with GMF before. | ||
+ | * Challenges in customising EEF - Poorly documented code base. |
Revision as of 04:53, 8 July 2012
Contents
Abstract
- This report developes the idea of a visual graphical editor for Epsilon and the process of developing it.
- A fully working epsilon workflow builder and visualizer is also presented that helps users to compose Epsilon workflows and construct visual representations from textual ones.
Statement of Ethics
- Informal user survey for requirements.
- Formal user survey to evaluate the tool ?
Introduction
Motivation
- Why EWE ? What is the need ?
- Workflow inherently visual - flow of order of tasks.
- e.g. BPM tools all provide editors.
- MDE is essentially a sequence of steps from start to finish.
- Other model management languages, frameworks tools provide it as well. (Atlas, OpenAW, etc)
- Therefore Epsilon, needs one too.
Method
- Documents the process of building such a tool using MDE techniques and Epsilon itself.
Literature Review
- Introduce ALL concepts and technologies that are critical to understanding the tool.
- Model driven engineering - tasks involved. Tasks constitute a workflow.
- How does Epsilon handle it ? Internal architecture of Epsilon Workflow.
- ANT, Java Modules, Eclipse Launch configuration, Working outside Eclipse.
- Provide a general introduction to build management, concept of dependency, task ordering, conditional ordering, task failures, transactions.
- How ANT provides some of these features as a build tool. How Epsilon uses ANT as an architecture - quote from Epsilon ANT paper.
- Introduce idea of domain modeling. Separate the concern of design and architecture. This is the CORE idea.
- Eclipse EMF technologies. How EMF supports Domain Modeling. Give a simple Library example.
- Library domain is expressed. An Editor for the domain is generated - but uses unique architecture. e.g. Adapter, Factory and Command patterns - which WE never specified while modeling the domain.
- Make sure this concept is well understood. MDE in general and how EMF tools support MDE with practical examples.
- Eclipse graphical technologies GEF -> SWT, JFace.
- Eclipse GMF as a bridge between GEF and EMF.
- How GMF is Model based and Generative
- How it fits well for Epsilon since both are based on EMF.
- Introduction to EuGENia.
Requirements
- Initial project description
- Asking Epsilon users to comment on forum
- Discussion with Supervisor
- Self proposed requirements
Design
- Eclipse vs NonEclipse
- EMF in built editor vs (GMF/Graphiti)
- GMF vs Graphiti
- GMF - EuGENia support (Generate GMF vs manual GMF model creation), in house expertise with GMF models, EuGENia authors based in York, customization.
- EuGENia GMF support for EVL and error/warning markers.
ECore metamodel design
- Represeting ANT concepts as GMF nodes for e.g. Project, Target.
- Using concept of depends and follows.
- Accurate modeling of ANT structure - allows operations to be performed at the higher Task level as opposed to lower levels - such as EOLTask etc.
Scripting design choices
- Using Java vs using Epsilon languages
- Epsilon :- reflective features. Easy model navigation.
- Using EGL:
- Protected regions: Merge engine
- XML Formatter
- Full reflective support.
Editor Design
- Task to GMF node mapping design choices (Which elements in the metamodel should be visualized)
- Compartments vs Property views - Too boxy. So rejected.
- Property Sheet
- Property Sheet implementation choices : Custom SWT code (rejected/knowledge of SWT - Time constraints: Used by Ecore editor)
- EEF as the choice.
- EEF: new technology, never been integrated with GMF before.
- Challenges in customising EEF - Poorly documented code base.