To jest stara wersja strony!


Opis

Maciej Dudek (4AR) md5@o2.pl

ARD

GEF and Eclipse based editor for ARD and XTT. Evaluation, feasibility, prototype. XTTv2 Editor requirements

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

Wykonano:

Powstałe wątpliwości:

  • Finalizacja.
  • Zbiór wszystkich możliwych operacji wykonywanych przez użytkownika.
  • Język opisu powstałego grafu: RGML? ATTML 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

  • varda - uruchomiono i przeanalizowano funkcjonalność.
  • Zapoznano się ze specyfikacją ATTML
  • Zapoznano się z UServ case study

080415

Planowano:

  • prototyp

Zrealizowano:

080429

Planowano:

  • model xsd, translacja do ecore
  • automatyczny edytor

Zrealizowano:

<?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>

Dokument hml-test.xml poprawnie przechodzi walidację przy użyciu powyższej definicji. Konwersji dokonano przy użyciu programu Trang.

080527

  • ???

Projekt

Sprawozdanie

Materiały

pl/miw/miw08_gefardxtt_1.1209462760.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