Deutsche Version

General description

GC-XML-Schema-Editor is a prototype of a Java application which can be used to depict a component-composition. The user of the program can compose vertices and edges of a graph and shows dependences between them.

The type of use is very manifoldly. For instance it could be used for the manufacturing industry, software configrations or system-management.

The specification of components is described in the Extensible Markup Language (XML). The composition of components generates a XML-File and an appendant XML-Schema-File. The XML-Schema-File shows the dependences between the components.

Graphical User Interface (GUI)

Components are shown as vertices of a graph. A user of the software-system can select predefined components from a list of components or can use an integrated editor to define his own components.

Edges are used to show the relations between the vertices. The vertices can have directed edges or undirected edges. Each edge can be seen as a data-type. The data-type defines the appearance of the edge and constraints for the composition of the vertices. There are some predefined edges for the user of the software. Their types are:

In addition the user can define his own edges with his own constraints.

Data model

Vertices (components)

The vertices are defined as well-formed XML-documents:

Example:

<?xml version="1.0"?>
<edge xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<
name>
component A </name>
<
attribute name="attribute A">
x </attribute>
<
attribute name="attribute B">
y </attribute>
<
attribute name="attribute C">
z </attribute>
<
edge>
<
name>
component B </name>
<
attribute name="attribute B">
y </attribute>
<
attribute name="attribute C">
z </attribute>
</edge>
</edge>

Edges

The edges can be defined as well-formed XML-Documents. Edges can have the following attributes:

The start-point and end-point is nonrelevant, if the edge is undirected.

Example:

<?xml version="1.0"?>
<vertex xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<digraf> true </digraf>
<
weight> 10 </weight>
<edgeStart>
<
name>
component A </name>
<attribute name="attribute A">
x </attribute>
<
attribute name="attribute B">
y </attribute>
<
attribute name="attribute C">
z </attribute>
</
edgeStart>
<edgeTarget>
<name>
component B </name>
<attribute name="attribute A">
x </attribute>
<
attribute name="attribute C">
y </attribute>
</edgeTarget>
</
vertex>

Model

A model is composed of vertices and edges. The vertices can also exist without edges.

Example:

<?xml version="1.0"?>
<model xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schema.xsd">
<!-- Vertice from component A to component B, directed, weighted -->
<vertex>
<digraf> true </digraf>
<weight>10</weight>
<
edgeStart>
<
name>
component A </name>
<attribute name="attribute A">
x </attribute>
<
attribute name="attribute B">
y </attribute>
<attribute name="attribute C">
z </attribute>
</
edgeStart>
<edgeTarget>
<name>
component B </name>
<
attribute name="attribute A">
x </attribute>
<attribute name="attribute C">
y </attribute>
</
edgeTarget>
</vertex>
<!-- Verice from component A to component C, undirected, unweighted -->

<
vertex>
<digraf> false </digraf>
<
edgeStart>
<name>
component A </name>
<attribute name="attribute A">
x </attribute>
<
attribute name="attribute B">
y </attribute>
<
attribute name="attribute C">
z </attribute>
</
edgeStart>
<edgeTarget>
<
name>
component C </name>
<attribute name="attribute D">
x </attribute>
<attribute name="attribute A">
y </attribute>
</
edgeTarget>
</vertex>
<!--
a singe vertice -->
<edge>
<name>
component C </name>
<attribute name="attribute B">
y </attribute>
<attribute name="attribute C">
z </attribute>
</edge>
</
model>

Component-composition

The attributes of the start-vertice can have one of the following constraints:

The attributes of the end-vertices can have the same constraints, but their roles are interchanged.
The constraints can also be used for vertices. This has no effect on the constraints of their attributes.

The following constraints are valid for the start-vertices:

Contact

Christian Osterrieder
University of Salzburg
Institute for Computer Science
5020 Salzburg, Austria
coster@cosy.sbg.ac.at

Univ.-Doz. Dr. Siegfried Reich
Salzburg Research Forschungsgesellschaft m.b.H.
T +43.662.2288.211
F +43.662.2288.222
sreich@salzburgresearch.at