Skip to main content
Jump to: navigation, search

Difference between revisions of "OAW Roadmap"

 
(Other Topic)
Line 4: Line 4:
 
(Insert text here)
 
(Insert text here)
  
== Other Topic ==
+
== Version 5 ==
(Insert text here)
+
 
 +
In Version 5 we want to improve some of the Xtend language concepts and features.
 +
Codename is Xtend++ :
 +
 
 +
=== Imports ===
 +
The import mechanism should be overworked, so that every import is explicite.
 +
We won't need any metamodel configuration in the workflow nor in the editors anymore.
 +
This will not only make the setup simpler but will also improve the performance.
 +
 
 +
The syntax would change to something like the following:
 +
 
 +
import org:openarchitectureware:Extension; // native import
 +
import EMF "my/package/model.ecore"; // non-native import
 +
import UML "my/test.profile.uml" as profile; // non-native import with name space definition
 +
 
 +
==== Native import ====
 +
A native import refers to another extension file imports all public members (types, functions, extensions).
 +
 
 +
==== Non-native Import ====
 +
A non native import starts with an identifier pointing to an installed adapter.
 +
The adapter is responsible for loading and converting the members from the given string.
 +
The syntax in the string is defined by the adapter.
 +
 
 +
==== Namespace definition ====
 +
All members are included without namespace information. If you need a namespace you can explicitely define one per import.
 +
 
 +
==== Reexport ====
 +
The reexport keyword will be supported.
 +
 
 +
=== Object construction pattern ===
 +
We are thinking about a syntax to create model graphs inline.
 +
We need this not only for model transformations but also for writing model transformation tests.
 +
 
 +
Example:
 +
 
 +
new Entity as e {
 +
  name := "Person";
 +
  references += new Reference {
 +
                  name := "partner"
 +
                  type := e
 +
                }
 +
}
 +
 
 +
==== Assignments ====
 +
They are just another syntax for invoking a setter resp. adder-operation (which will be removed).
 +
 
 +
 
 +
 
 +
 
 +
 
 
| valign=top |
 
| valign=top |
 
{| border=0 cellspacing=3 cellpadding=4
 
{| border=0 cellspacing=3 cellpadding=4

Revision as of 09:38, 2 March 2007

Overview

(Insert text here)

Version 5

In Version 5 we want to improve some of the Xtend language concepts and features. Codename is Xtend++ :

Imports

The import mechanism should be overworked, so that every import is explicite. We won't need any metamodel configuration in the workflow nor in the editors anymore. This will not only make the setup simpler but will also improve the performance.

The syntax would change to something like the following:

import org:openarchitectureware:Extension; // native import
import EMF "my/package/model.ecore"; // non-native import
import UML "my/test.profile.uml" as profile; // non-native import with name space definition

Native import

A native import refers to another extension file imports all public members (types, functions, extensions).

Non-native Import

A non native import starts with an identifier pointing to an installed adapter. The adapter is responsible for loading and converting the members from the given string. The syntax in the string is defined by the adapter.

Namespace definition

All members are included without namespace information. If you need a namespace you can explicitely define one per import.

Reexport

The reexport keyword will be supported.

Object construction pattern

We are thinking about a syntax to create model graphs inline. We need this not only for model transformations but also for writing model transformation tests.

Example:

new Entity as e {
  name := "Person";
  references += new Reference {
                  name := "partner"
                  type := e
                }
}

Assignments

They are just another syntax for invoking a setter resp. adder-operation (which will be removed).



OAW Navigation   
Main Page

Back to the top