
The class hierarchy (with implied inheritance) Rather I'm using a UML drawing tool and a limited subset of the UML conventions for drawing object models: It's important to emphasise that I'm not really using UML in this exercise. The one I found and have used for the work reported here is Violet.
#About violet uml editor definition free#
UML is one obvious candidate - it's designed for graphical use, and there are free tools available for sketching simple UML diagrams easily. Not a general-purpose drawing program, but rather one intended for drawing object models. Nothing beats coloured pens and a whiteboard for designing object models, which is what this is really all about, but the step from there to XML is a bit under-supported at this point, so the next best thing is a drawing program. The task naturally breaks down into two parts: defining the middle level (that is, the abstract data model), and mapping individual instances from XML to their middle-level form. A particular set of technologies is proposed for accomplishing this when the language concerned uses XML for its notation. The thesis set out in this paper is that specifications can and should include fully explicit, operational, definitions of both the intermediate level and the mapping.

This paper is concerned with the first part, primarily from the perspective of the producers and consumers of specifications. So both specifications and implementations often come in two parts: the mapping from notation to intermediate level, and the import (in principle or in practice) of the constituency of that level. Concrete implementations of such languages often more-or-less directly reify this intermediate level in the data structures of the implementation substrate. An intermediate level, more or less explicit, is appealed to, sometimes called 'abstract syntax' or 'underlying form' or 'abstract data model'. Two-part, three-level definitions/implementations of (XML) languagesĪll but the simplest of formally defined languages are commonly understood, and usually defined, without going directly from notation to meaning. Some things were learned about that language while carrying out the exercise reported here, which are also briefly discussed.Ĭonnections are also made to earlier work on expressing data-binding information via schema annotations, which suggest the possibility of auto-generating the stylesheets required for part (3) above in some cases. Throughout the paper the points under discussion are illustrated with examples taken from the XML Processing Model language, currently under development by the W3C XML Processing Model Working Group.

This would enable semi-automatic conformance testing, if the language specification actually included the three parts listed above. The result, if consistent, can then also be compared to (RDF expressions of) concrete data model instances from an implementation. The result of implementing this approach is that an OWL ontology for a language data model and an RDF instance corresponding to an individual language document can be combined and checked for consistency. pipelines) to implement GRDDL-triggered mapping from language documents to data model instances expressed in RDF.

The approach has three parts:Ī set of conventions for constructing UML models, using the Violet open source graphical UML diagram editor Ī pipeline of XSLT stylesheets to convert the XML representation of those diagrams to OWL ontologies Ī set of guidelines for writing XSLT stylesheets or other transformations (e.g. This paper describes a novel approach to stating what it calls the proximate semantics of an XML language, that is, the mapping from XML information sets to language-specific (abstract) data models. Another is W3C XML Schema, which explicitly separates the mapping from schema documents to schemas on the one hand from the schema-validation semantics of the schema components which make up schemas on the other.

One obvious example is (X)HTML+CSS, where the first step is from document to nested boxes with properties, and the second is a set of claims that boxes+properties make on renderings. Many XML languages are defined in two steps, the first in terms of a mapping from XML documents to an abstract data model, the second by defining the meaning of the constituents of the abstract data model with respect to some domain.
