Epsilon provides a set of interoperable task-specific programming languages through which you can interact with your EMF models to perform common MDE tasks.
(read more or try it in your browser...)
What can you do with Epsilon?
Recent forum posts
Re: [Eugenia] Subdiagrams(2009-11-20T03:13:14-00:00) As I just got a question from someone regarding subdiagrams:
I recently submitted an enhancement request for subdiagrams of same type to Eugenia at https://bugs.eclipse.org/bugs/show_bug.cgi?id=295271. I attached a ZIP file that contains a simple state machine language that features composite states (states are contained in compartments) and partitioning states, which open subdiagrams through double-click [...]
Re: ECore2GMF.eol: How to access/change node in GmfMap(2009-11-20T00:50:31-00:00) Never mind. I finally discovered the println feature in EOL and figured out that the nodeMapping.relatedDiagrams attribute is in fact an EolCollectionType object. Now don't ask me how a collection is stuffed into an XML attribute at the file level (seems counter-intuitive to me), but I finally got this code here working:
var nodeMapping := GmfMap!NodeMapping.all.selectOne(nm|nm.domainMetaElement.name = "PartitioningState");
var canvasMapping := GmfMap!CanvasMapping.all.first();
nodeMapping.relatedDiagrams.add(canvasMapping);
[...]
Re: ECore2GMF.eol: How to access/change node in GmfMap(2009-11-19T23:53:18-00:00) Hey Dimitrios,
that already got me further. So here is what I have right now:
var nodeMapping := GmfMap!NodeMapping.all.selectOne(nm|nm.domainMetaElement.name = "PartitioningState");
var canvasMapping := GmfMap!CanvasMapping.all.first();
nodeMapping.relatedDiagrams := canvasMapping;
Unfortunately, the last line crashes because the canvasMapping cannot be assigned to the nodeMapping's relatedDiagram attribute. In the gmfmap XML, this is what the output should be:
<ownedChild [...]
Re: Model Elemenet Types: "!" vs. "::"(2009-11-19T14:37:33-00:00) Dimitris,
Thanks for your help! I have a final question. On your mail you told me:
Quote:
2. I changed both
<parameter name="isMetamodelFileBased" value="true"/>
to
<parameter name="isMetamodelFileBased" value="false"/>
Why and when to set that property to true, and where can I get detailed [...]
Re: EVL validation is working, EMF is not(2009-11-19T12:24:44-00:00) Hi Dimitris,
I filed the bug, the link is:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=295575
Regards,
Giovanni.
Recent articles in the blog
EuGENia: Polishing your GMF editor(Mon, 15 Jun 2009 14:09:36 +0000) EuGENia is a front-end for GMF that enables developers to generate a fully functional GMF editor by attaching a few high-level annotations to the Ecore metamodel. The original aim of EuGENia was to lower the entrance barrier for new GMF users and enable people to quickly and easily develop the first version of their editor.
However, after the initial excitement of (at last) being able to get a working [...]
New in Epsilon 0.8.5(Sun, 24 May 2009 02:58:39 +0000) Apart from adding support for managing inconsistent EMF models with HUTN, and fixing several bugs, version 0.8.5 of Epsilon also includes a few new and noteworthy features.
Use of = both for assignment and for comparison
As EOL builds on OCL, it (re)uses = for comparison (e.g. if (a = b) {…}) and := for assignment (e.g. a := b;). As Louis reported here, this has been a source of confusion and well-camouflaged [...]
Managing Inconsistent Models with HUTN(Mon, 27 Apr 2009 12:53:10 +0000) A model and metamodel are consistent when the metamodel specifies every concept used in the model definition. A metamodel can evolve (be adapted by a developer), which can cause inconsistency. We’ve recently added a tool to Epsilon, the HUTN / XMI bridge, that seeks to aid developers in manually managing inconsistency.
HUTN, an OMG standard, specifies a human-usable, textual notation for MOF-based models. Epsilon [...]
Test-Driven Development for Epsilon(Mon, 20 Apr 2009 11:45:31 +0000) Test-Driven Development (TDD) is an approach to software development that advocates writing tests before implementation. TDD has many advantages when compared to other forms of development, in which tests are often an after-thought. Proponents argue that TDD produces clean interfaces, minimal implementations and a suite of tests that can be used to guard against regressions. (See “TDD by Example,” Beck and, [...]
Epsilon + AppEngine + Ajax = Epsilon Live(Thu, 16 Apr 2009 10:16:43 +0000) The Epsilon website already includes several screencasts and examples that demonstrate the tools and languages it provides. The preview release of the Google App Engine for Java has made it possible to go one step further and allow people to actually write and execute EOL (the core language of Epsilon) programs straight from their browser without needing to download or install anything.
http://www.eclipse.org/gmt/epsilon/live [...]
Version 0.8.6 is now available(Fri, 12 Jun 2009 13:29:00 CET)
Fixes bugs and implements enhancement requests
#265285, #265609, #268085, #265145, #277252,
#275318, [...]