2012-01-25 9 views
7

Me gustaría realizar transformaciones bidimensionales de Model2Model. Ambos modelos están basados ​​en EMF/eCore. En realidad, preferiría que un modelo sea una vista editable del otro.Transformaciones bidireccionales de M2M con Eclipse EMF

¿Cuáles son mis opciones? ¿Qué herramientas y lenguajes de transformación están disponibles y cuáles son sus restricciones?

+0

Tengo un anwer de Ed Willink en eclipse.modeling.m2m: Creo que estás en problemas. Necesita QVTr o QVTc para los cuales actualmente solo hay soporte de editor de los proyectos de Eclipse. No conozco ninguna implementación de ejecución de QVTc. La ejecución QVTr está disponible con ModelMorf o Medini QVT –

Respuesta

2

M2M son los más difíciles. Las herramientas de fuerza de la industria son raras, muchas cosas académicas. Si está completamente configurado en un lenguaje M2M, busque en ATL, que también debería ser compatible con ecore. De lo contrario, puede ver Xtend, que se hizo para el modelo a texto, pero puede abusar de él y debería ser más fácil de usar que el Java simple. Si sus transformaciones en el aspecto de investigación en Scala basado aquí

http://metrikforge.informatik.hu-berlin.de/attachments/download/193/george_wider_scheidgen_ICMT_2012.pdf

2

Hay más herramientas de transformación de lo que puede imaginar para los CEM, su tipo de loco ...

Para metamodelo a metamodelo transformación en los modelos no son muy similares:

Si los metamodelos son muy similares y sólo tendrá que ajustar algunas cosas, entonces hay herramientas específicas que tipo de migración/actualización:

  • ATL ahora tiene un refining mode
  • Epsilon tiene Flock
  • Edapt parece muy interesante también porque hace los cambios de metamodelo/modelo juntos. Le permite trabajar en una vista en árbol y viene con un conjunto de reglas precompiladas.
  • Henshin cual le permite operar en una vista de diagrama del modelo
  • EMF Refactor es un enfoque más a nivel de código, que también se pueden utilizar las reglas de Henshin alguna manera.

Siempre puede manipular directamente el metamodelo y modelo utilizando las API de EMF Java también.

Voy a agregar que, si está haciendo un verdadero trabajo EMF, necesitará obtener y leer EMF: Eclipse Modeling Framework. Está disponible en Safari también. Recomiendo encarecidamente Safari, por $ 39 al mes obtienes casi todos los libros electrónicos de desarrollo que puedas usar.

0

Dado que usted solicitó específicamente transformaciones de modelo bidireccionales, debo decir que no tiene opciones. Para hacerlo más llamativo, añadiendo a la respuesta que obtuvo de Ed Willink, ninguno de los lenguajes de transformación M2M existentes (AFAIK) admite transformaciones de modelo bidireccionales. Trabajar en un motor de ejecución QVTr y QVTc comienza a verse prometedor si todavía está interesado en esto: QVTd Project.

2

Si insiste en realizar transformaciones M2M bidireccionales (llamadas Bx), entonces sepa que hay una comunidad de investigadores activos actualizando esa wiki: http://bx-community.wikidot.com. Si lo visita, encontrará que enumeran una gran cantidad de herramientas adecuadas para las transformaciones Bx http://bx-community.wikidot.com/relatedtools.

Utilicé ECHO en el pasado, que proporciona una implementación de QVT-R basada en el solucionador de restricciones de KodKod.

Definitivamente vale la pena intentarlo.

Cuestiones relacionadas