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.
Difference between revisions of "ATL/VM Comparison"
(added sections and links) |
|||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | The objective of this page is to | + | The objective of this page is to identify semantics differences between the three ATL Virtual Machines (VMs). |
− | + | ||
− | + | ||
− | + | ||
− | This table does not contain all features that are working similarly on all VMs. | + | == Feature-based Comparison == |
+ | |||
+ | This section gathers a list of features that are implemented differently in the three ATL VMs. RegularVM is the first and oldest VM, which was followed up by the more efficient [[ATL_VM_Testing|EMFVM]]. In 2011, the [[ATL/EMFTVM|EMFTVM]] was introduced, and is the most recent VM to this date. | ||
+ | Note that the default VM is [[ATL_VM_Testing|EMFVM]], and the older RegularVM should only be used when EMFVM does not do what you want (increasingly rare). | ||
+ | [[ATL/EMFTVM|EMFTVM]] is not the default VM because of subtle incompatibilities with the older two VMs, most notably it has a different bytecode format. That said, EMFTVM is just as stable for use in production scenarios. | ||
+ | |||
+ | The table below does not contain all features that are working similarly on all VMs. | ||
{| border=1 style="border-collapse: collapse" | {| border=1 style="border-collapse: collapse" | ||
Line 77: | Line 80: | ||
| In-place | | In-place | ||
| In-place, without explicit "drop" | | In-place, without explicit "drop" | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| self instead of thisModule in context-less helpers and rules | | self instead of thisModule in context-less helpers and rules | ||
Line 89: | Line 86: | ||
| no | | no | ||
| report error for EMFTVM and deprecated for other VMs (see [http://dev.eclipse.org/mhonarc/lists/m2m-atl-dev/msg00210.html corresponding discussion on m2m-atl-dev]) | | report error for EMFTVM and deprecated for other VMs (see [http://dev.eclipse.org/mhonarc/lists/m2m-atl-dev/msg00210.html corresponding discussion on m2m-atl-dev]) | ||
+ | |- | ||
+ | | Assignment/binding semantics | ||
+ | | SET semantics for single-valued properties, ADD semantics for collection properties | ||
+ | | SET semantics for single-valued properties, ADD semantics for collection properties | ||
+ | | SET semantics for all properties (by design; EMFTVM has separate ADD/REMOVE instructions) | ||
+ | | | ||
+ | |- | ||
+ | | Entrypoint rule support | ||
+ | | yes | ||
+ | | yes | ||
+ | | yes, since 4.0 | ||
+ | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=529548 EMFTVM issue] | ||
+ | |- | ||
+ | | Output model navigation | ||
+ | | Forbidden, but not enforced at runtime | ||
+ | | Forbidden, but not enforced at runtime | ||
+ | | Forbidden, and enforced at runtime | ||
+ | | EMFTVM improvement | ||
+ | |- | ||
+ | | Automatic type conversion during assignment/binding | ||
+ | | Yes: collection boxing/unboxing | ||
+ | | Yes: collection boxing/unboxing | ||
+ | | No (types must match exactly) | ||
+ | | | ||
+ | |- | ||
+ | | Module naming | ||
+ | | Doesn't matter | ||
+ | | Doesn't matter | ||
+ | | Module name must match file name | ||
+ | | EMFTVM improvement | ||
+ | |- | ||
+ | | "uses" clause | ||
+ | | Ignored | ||
+ | | Ignored | ||
+ | | Missing imports cause a load-time error | ||
+ | | EMFTVM improvement | ||
+ | |- | ||
+ | | Type references | ||
+ | | Ignored | ||
+ | | Ignored | ||
+ | | Checked: missing types (e.g. metaclasses) cause a load-time error | ||
+ | | EMFTVM improvement | ||
+ | |- | ||
+ | | "foreach - distinct" | ||
+ | | yes | ||
+ | | yes | ||
+ | | no | ||
+ | | report error for EMFTVM and deprecated for other VMs | ||
+ | |- | ||
+ | | lazy rule inheritance | ||
+ | | yes | ||
+ | | yes | ||
+ | | yes, since 4.0 | ||
+ | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=415863 EMFTVM issue] | ||
+ | |- | ||
+ | | binding overriding | ||
+ | | yes | ||
+ | | yes | ||
+ | | overriden binding also executed | ||
+ | | ideally, EMFTVM should not execute overriden binding, but it currently does so to simplify support of inter-module rule inheritance at runtime | ||
|} | |} | ||
− | The following table lists the status of the ATL non-regression tests for each VM | + | == Test-based Comparison == |
+ | |||
+ | The following table lists the status of the ATL non-regression tests for each VM. | ||
+ | Clicking on a VM name, in the first row, opens the corresponding test data folder on the git repository. | ||
{| border=1 style="border-collapse: collapse" | {| border=1 style="border-collapse: collapse" | ||
! Test | ! Test | ||
! RegularVM | ! RegularVM | ||
− | ! EMFVM | + | ! [https://git.eclipse.org/c/mmt/org.eclipse.atl.git/tree/tests/org.eclipse.m2m.atl.tests/data EMFVM] |
− | ! EMFTVM | + | ! [https://git.eclipse.org/c/mmt/org.eclipse.atl.git/tree/tests/org.eclipse.m2m.atl.emftvm.tests/test-data EMFTVM] |
+ | ! Comment | ||
! Proposed difference resolution | ! Proposed difference resolution | ||
|- | |- | ||
Line 105: | Line 166: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| Ant2Maven/Ant2Maven | | Ant2Maven/Ant2Maven | ||
Line 111: | Line 173: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| "foreach - distinct" not supported on EMFTVM | | "foreach - distinct" not supported on EMFTVM | ||
+ | | | ||
|- | |- | ||
| Ant2Maven/Maven2XML | | Ant2Maven/Maven2XML | ||
Line 117: | Line 180: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| depends on Ant2Maven | | depends on Ant2Maven | ||
+ | | | ||
|- | |- | ||
| Ant2Maven/XML2Ant | | Ant2Maven/XML2Ant | ||
Line 123: | Line 187: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| depends on Ant2Maven | | depends on Ant2Maven | ||
+ | | | ||
|- | |- | ||
| AssertionModification | | AssertionModification | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
− | | style="color: | + | | style="color:green;" | PASS |
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| AssignementTest/DeclarativeTest | | AssignementTest/DeclarativeTest | ||
Line 135: | Line 201: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| EMFTVM assumes SET semantics for all properties, not ADD for collections | | EMFTVM assumes SET semantics for all properties, not ADD for collections | ||
+ | | | ||
|- | |- | ||
| AssignementTest/ImperativeTest | | AssignementTest/ImperativeTest | ||
Line 141: | Line 208: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| EMFTVM assumes SET semantics for all properties, not ADD for collections | | EMFTVM assumes SET semantics for all properties, not ADD for collections | ||
+ | | | ||
|- | |- | ||
| AssignementTest/RefiningTest | | AssignementTest/RefiningTest | ||
Line 147: | Line 215: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| EMFTVM assumes SET semantics for all properties, not ADD for collections | | EMFTVM assumes SET semantics for all properties, not ADD for collections | ||
+ | | | ||
|- | |- | ||
| atl2010/CreateManyTraceElements | | atl2010/CreateManyTraceElements | ||
Line 153: | Line 222: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| atl2010/RemoveClass2010 | | atl2010/RemoveClass2010 | ||
Line 159: | Line 229: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| atl2010/RemoveClassAndCreate2010 | | atl2010/RemoveClassAndCreate2010 | ||
Line 165: | Line 236: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| atl2010/RemoveClassAndMoveProperty2010 | | atl2010/RemoveClassAndMoveProperty2010 | ||
Line 171: | Line 243: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| atl2010/RemoveClassAndMovePropertyRB2010 | | atl2010/RemoveClassAndMovePropertyRB2010 | ||
Line 177: | Line 250: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| atl2010/RemoveProperty2010 | | atl2010/RemoveProperty2010 | ||
Line 183: | Line 257: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Refining trace mode not supported | | Refining trace mode not supported | ||
+ | | | ||
|- | |- | ||
| ATL2Problem | | ATL2Problem | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| BibTeX2DocBook | | BibTeX2DocBook | ||
Line 194: | Line 270: | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
− | | | + | | Cannot assign single Book instance to multi-valued field DocBook::books |
+ | | | ||
|- | |- | ||
| Book2Publication/Book2Publication | | Book2Publication/Book2Publication | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| Book2Publication/XML2Book | | Book2Publication/XML2Book | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| Class2Relational/Class2Relational | | Class2Relational/Class2Relational | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| Class2Relational/Ecore2Class | | Class2Relational/Ecore2Class | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3 | | DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3 | ||
Line 225: | Line 306: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Assigning a Sequence of Sequences to a Collection property | | Assigning a Sequence of Sequences to a Collection property | ||
+ | | | ||
|- | |- | ||
| DSLBridge/MetamodelBridge/DSL2EMF/XML2DSL | | DSLBridge/MetamodelBridge/DSL2EMF/XML2DSL | ||
Line 231: | Line 313: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Assigning a Sequence of Sequences to a Collection property | | Assigning a Sequence of Sequences to a Collection property | ||
+ | | | ||
|- | |- | ||
| DSLBridge/MetamodelBridge/EMF2DSL/DSL2XML | | DSLBridge/MetamodelBridge/EMF2DSL/DSL2XML | ||
Line 237: | Line 320: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Assigning a single value to a Collection property | | Assigning a single value to a Collection property | ||
+ | | | ||
|- | |- | ||
| DSLBridge/MetamodelBridge/EMF2DSL/KM32DSL | | DSLBridge/MetamodelBridge/EMF2DSL/KM32DSL | ||
Line 243: | Line 327: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Use of "self" in helper without context declaration | | Use of "self" in helper without context declaration | ||
+ | | | ||
|- | |- | ||
| DSLBridge/ModelBridge/DSLModel2KM2 | | DSLBridge/ModelBridge/DSLModel2KM2 | ||
Line 249: | Line 334: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| foreach - distinct not supported on EMFTVM | | foreach - distinct not supported on EMFTVM | ||
+ | | | ||
|- | |- | ||
| DSLBridge/ModelBridge/KM32ATL_KM22MM | | DSLBridge/ModelBridge/KM32ATL_KM22MM | ||
Line 255: | Line 341: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Assigning a single value to a Collection property | | Assigning a single value to a Collection property | ||
+ | | | ||
|- | |- | ||
| DSLBridge/ModelBridge/XML2DSLModel | | DSLBridge/ModelBridge/XML2DSLModel | ||
Line 261: | Line 348: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| foreach - distinct not supported | | foreach - distinct not supported | ||
+ | | | ||
|- | |- | ||
| Enumerations/Ecore | | Enumerations/Ecore | ||
Line 267: | Line 355: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| Enumerations/UML | | Enumerations/UML | ||
Line 273: | Line 362: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| Families2Persons | | Families2Persons | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|- | |- | ||
| FlattenTest | | FlattenTest | ||
Line 285: | Line 376: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| InterModelReferences | | InterModelReferences | ||
Line 291: | Line 383: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| IteratorsTests | | IteratorsTests | ||
Line 297: | Line 390: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
− | | MultipleOutputs | + | | MultipleOutputs/MultipleOutputs_V0 |
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
+ | | style="color:green;" | PASS | ||
+ | | Releng issue | ||
+ | | | ||
+ | |- | ||
+ | | MultipleOutputs/MultipleOutputs_V1 | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
+ | | style="color:red;" | FAIL | ||
+ | | style="color:green;" | PASS | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| OverflowOperandStack | | OverflowOperandStack | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
− | | style="color: | + | | style="color:green;" | PASS |
+ | | | ||
| | | | ||
|- | |- | ||
Line 315: | Line 418: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| ReverseBindings/NonRefiningMode | | ReverseBindings/NonRefiningMode | ||
Line 321: | Line 425: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Misconfigured test | | Misconfigured test | ||
+ | | | ||
|- | |- | ||
| ReverseBindings/NonRefiningMode | | ReverseBindings/NonRefiningMode | ||
Line 327: | Line 432: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Misconfigured test | | Misconfigured test | ||
+ | | | ||
|- | |- | ||
| RSM2TPC | | RSM2TPC | ||
Line 333: | Line 439: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Long execution time | | Long execution time | ||
+ | | | ||
|- | |- | ||
| Sildex2Sam | | Sildex2Sam | ||
Line 338: | Line 445: | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
− | | Invalid | + | | Invalid rule inheritance + invalid module name + invalid metaclass reference "SAM!IPort" |
+ | | | ||
|- | |- | ||
| SpreadSheetML2PerformanceUMLStateChart/SpreadsheetMLSimplified2Trace | | SpreadSheetML2PerformanceUMLStateChart/SpreadsheetMLSimplified2Trace | ||
Line 345: | Line 453: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| SpreadSheetML2PerformanceUMLStateChart/Trace2PerformanceMetrics | | SpreadSheetML2PerformanceUMLStateChart/Trace2PerformanceMetrics | ||
Line 351: | Line 460: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| SpreadSheetML2PerformanceUMLStateChart/UMLStateChart2PerformanceAnnotatedUMLStateChart | | SpreadSheetML2PerformanceUMLStateChart/UMLStateChart2PerformanceAnnotatedUMLStateChart | ||
Line 357: | Line 467: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| UML2Relational | | UML2Relational | ||
Line 363: | Line 474: | ||
| style="color:red;" | FAIL | | style="color:red;" | FAIL | ||
| Releng issue | | Releng issue | ||
+ | | | ||
|- | |- | ||
| UniqueLazyRule | | UniqueLazyRule | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
| style="color:green;" | PASS | | style="color:green;" | PASS | ||
− | | style="color: | + | | style="color:green;" | PASS |
− | | | + | | |
+ | | | ||
|} | |} |
Latest revision as of 03:47, 11 November 2022
The objective of this page is to identify semantics differences between the three ATL Virtual Machines (VMs).
Feature-based Comparison
This section gathers a list of features that are implemented differently in the three ATL VMs. RegularVM is the first and oldest VM, which was followed up by the more efficient EMFVM. In 2011, the EMFTVM was introduced, and is the most recent VM to this date. Note that the default VM is EMFVM, and the older RegularVM should only be used when EMFVM does not do what you want (increasingly rare). EMFTVM is not the default VM because of subtle incompatibilities with the older two VMs, most notably it has a different bytecode format. That said, EMFTVM is just as stable for use in production scenarios.
The table below does not contain all features that are working similarly on all VMs.
Feature | RegularVM | EMFVM | EMFTVM | Proposed difference resolution |
---|---|---|---|---|
supercall | yes | no | yes | fix EMFVM |
superget (e.g. "super.attribute") | no | no | yes | EMFTVM improvement (i.e., no modification of older VMs) |
attribute helper on OclUndefined | no | yes | yes | |
debugger | yes | partially (does not stop on errors, variable inspection may not always work, especially stack in disassembly mode) | yes, but without stack inspection | |
.debug(<no argument>) | no | yes | yes (commit) | EMFVM & EMFTVM improvement (i.e., no modification on Regular VM) |
OCL collections | yes, eager | yes, eager | yes, lazy | if laziness is never problematic then EMFTVM improvement (i.e., no modification on older VMs) else make it configurable |
Rule inheritance | yes, single | yes, single | yes, multiple (via "-- @extends") | EMFTVM improvement (i.e., no modification on older VMs), consider ATL syntax extension |
Method dispatch | virtual | virtual | multiple virtual | EMFTVM improvement (i.e., no modification on older VMs) |
Closures | no | no | yes (but ATL syntax does not support defining Lambda parameters) | EMFTVM improvement (i.e., no modification on older VMs), consider ATL syntax extension |
Helper on Collection context | ? | ? | yes, with element type erasure | EMFTVM improvement (i.e., no modification on older VMs) |
Refining mode | In-place | In-place | In-place, without explicit "drop" | |
self instead of thisModule in context-less helpers and rules | yes | yes | no | report error for EMFTVM and deprecated for other VMs (see corresponding discussion on m2m-atl-dev) |
Assignment/binding semantics | SET semantics for single-valued properties, ADD semantics for collection properties | SET semantics for single-valued properties, ADD semantics for collection properties | SET semantics for all properties (by design; EMFTVM has separate ADD/REMOVE instructions) | |
Entrypoint rule support | yes | yes | yes, since 4.0 | EMFTVM issue |
Output model navigation | Forbidden, but not enforced at runtime | Forbidden, but not enforced at runtime | Forbidden, and enforced at runtime | EMFTVM improvement |
Automatic type conversion during assignment/binding | Yes: collection boxing/unboxing | Yes: collection boxing/unboxing | No (types must match exactly) | |
Module naming | Doesn't matter | Doesn't matter | Module name must match file name | EMFTVM improvement |
"uses" clause | Ignored | Ignored | Missing imports cause a load-time error | EMFTVM improvement |
Type references | Ignored | Ignored | Checked: missing types (e.g. metaclasses) cause a load-time error | EMFTVM improvement |
"foreach - distinct" | yes | yes | no | report error for EMFTVM and deprecated for other VMs |
lazy rule inheritance | yes | yes | yes, since 4.0 | EMFTVM issue |
binding overriding | yes | yes | overriden binding also executed | ideally, EMFTVM should not execute overriden binding, but it currently does so to simplify support of inter-module rule inheritance at runtime |
Test-based Comparison
The following table lists the status of the ATL non-regression tests for each VM. Clicking on a VM name, in the first row, opens the corresponding test data folder on the git repository.
Test | RegularVM | EMFVM | EMFTVM | Comment | Proposed difference resolution |
---|---|---|---|---|---|
291626 | FAIL | FAIL | FAIL | Releng issue | |
Ant2Maven/Ant2Maven | PASS | PASS | FAIL | "foreach - distinct" not supported on EMFTVM | |
Ant2Maven/Maven2XML | PASS | PASS | FAIL | depends on Ant2Maven | |
Ant2Maven/XML2Ant | PASS | PASS | FAIL | depends on Ant2Maven | |
AssertionModification | FAIL | FAIL | PASS | Releng issue | |
AssignementTest/DeclarativeTest | PASS | PASS | FAIL | EMFTVM assumes SET semantics for all properties, not ADD for collections | |
AssignementTest/ImperativeTest | PASS | PASS | FAIL | EMFTVM assumes SET semantics for all properties, not ADD for collections | |
AssignementTest/RefiningTest | PASS | PASS | FAIL | EMFTVM assumes SET semantics for all properties, not ADD for collections | |
atl2010/CreateManyTraceElements | FAIL | PASS | FAIL | Refining trace mode not supported | |
atl2010/RemoveClass2010 | FAIL | PASS | FAIL | Refining trace mode not supported | |
atl2010/RemoveClassAndCreate2010 | FAIL | PASS | FAIL | Refining trace mode not supported | |
atl2010/RemoveClassAndMoveProperty2010 | FAIL | PASS | FAIL | Refining trace mode not supported | |
atl2010/RemoveClassAndMovePropertyRB2010 | FAIL | PASS | FAIL | Refining trace mode not supported | |
atl2010/RemoveProperty2010 | FAIL | PASS | FAIL | Refining trace mode not supported | |
ATL2Problem | PASS | PASS | PASS | ||
BibTeX2DocBook | PASS | PASS | FAIL | Cannot assign single Book instance to multi-valued field DocBook::books | |
Book2Publication/Book2Publication | PASS | PASS | PASS | ||
Book2Publication/XML2Book | PASS | PASS | PASS | ||
Class2Relational/Class2Relational | PASS | PASS | PASS | ||
Class2Relational/Ecore2Class | PASS | PASS | PASS | ||
DSLBridge/MetamodelBridge/DSL2EMF/DSL2KM3 | PASS | PASS | FAIL | Assigning a Sequence of Sequences to a Collection property | |
DSLBridge/MetamodelBridge/DSL2EMF/XML2DSL | PASS | PASS | FAIL | Assigning a Sequence of Sequences to a Collection property | |
DSLBridge/MetamodelBridge/EMF2DSL/DSL2XML | PASS | PASS | FAIL | Assigning a single value to a Collection property | |
DSLBridge/MetamodelBridge/EMF2DSL/KM32DSL | PASS | PASS | FAIL | Use of "self" in helper without context declaration | |
DSLBridge/ModelBridge/DSLModel2KM2 | PASS | PASS | FAIL | foreach - distinct not supported on EMFTVM | |
DSLBridge/ModelBridge/KM32ATL_KM22MM | PASS | PASS | FAIL | Assigning a single value to a Collection property | |
DSLBridge/ModelBridge/XML2DSLModel | PASS | PASS | FAIL | foreach - distinct not supported | |
Enumerations/Ecore | FAIL | FAIL | FAIL | Releng issue | |
Enumerations/UML | FAIL | FAIL | FAIL | Releng issue | |
Families2Persons | PASS | PASS | PASS | ||
FlattenTest | FAIL | FAIL | FAIL | Releng issue | |
InterModelReferences | FAIL | FAIL | FAIL | Releng issue | |
IteratorsTests | FAIL | FAIL | FAIL | Releng issue | |
MultipleOutputs/MultipleOutputs_V0 | FAIL | FAIL | PASS | Releng issue | |
MultipleOutputs/MultipleOutputs_V1 | FAIL | FAIL | PASS | Releng issue | |
OverflowOperandStack | FAIL | FAIL | PASS | ||
Relational2UML | FAIL | FAIL | FAIL | Releng issue | |
ReverseBindings/NonRefiningMode | FAIL | FAIL | FAIL | Misconfigured test | |
ReverseBindings/NonRefiningMode | FAIL | FAIL | FAIL | Misconfigured test | |
RSM2TPC | FAIL | FAIL | FAIL | Long execution time | |
Sildex2Sam | PASS | PASS | FAIL | Invalid rule inheritance + invalid module name + invalid metaclass reference "SAM!IPort" | |
SpreadSheetML2PerformanceUMLStateChart/SpreadsheetMLSimplified2Trace | FAIL | FAIL | FAIL | Releng issue | |
SpreadSheetML2PerformanceUMLStateChart/Trace2PerformanceMetrics | FAIL | FAIL | FAIL | Releng issue | |
SpreadSheetML2PerformanceUMLStateChart/UMLStateChart2PerformanceAnnotatedUMLStateChart | FAIL | FAIL | FAIL | Releng issue | |
UML2Relational | FAIL | FAIL | FAIL | Releng issue | |
UniqueLazyRule | PASS | PASS | PASS |