Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_hekateatl [2008/09/30 18:02]
miw
pl:miw:miw08_hekateatl [2019/06/27 15:50] (aktualna)
Linia 44: Linia 44:
 ====== Projekt ====== ====== Projekt ======
  
-==== Transformacja ​ATL ====+ 
 + 
 + 
 + 
 +==== ATL ==== 
 +ATL (ATLAS Transformation Language) to język transformacji modeli wraz zestawem narzędzi opracowanych przez ATLAS Group (INRIA & LINA). ATL pozwala wyprodukować z zestawu modeli źródłowych,​ zestaw modeli docelowych.  
 + 
 +ATL jest hybrydą programowania deklaratywnego i imperatywnego. Preferowany styl programowania to styl deklaratywny który pozwala w łatwy sposób opisać powiazania pomiędzy modelem źródłowym a docelowym. Jednkże ATL przewiduje również konstrukcje imperatywne w celu opisania wyrażeń trudnych do opracowania w sposób deklaratywny. Program ATL składa się z zestawu reguł które definiują dopasowanie elementów modelu źrodłowego do modelu docelowego 
 + 
 +Opracowane dla platformy Eclipse zintegorowane środowisko programistyczne (ATL IDE) oferuje szereg standardowych narzędzi programistycznych (podświetlanie składni, debuger itd.), które ułatwiają prace z ATL. Projkt ATL oferuje również bibliotege transformacji ATL gdzie można znaleźć ponad 100 opracowanych rozwiązań http://​www.eclipse.org/​m2m/​atl/​atlTransformations/​ 
 + 
 + 
 + 
 +==== The Model-Driven Architecture ==== 
 +MDA to metoda projektowania systemów oprogramowania. Stanowi ona zbiór wytycznych dotyczących struktury specyfikacji,​ które są wyrażone jako modele. 
 +Modele stanowią podstawowe elemetny MDA. W dziedzinie MDA model definiowany jest poprzez model modeli, tak zwany metamodel. Mówimy ze model zgodny z semantyka metamodelu odpowiada temu metamodelowi 
 + 
 + 
 +{{:​pl:​miw:​mda.jpg|:​pl:​miw:​mda.jpg}} 
 + 
 + 
 +==== Trasformacja ​ATL ====
  
 {{:​pl:​miw:​atl.jpg|:​pl:​miw:​atl.jpg}} {{:​pl:​miw:​atl.jpg|:​pl:​miw:​atl.jpg}}
  
  
-Powyższy rysunek opisuje schemat transformacji ATL. Model Ma (plik wejściowy Ecore czyli XMI) odpowiadający metamodelowi MMa (plik Ecore) jest transformowany do modelu Mb (plik wyjściowy Ecore) ​odpowiadającemu ​metamodelowi MMb (Ecore). Transformacja definiowana jest przez model Mt (plik ATL) który odpowiada metamodelowi MMt (metamodel ATL). Metamodele MMt, MMa oraz MMb muszą odpowiadać metamdelowi MMM (MOF albo Ecore)+Powyższy rysunek opisuje schemat transformacji ATL. Model Ma (plik wejściowy Ecore czyli XMI) odpowiadający metamodelowi MMa (plik Ecore) jest transformowany do modelu Mb (plik wyjściowy Ecore), który odpowiada ​metamodelowi MMb (Ecore). Transformacja definiowana jest przez model Mt (plik ATL) który odpowiada metamodelowi MMt (metamodel ATL). Metamodele MMt, MMa oraz MMb muszą odpowiadać metamdelowi MMM (MOF albo Ecore) 
 + 
 + 
 + 
 + 
  
 +==== Przykłady użycia ====
  
 +**DSLs coordination for Telephony** - praca przedstawia studium impelmentacji dwóch języków związanych z dziedziną telefonii: SPL(Session Processing Language) i CPL (Call Processing Language). Częścoiowo opierają się ona na tych samych słownikach. Jednakże same języki są bardzo różne i zostały zaprojektowane,​ aby być wykorzystywane przez różnych ludzi. Praca pokazuje w jak wykorzystać ATL w celu transformacji programu z jednego języka do drugiego (http://​www.eclipse.org/​m2m/​atl/​usecases/​DSLsTelephony/​)
  
 ==== Transformacja ARD w ARD ==== ==== Transformacja ARD w ARD ====
  
-Aby dokonać transformacji należy stworzyć metamodel ARD, odpowaidający mu model będący plikiem wejściowym do transformacji,​ oraz plik ATL opisujący ​transformacje+Aby dokonać transformacji należy stworzyć metamodel ARD, odpowaidający mu model będący plikiem wejściowym do transformacji,​ oraz plik ATL opisujący ​transformację
  
   * Metamodel ARD (w oparciu o [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​hekate_markup_language|HML]]) - schemat   * Metamodel ARD (w oparciu o [[https://​ai.ia.agh.edu.pl/​wiki/​hekate:​hekate_markup_language|HML]]) - schemat
Linia 162: Linia 190:
 </​code>​ </​code>​
  
-  * Plik XMI do transformacji (Termostat)+  * Plik wejściowy ​XMI do transformacji (Termostat) ​odpowiadający metamodelowi ARD
 <​code>​ <​code>​
 <?xml version="​1.0"​ encoding="​ISO-8859-1"?>​ <?xml version="​1.0"​ encoding="​ISO-8859-1"?>​
Linia 273: Linia 301:
 </​code>​ </​code>​
  
-  * Model ATL+  * Model ATL - nie wprowadza żadnych zmian w pliku wyjściowym
 <​code>​ <​code>​
 module ARD2ARD; -- Module Template module ARD2ARD; -- Module Template
pl/miw/miw08_hekateatl.1222790567.txt.gz · ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0