[[
✎ pl:miw:miw08_gefardxtt_1
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Opis ====== Maciej Dudek (4AR) <md5@o2.pl> ARD GEF and Eclipse based editor for ARD and XTT. Evaluation, feasibility, prototype. XTTv2 Editor [[miw:xtt requirements|requirements]] * input * Eclipse: [[http://www.eclipse.org/modeling/|EMF]], Eclipse -> EMF -> GMF -> GEF * ARD: [[hekate:bib:hekate_bibliography#gjn2008flairs-ardformal-submitted|Towards Formalization of ARD+ Conceptual Design and Refinement Method]] and [[hekate:bib:hekate_bibliography#gjn2008flairs-ardprolog-submitted|An ARD+ Design and Visualization Toolchain Prototype in Prolog]] and [[hekate:bib:hekate_bibliography#gjn2008flairs-userv-submitted|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 [[miw:ard requirements|requirements]] ====== Spotkania ====== ===== 080304 ===== Wykonano: * Zapoznanie się z częścią pracy magisterską Macieja Kwietnia i Jana Rachwalika dotyczącą GEF. * Zainstalowanie plug-inu GEF na platformie Eclipse * Uruchomienie przykładowego edytora, stworzenie przykładowego grafu w tym edytorze, przeglądnięcie kodu przykładowego edytora. * Zapoznanie się ze specyfikacją ARD+ zawartą w https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-ardformal-submitted * Zapoznanie się z opisem systemu VARDA zawartego w https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-ardprolog-submitted * Pobieżne przestudiowanie przykładu UServ zawartego w https://ai.ia.agh.edu.pl/wiki/hekate:bib:hekate_bibliography#gjn2008flairs-userv-submitted Powstałe wątpliwości: * Finalizacja. * Zbiór wszystkich możliwych operacji wykonywanych przez użytkownika. * Język opisu powstałego grafu: <del>RGML?</del> ATTML [[hekatedev:hekate_markup_language]] * Przestrzeń nazw. * Czy również implementacja drzewa TPH? Na ile bezpieczne w sytuacji cykli, split/merge, manual refactoring. * Liczba korzeni w drzewie, czy istnieje coś takiego jak korzeń? * XSD z opisem ARD+. * Co jak na końcu "liścia" jest Conceptual Attribute? Jaki wpływ na system? * Physical Attribute a XTT. * Attribute a Property. W prologu deklarowane oba. ===== 080318 ===== * [[hekate:varda]] - uruchomiono i przeanalizowano funkcjonalność. * Zapoznano się ze specyfikacją ATTML * Zapoznano się z UServ case study ===== 080415 ===== Planowano: * prototyp Zrealizowano: * Przeanalizowanie [[http://www.eclipse.org/articles/Article-GEF-diagram-editor/shape.html|Diagram Editor]] * Przeanalizowanie [[http://www.eclipse.org/articles/Article-GEF-editor/gef-schema-editor.html|Schema Editor]] * Rozpoznanie struktury framework'u GEF * Zainstalowanie EMF oraz GMF * Wykonanie tutorialu [[http://wiki.eclipse.org/index.php/GMF_Tutorial|mindmodel]] na podstawie [[http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmf/examples/org.eclipse.gmf.examples.mindmap/model/mindmap.xsd?root=Modeling_Project&view=markup&content-type=text%2Fvnd.viewcvs-markup&revision=HEAD|mindmodel.xsd]] ===== 080429 ===== Planowano: * model xsd, translacja do ecore * automatyczny edytor Zrealizowano: <code xml> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="hml"> <xs:complexType> <xs:sequence> <xs:element ref="type_set"/> <xs:element ref="attribute_set"/> <xs:element minOccurs="0" ref="property_set"/> <xs:element minOccurs="0" ref="tph"/> <xs:element minOccurs="0" ref="ard"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="type_set"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="type"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="type"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="desc"/> <xs:element ref="domain"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:ID"/> <xs:attribute name="name" use="required"/> <xs:attribute name="base" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="integer"/> <xs:enumeration value="numeric"/> <xs:enumeration value="string"/> <xs:enumeration value="bool"/> <xs:enumeration value="date"/> <xs:enumeration value="time"/> <xs:enumeration value="timestamp"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="length"/> <xs:attribute name="scale"/> </xs:complexType> </xs:element> <!-- id should begin with 'tpe_...' --> <xs:element name="desc" type="xs:string"/> <xs:element name="domain"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="range"/> <xs:element ref="value"/> </xs:choice> <xs:attribute name="type"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="ordered"/> <xs:enumeration value="unordered"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="range"> <xs:complexType> <xs:attribute name="from" use="required"/> <xs:attribute name="to" use="required"/> </xs:complexType> </xs:element> <xs:element name="value" type="xs:string"/> <xs:element name="attribute_set"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="att"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="group"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="att"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="desc"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:ID"/> <xs:attribute name="type" type="xs:IDREF"/> <xs:attribute name="name" use="required"/> <xs:attribute name="abbrev"/> <xs:attribute name="value" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="single"/> <xs:enumeration value="multiple"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="class" use="required"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="ro"/> <xs:enumeration value="rw"/> <xs:enumeration value="wo"/> <xs:enumeration value="state"/> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> </xs:element> <!-- id should begin with 'att_...' --> <xs:element name="group"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="desc"/> <xs:element maxOccurs="unbounded" ref="attref"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:ID"/> <xs:attribute name="name" use="required"/> <xs:attribute name="abbrev"/> </xs:complexType> </xs:element> <!-- id should begin with 'grp_...' --> <xs:element name="attref"> <xs:complexType> <xs:attribute name="ref" use="required" type="xs:IDREF"/> </xs:complexType> </xs:element> <xs:element name="property_set"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="property"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="property"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="attref"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:ID"/> </xs:complexType> </xs:element> <!-- id should begin with 'prp_...' --> <xs:element name="tph"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="trans"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="trans"> <xs:complexType> <xs:attribute name="src" use="required" type="xs:IDREF"/> <xs:attribute name="dst" use="required" type="xs:IDREF"/> </xs:complexType> </xs:element> <xs:element name="ard"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="dep"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="dep"> <xs:complexType> <xs:attribute name="independent" use="required" type="xs:IDREF"/> <xs:attribute name="dependent" use="required" type="xs:IDREF"/> </xs:complexType> </xs:element> </xs:schema> </code> Dokument [[https://ai.ia.agh.edu.pl/wiki/_media/hekate:hml-test.xml?id=hekate%3Ahekate_markup_language&cache=cache|hml-test.xml]] poprawnie przechodzi [[http://www.xmlforasp.net/SchemaValidator.aspx|walidację]] przy użyciu powyższej definicji. Konwersji dokonano przy użyciu programu [[http://www.thaiopensource.com/relaxng/trang-manual.html|Trang]]. ===== 080527 ===== * ??? ====== Projekt ====== ====== Sprawozdanie ====== ====== Materiały ====== GEF resources ([[http://www-128.ibm.com/developerworks/opensource/library/os-eclipse-gef11/?ca=dgr-lnxw07EclipseGEF|GEF]], [[http://www.eclipse.org/articles/Article-GEF-editor/gef-schema-editor.html]]), {{:pl:miw:mgr-gef.pdf|GEF MS Thesis}} Patrz też na [[hekate:eclipse|osobne hasło]]
pl/miw/miw08_gefardxtt_1.1209462760.txt.gz
· ostatnio zmienione: 2019/06/27 15:58 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry