= XUBetrieb model2csv-parser =

Copyright (C) 2011 Matthias Lüttgert, ENDA GmbH & Co. KG

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
this program; if not, see <http://www.gnu.org/licenses/>.

DEUTSCH:

Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU
General Public License, wie von der Free Software Foundation veröffentlicht,
weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder
(nach Ihrer Option) jeder späteren Version.

Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von
Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite
Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN
ZWECK. Details finden Sie in der GNU General Public License.

Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem
Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>.

== Kein Zweck ==

Diese Programm stellt eine Ruby-GTK-Anwendung zur Verfügung, die eine MagicDraw
Version 16.5 XML Modelldatei des XUBetrieb-Modells parsen und die enthaltenen
Datenmodelle, Entitäten, Attribute, Attributbeschreibungen und Datentypen
in einer CSV-Datei ablegen kann und
die eine MagicDraw Version 16.5 Export -- MOF XMI File -- MOF Whole Model
Modelldatei des XUBetrieb-Modells parsen und die enthaltenen
Datenmodelle, Entitäten, Attribute, Attributbeschreibungen und Datentypen
in einer CSV-Datei ablegen kann
oder dies ganz oder teilweise nicht oder anders als erwartet kann bzw. tut.

= Hinweise zur Inbetriebnahme =

Die Anwendung wurde unter Verwendung von Ruby 1.9 und Netbeans 6.8 unter Fedora Linux
Version 14 genutzt. Der Betrieb einer analog aufgebauten Anwendung unter Windows
wurde ebenfalls erfolgreich getestet.

== Inbetriebnahme ==

Sie benötigen Ruby Version 1.9.1, GTK2, libglade2, Ruby libxml (gem ruby-libxml)
und die Free ENDA Ruby Standard Library, um diese Anwendung ausführen zu können.

Sollte diese Anwendung wider erwarten nicht ausführt werden können, so können
zumindest die in main.rb:Converter.parse2 verwendeten XPath-Ausdrücke (Variable
target...) für eine Umwandlung des Modells verwendet werden.

== Inhalt der Verzeichnisse ==

=== lib ===

Im Ordner lib sind die Ruby Programmquellen main.rb und gui_callbacks.rb sowie
die GTK2 Oberflächenbeschreibung xubetrieb_parser.glade -- eine XML-Datei mit
der Beschreibung der GTK2 Benutzeroberfläche -- hinterlegt.
Die Konfigurationsdatei converter.conf nimmt nur die Pfade der zu verarbeitenden
XML-Datei sowie der zu erzeugenden CSV-Datei auf, damit diese nicht bei jedem
Durchlauf neu eingestellt werden müssen.

=== data ===

Der Ordner data ist dafür gedacht, die zu parsende XML-Datei mit der
Modellinformation des XUBetrieb sowie die Ausgabedatei aufzunehmen. Diese können
jedoch auch an anderer Stelle abgelegt werden.

=== doku ===

Ordner, der die Dokumentation in Form dieser readme-Datei enthält.

=== setup ===

In diesem Ordner ist das Shell-Skript setup_linux.sh hinterlegt, das für die
Existenz einer ggf. leeren Konfigurationsdatei converter.conf sowie für das
Entpacken der XML-Modelldatei xubetrieb_000.xml (MagicDraw16.5 XUBetrieb Modell
komplett) und der als "MOF XMI File -- MOF Whole Model" exportierten
XML-Modelldatei xubetrieb_001_emof_whole.xml sorgt, damit letztere nicht die
Quellcodeverwaltung mit unnützem Ballast belastet.

Für das Entpacken ist bzip2 zu verwenden. Bzip2 ist auch für Windows frei
verfügbar; Alternativ sollte 7zip funktionieren.

== Ausführungsumgebung ==

Die Anwendung wurde mit Netbeans entwickelt und ausgeführt. Eclipse sollte
für die Ausführung des Quellcodes gleichermaßen geeignet sein.

In jedem Fall sind die Ruby Gems pkg-config und libxml-ruby für das Parsen der
XML-Datei notwendig. Weiterhin werden für die Ausführung der grafischen
Oberfläche die GTK2 Oberflächenbibliotheken aus ruby-gnome2-all-0.90.5.tar.gz
und ruby-gtk2-0.90.5.tar.gz benötigt. Deren Übersetzung und Installation ist den
entsprechenden Anleitungen zu entnehmen.


M. Lüttgert, ENDA GmbH & Co. KG, 2011-07-11
