Różnice

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

Odnośnik do tego porównania

pl:miw:miw08_gefardxtt_2 [2008/09/17 23:50]
miw
pl:miw:miw08_gefardxtt_2 [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Opis ====== 
-Szybura Bartek <​b.szybura@interia.pl>​ 
- 
-GEFARDXTT\\ \\ 
- GEF and Eclipse based editor for ARD and XTT. Evaluation, feasibility,​ prototype. XTTv2 Editor requirements \\ 
- 
-input:\\ \\ 
-Eclipse: EMF, GEF resources (GEF, http://​www.eclipse.org/​articles/​Article-GEF-editor/​gef-schema-editor.html),​ \\ 
-ARD: Towards Formalization of ARD+ Conceptual Design and Refinement Method and An ARD+ Design and Visualization Toolchain Prototype in Prolog and UServ Case Study, Conceptual Design with ARD+ Method.\\ \\ 
-output:\\ \\ 
-Feasibility study, a description how to create such editors with GEF, a prototype editor MS Thesis regarding GEF: Interfejs graficzny do budowy aplikacji komponentowych zapewniający weryfikację semantyczną,​ ARD+ Editor requirements \\ 
- 
-====== Spotkania ====== 
- 
- 
-===== 080304 ===== 
- 
- 
-===== 080311 ===== 
- 
-  * Praca magisterska “Interfejs graficzny do budowy aplikacji kompnentowych zapewniający weryfikację semantyczną”. Autorzy: Maciej Kwiecień, Jan Rachwalik-przeglądnięcie. 
-  * Instalcja wszystkich potrzebnych pluginów do GEF-a. 
-  * Przeczytanie bibliografii znajdującej się na stronie ai.ia.agh.edu.pl na temat modelu XTT. 
- 
-===== 080401 ===== 
-  * model, można użyć XTTML2.0 -> to co w hqed 
-  * [[hekate:​hqed|edytor XTT]]  [[hekate:​varda]] 
-  * uproszczony model XTT 
-  ​ 
-  * wykonanie tutoriali dotyczących GEF-u, DRAW2D, GMF, 
- 
- 
- 
- 
-===== 080422 ===== 
-  * XSD 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-===== 080429 ===== 
-  * EMF->​GMF->​GEF 
-  * [[hekate:​hekate_markup_language]] 
- 
-  * Stwotrzenie prostego edytora biblioteki (książki, pisarz) 
-    * stworzenie modelu za pomocą "​rose"​ 
-    * stworzenie modelu za pomocą "​annotated java" 
-    * stworzenie modelu za pomocą xml schema (xsd) 
- 
-  * Próba stowrzenie modelu XTT (predykat) w zapisie XSD (XMLSchema):​ 
- 
-<code xml> 
-<?xml version="​1.0"?>​ 
-<​xs:​schema xmlns:​xs="​http://​www.w3.org/​2001/​XMLSchema"​ 
-targetNamespace="​http://​www.w3schools.com"​ 
-xmlns="​http://​www.w3schools.com"​ 
-elementFormDefualt="​qualified">​ 
- 
-<​xsd:​element name="​(?​)">​ 
- <​xsd:​complexType>​ 
- <​xsd:​sequence>​ 
- <​xsd:​extension base="​xs:​string">​ 
- <​xsd:​attribute name="​title_?"​ type="​xsd:​string">​ 
- </​xsd:​extension>​  
- <​xsd:​extension base="​xs:​string">​ 
- <​xsd:​attribute name="​title_="​ type="​xsd:​string">​ 
- </​xsd:​extension>​ 
- <​xsd:​extension base="​xs:​string">​ 
- <​xsd:​attribute name="​title_operation"​ type="​xsd:​string">​ 
- </​xsd:​extension>​ 
- <​xsd:​element name="​inside"​ minOccurs="​1"​ maxOccurs="​unbound">​ 
- <​xsd:​sequence>​ 
- <​xsd:​element name="​in"​ type="​xsd:​string">​  
- <​xsd:​element name="​="​ type="​xsd:​string">​  
- <​xsd:​element name="​opearation"​ type="​xsd:​string">​  
- </​xsd:​sequence>​ 
- </​xsd:​element>​ 
- </​xsd:​sequence>​ 
- <​xsd:​complexTyp>​ 
-</​xsd:​element>​ 
-</​code>​ 
- 
-  * Dalsze prace nad wykonaniem edytora XTT w EMF (Eclipse). 
- 
-===== 080527 ===== 
-  * połaczenia 
-  * prototyp edytora zg. z w.w. xsd 
- 
-====== Projekt ====== 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-====== Sprawozdanie ====== 
- 
-Celem projektu było zapoznanie się z dostępnymi Frameworkami pozwalającymi na budowę edytora XTT. Na początku przeanalizowałem framewrok GEF (Graphical Editing Framework). Niestety w przypadku GEF zbudowanie odpowiedniego edytora było bardzo pracochłonne. Praca w GEF-ie zaczynała się o stworzenia odpowiednich tablic, połączeń,​ etykiet tablic lub połączeń. Korzystając tylko z GEF-a wszystkie właściwości takie jak miejsce narysowania strzałki, tablicy trzeba ręcznie ustawiać.\\ ​   
-Dlatego też poszukałem inne rozwiązania,​ które są wykorzystywane w budowie edytorów. Znalazłem następny framework EMF (Eclipse Modeling Framework). Dzięki temu rozwiązaniu udało mi się stworzyć opis XTT w XML Schema.\\ 
- 
- 
-{{:​pl:​miw:​xtt-xsd.xml|Poniżej przedstawiam opis XTT w .xsd:}}\\ 
- 
-<code xml> 
-<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
-<​xsd:​schema targetNamespace="​http://​student.agh.edu.pl/​~szybura/​xtt"​ 
-    xmlns:​ecore="​http://​www.eclipse.org/​emf/​2002/​Ecore"​ 
-    xmlns:​xtt="​http://​student.agh.edu.pl/​~szybura/​xtt"​ 
-    xmlns:​xsd="​http://​www.w3.org/​2001/​XMLSchema">​ 
-  
- <​xsd:​complexType name="​Graph">​ 
- <​xsd:​sequence>​ 
- <​xsd:​element name="​TitleGraph"​ type="​xsd:​string"​ /> 
- <​xsd:​element name="​DescribeGraph"​ type="​xsd:​string"​ /> 
- <​xsd:​element maxOccurs="​unbounded"​ minOccurs="​1"​ 
- name="​TableGarph"​ type="​xtt:​Tabel"​ /> 
- </​xsd:​sequence>​ 
- </​xsd:​complexType>​ 
- <​xsd:​complexType name="​Tabel">​ 
- <​xsd:​sequence>​ 
- <​xsd:​element name="​TitleTabel"​ type="​xsd:​string"​ /> 
- <​xsd:​element name="​DescribeTabel"​ type="​xsd:​string"​ /> 
- <​xsd:​element maxOccurs="​unbounded"​ minOccurs="​1"​ 
- name="​DataTabel"​ type="​xtt:​Row"​ /> 
- </​xsd:​sequence>​ 
- </​xsd:​complexType>​ 
- <​xsd:​complexType name="​InsideRow">​ 
- <​xsd:​sequence>​ 
- <​xsd:​element name="​DescribeInsideRow"​ type="​xsd:​string"​ /> 
- <​xsd:​element name="​DataInsideRow"​ type="​xsd:​string"​ /> 
- </​xsd:​sequence>​ 
- </​xsd:​complexType>​ 
- <​xsd:​complexType name="​Row">​ 
- <​xsd:​sequence>​ 
- <​xsd:​element name="​TitleRow"​ type="​xsd:​string"​ /> 
- <​xsd:​element name="​IdRow"​ type="​xsd:​int"​ /> 
- <​xsd:​element maxOccurs="​unbounded"​ minOccurs="​1"​ 
- name="​DataRow"​ type="​xtt:​InsideRow"​ /> 
- <​xsd:​element maxOccurs="​1"​ minOccurs="​0"​ name="​ConectorRow"​ 
-          type="​xsd:​anyURI"​ ecore:​reference="​xtt:​Row"​ ecore:​opposite="​IdRow"/>​ 
- </​xsd:​sequence>​ 
- </​xsd:​complexType>​  
-</​xsd:​schema>​ 
- 
-</​code>​ 
- 
-Dzięki danemu plikowi mogłem wygenerować pliki {{:​pl:​miw:​xtt-ecore.xml|xtt.ecore}} oraz {{:​pl:​miw:​xtt-genmodel.xml|xtt.genmodel}},​ które potrzebne mi były do stworzenia edytora XTT.\\ 
-{{:​pl:​miw:​eclipse1.jpg|:​pl:​miw:​eclipse1.jpg}}\\ 
-Rysunek 1.\\ 
- 
- 
-{{:​pl:​miw:​miw08_gefardxtt_2_eclipse2.jpg|:​pl:​miw:​miw08_gefardxtt_2_eclipse2.jpg}}\\ 
-Rysunek 2.\\ 
- 
-Dzięki stworzonemu edytorowi XTT mogę wygenerować opis grafów XTT, np. (opis skrócony): 
- 
-<code xml> 
-<?xml version="​1.0"​ encoding="​UTF-8"?>​ 
-<​xtt:​Graph xmlns:​xtt="​http://​student.agh.edu.pl/​~szybura/​xtt">​ 
-  <​TitleGraph>​Termostat</​TitleGraph>​ 
-  <​DescribeGraph>​Example. Termostat</​DescribeGraph>​ 
-  <​TableGarph>​ 
-    <​TitleTabel>​ms</​TitleTabel>​ 
-    <​DescribeTabel>​Table id: 1 - ms</​DescribeTabel>​ 
-    <​DataTabel>​ 
-      <​TitleRow>​Describe row</​TitleRow>​ 
-      <​DataRow>​ 
-        <​DescribeInsideRow>​(?​) month</​DescribeInsideRow>​ 
-        <​DataInsideRow>​(?​) month</​DataInsideRow>​ 
-      </​DataRow>​ 
-      <​DataRow>​ 
-        <​DescribeInsideRow>​(?​) season</​DescribeInsideRow>​ 
-        <​DataInsideRow>​(?​) season</​DataInsideRow>​ 
-      </​DataRow>​ 
-    </​DataTabel>​ 
-  </​TableGarph>​ 
-</​xtt:​Graph>​ 
-</​code>​ 
- 
-W każdym pliku mogę wygenerować odpowiednie tabele, w których mogę stworzyć wiersze, które są akurat potrzebne do przedstawienia danego modelu. Odpowiednie wiersze mogę ze sobą łączyć:​\\ 
- 
-<code xml> 
-<​ConectorRow>#//​@tableGarph.0/​@dataTabel.0</​ConectorRow>​ 
-</​code>​ 
- 
- 
- 
- 
-====== Tutorial - Jak uruchomić edytor? ====== 
- 
-W tutorialu wykorzystuję oprogramowanie:​ 
- 
-[[ftp://​ftp.man.szczecin.pl/​pub/​eclipse/​technology/​epp/​downloads/​release/​ganymede/​R/​eclipse-jee-ganymede-win32.zip|Eclipse Platform Version: 3.4.0]] ​ 
- 
-  * Uruchom eclipse.exe. 
-  * Następnie naciśnij File -> New -> Other. 
-  * Pojawi się okno, pokazane na Rysunku 3. Wybierz Eclipse Modeling Framework -> EMF Project. 
- 
-{{:​pl:​miw:​eclipse3.jpg|:​pl:​miw:​eclipse3.jpg}}\\ 
-Rysunek 3.\\ 
-  * Następnie wpisz naciśnij NEXT oraz wpisz w kolejnym oknie nazwę projektu i naciśnij NEXT (Rysunek 4). 
- 
-{{:​pl:​miw:​eclipse4.jpg|:​pl:​miw:​eclipse4.jpg}}\\ 
-Rysunek 4.\\ 
-  * Wybierz następnie Ecore model (modele importowane). 
- 
-{{:​pl:​miw:​eclipse5.jpg|:​pl:​miw:​eclipse5.jpg}}\\ 
-Rysunek 5.\\ 
-  * W kolejnym kroku trzeba wczytać istniejący model stworzony z pliku xsd. Należy pobrać plik {{:​pl:​miw:​xtt.xml|xtt.xml}} następnie zmienić rozszerzenie na xtt.ecore. 
-  * Wybieramy model xtt.ecore, automatycznie plik jest ładowany (Rysunek 6). Wciskamy FINISH. 
- 
-{{:​pl:​miw:​eclipse6.jpg|:​pl:​miw:​eclipse6.jpg}}\\ 
-Rysunek 6.\\ 
-  * Następnie gdy pojawi nam się okno z edytorem xtt.genmodel. Naciskamy prawym przyciskiem myszy i na xtt i wybieram GENERATE ALL (Rysunek 7). 
- 
-{{:​pl:​miw:​eclipse7.jpg|:​pl:​miw:​eclipse7.jpg}}\\ 
-Rysunek 7.\\ 
-  * Generują się odpowiednie pliki, które potrzebne są do stworzenia edytora XTT (Rysunek 8). 
- 
-{{:​pl:​miw:​eclipse8.jpg|:​pl:​miw:​eclipse8.jpg}}\\ 
-Rysunek 8.\\ 
-  * Gdy plik są wygenerowane,​ uruchamiamy myEditorXTT jako Eclipse Application (Rysunek 9). 
- 
-{{:​pl:​miw:​eclipse9.jpg|:​pl:​miw:​eclipse9.jpg}}\\ 
-Rysunek 9.\\ 
-  * Gdy zrobimy wszystkie kroki podane wyżej powinno się wyświetlić drugie okno Eclipse. W którym musi utworzyć nowy projekt (File -> New -> General -> Project), musimy wpisać nazwę projektu i nacisnąć FINISH. 
-  * W kolejnym kroku musimy stworzyć nowy model xtt (File -> New -> Other -> Example EMF Model Creatione Wizards -> Xtt Model, Rysunek 10). 
- 
-{{:​pl:​miw:​eclipse10.jpg|:​pl:​miw:​eclipse10.jpg}}\\ 
-Rysunek 10.\\ 
-  * Następnie należy wpisać nazwę pliku np. My.xtt. Wcisnąć NEXT. W polu Model Object wybieramy Graph (Rysunek 11). I wciskamy FINISH. 
- 
-{{:​pl:​miw:​eclipse11.jpg|:​pl:​miw:​eclipse11.jpg}}\\ 
-Rysunek 11.\\ 
-  * Gdy wszystko zostanie wykonane zgodnie z instrukcją możemy zacząć tworzyć nasz model xtt. Dodając poszczególne tabele, a w środku tabel wiersz, w wierszach zaś dodajemy poszczególne komórki (przyładowy wygląd tabel xtt). Oczywiście każdy graf, tabela, wiersz oraz wnętrze wiersza ma swoje właściwości,​ które możemy zmieniać w oknie Properties. 
- 
-{{:​pl:​miw:​eclipse12.jpg|:​pl:​miw:​eclipse12.jpg}}\\ 
-Rysunek 12.\\ 
- 
-  * Każdy wiersz można połączyć z innym istniejącym wierszem. Ustawia się to w oknie Properties -> Connector Row. 
-  
-  
- 
- 
- 
- 
- 
-====== Materiały ====== 
-FIXME 
-  * http://​www.ibm.com/​developerworks/​ 
-  * http://​www.ibm.com/​developerworks/​opensource/​library/​os-gef/​ 
-  * http://​www.ibm.com/​developerworks/​opensource/​library/​os-eclipse-gef11/​ 
-  * http://​www.apohllo.pl/​texts/​eclipse.pdf 
-  * http://​www.eclipse.org/​gef/​overview.html 
-  * http://​www.eclipse.org/​articles/​Article-GEF-Draw2d/​GEF-Draw2d.html 
-  * Praca magisterska "​Interfejs graficzny do budowy aplikacji kompnentowych zapewniający weryfikację semantyczną"​. Autorzy: Maciej Kwiecień, Jan Rachwalik 
-  * http://​www.eclipse.org/​articles/​Article-Introducing-GMF/​article.html 
-  * http://​www.eclipse.org/​articles/​Article-Using%20EMF/​using-emf.html 
-  * http://​dev.eclipse.org/​viewcvs/​index.cgi/​org.eclipse.emf/​org.eclipse.emf/​doc/​org.eclipse.emf.doc/​references/​overview/​EMF.html?​root=Modeling_Project&​view=co 
-  * http://​www.w3schools.com/​Schema/​default.asp 
- 
  
pl/miw/miw08_gefardxtt_2.txt · ostatnio zmienione: 2019/06/27 15:50 (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