2012-01-25 13 views
7

Chciałbym wykonywać dwukierunkowe transformacje Model2Model. Oba modele są oparte na EMF/eCore. Właściwie wolałbym, aby jeden model był edytowalnym widokiem z drugiej.Dwukierunkowe transformacje M2M przy użyciu Eclipse EMF

Jakie są moje opcje? Jakie narzędzia i języki transkrypcji są dostępne i jakie są ich ograniczenia?

+0

Mam odpowiedź od Eda Willinka na eclipse.modeling.m2m: Myślę, że masz kłopoty. Potrzebujesz QVTr lub QVTc, dla których obecnie jest tylko obsługa edytora z projektów Eclipse. Nie znam implementacji wykonania QVTc. Wykonanie QVTr jest dostępne w modelMorf lub Medini QVT –

Odpowiedz

2

M2M są najtrudniejsze. Narzędzia siły przemysłu są rzadkie, wiele akademickich rzeczy. Jeśli nie żyjesz, wybierz język ATL, który powinien również obsługiwać ecore. W przeciwnym razie możesz spojrzeć na Xtend, który został stworzony dla modelu na tekst, ale możesz go nadużyć i powinno być bardziej comftable niż zwykła Java. Jeśli twoi w wyglądzie badań opartych na Scala transformacje tutaj

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

2

Istnieje więcej narzędzi transformacji niż można sobie wyobrazić na EMF, jej rodzaju szalone ...

Dla metamodelu do metamodel transformację gdzie modele nie są bardzo podobne:

Jeśli metamodels są bardzo podobne i trzeba tylko dostosować kilka rzeczy, wtedy istnieją narzędzia ukierunkowane tego typu migracji/aktualizacji:

  • ATL ma teraz refining mode
  • Epsilon ma Flock
  • Edapt również wygląda bardzo interesująco, ponieważ zmienia metamodel/model razem. Pozwala pracować nad widokiem drzewa i zawiera zestaw wstępnie zbudowanych zestawów reguł.
  • Henshin który pozwala pracować na widoku diagramu modelu
  • EMF Refactor jest bardziej podejście na poziomie kodu, które mogą również korzystać z reguł Henshin jakoś.

Możesz zawsze bezpośrednio manipulować metamodelem i modelem przy użyciu interfejsów API Java EMF.

Dodam, że jeśli wykonujesz jakąkolwiek prawdziwą pracę nad EMF, musisz pobrać i przeczytać EMF: Eclipse Modeling Framework. Jest dostępny również w wersji Safari. Gorąco polecam Safari, za 39 USD miesięcznie dostajesz prawie każdy ebook rozwojowy, z którego możesz skorzystać.

0

Ponieważ prosiłeś o dwukierunkowe transformacje modelu, muszę powiedzieć, że nie masz żadnych opcji. Aby uczynić go bardziej zrozumiałym, dodając do odpowiedzi otrzymanej od Eda Edinka, żaden z istniejących języków transformacji M2M (AFAIK) nie obsługuje dwukierunkowych transformacji modelu. Prace nad mechanizmem wykonawczym QVTr i QVTc zaczynają wyglądać obiecująco, jeśli nadal jesteś zainteresowany: QVTd Project.

2

Jeśli nalegasz na dwukierunkowe transformacje M2M (tak zwane Bxs), to wiedz, że istnieje aktywna społeczność badaczy aktualizująca to wiki: http://bx-community.wikidot.com. Jeśli go odwiedzisz, znajdziesz listę narzędzi odpowiednich do transformacji Bx http://bx-community.wikidot.com/relatedtools.

Używałem ECHO w przeszłości, który zapewnia implementację QVT-R opartej na rozwiązaniu ograniczeń KodKod.

Zdecydowanie warto spróbować.

Powiązane problemy