Universität Leipzig

3y ago
48 Views
2 Downloads
2.45 MB
121 Pages
Last View : 18d ago
Last Download : 3m ago
Upload by : Eli Jorgenson
Transcription

Universität LeipzigFakultät für Mathematik und InformatikInstitut für InformatikT O P I C - M A P S - M I D D L E WA R EMODELLGETRIEBENE ENTWICKLUNGKOMBINIERBARER beitLeipzig, 5. Mai 2008vorgelegt von:Benjamin Bockgeboren am 27.09.1982Studiengang Informatik

betreuer:Prof. Dr. Gerhard HeyerDr. Lutz Maicher

ABSTRACTSince its inception, the Topic Maps Data Model (TMDM) is the foundation for thedevelopment of Topic Maps engines. A Topic Maps engine is a program library thatenables to develop Topic Maps based applications using an application programminginterface (API). In this thesis, the outdated Topic Maps API TMAPI 1.0 is adaptedto the TMDM. It is restructured and extended with the goal of improved usability.This work formalizes the TMDM using a domain specific language. Based on thisformalization, components of Topic Maps engines are generated using generators.The DSL, its implementation and the generators are introduced here.Developed as part of this work, Ruby Topic Maps (RTM) is a Topic Maps enginefor the Ruby programming language that implements the the improved Topic MapsAPI. Additionally, within the API of RTM, a concept for referencing Topics andspecialized access and query methods are designed and implemented. It is shownthat, thanks to these extensions, less and easier to understand source code is neededto develop the same functionality compared to TMAPI 1.0.The freedom of the TMDM results in complexity that counteracts the productivityof development of domain applications. Developed as part of this work, the libraryActive Topic Maps enables the definition of domain classes using the Active Topic MapsModelling Language (ActiveTMML). With ActiveTMML, combinable domain classesare specified that constitute a layer between the application above and the TopicMaps engine below. For this layer, the name Topic Maps middleware is introduced.K U R Z Z U S A M M E N FA S S U N GDas Topic-Maps-Datenmodell (TMDM) ist (seit seines Bestehens) Grundlage fürEntwicklung von Topic-Maps-Engines. Eine Topic-Maps-Engine ist eine Programmbibliothek, die über eine Programmierschnittstelle (API) die Erstellung von TopicMaps-basierten Anwendungen unterstützt. In dieser Arbeit wird die veraltete Programmierschnittstelle TMAPI 1.0 an das TMDM angepasst, sowie mit dem Zielder verbesserten Benutzbarkeit umstrukturiert und erweitert. Anschließend wirddas TMDM mit Hilfe einer domänenspezifischen Sprache (DSL) formalisiert; aufBasis dieser Formalisierung werden mit Hilfe von Generatoren Komponenten vonTopic-Maps-Engines generiert. Die DSL, ihre Implementierung und die Generatorenwerden hier dokumentiert.Ruby Topic Maps (RTM) ist eine im Rahmen dieser Arbeit entwickelte Topic-MapsEngine für die Programmiersprache Ruby und setzt die zuvor erarbeitete erweiterteProgrammierschnittstelle um. Weitere Beiträge sind ein Referenzierungskonzeptesfür Topics, was innerhalb der Programmierschnittstelle von RTM implementiertwurde, sowie auf die Ruby-Syntax aufbauende Zugriffs- und Abfragemethoden. Eswird gezeigt, dass Dank dieser Erweiterungen, weniger und einfacher verständlicherProgrammcode als in TMAPI 1.0 benötigt wird, um äquivalente Funktionalität zuerreichen.iii

Die Freiheiten des TMDM resultieren in Komplexität, die der Produktivität beider Entwicklung von Domänenanwendungen entgegen wirken. Die in dieser Arbeitentwickelte Bibliothek Active Topic Maps ermöglicht mit Hilfe der hier ebenfallsvorgestellten Active Topic Maps Modelling Language (ActiveTMML) die Definitionvon kombinierbaren Domänenklassen, welche eine Abstraktionsschicht zwischender Anwendung darüber und der Topic-Maps-Engine darunter bilden. Für dieseAbstraktionsschicht wird der Name Topic-Maps-Middleware eingeführt.VERÖFFENTLICHUNGENEinige Ideen, Quellcodebeispiele und Abbildungen erschienen bereits in den folgenden Veröffentlichungen:Bock, Benjamin: Ruby Topic Maps. In: TMRA: Scaling Topic Maps, Third InternationalConference on Topic Maps Research and Applications, Leipzig, Deutschland (2007)Bock, Benjamin: Application Development with Ruby Topic Maps. Topic Maps 2008Conference, Oslo, Norwegen (2008)iv

We have seen that computer programming is an art,because it applies accumulated knowledge to the world,because it requires skill and ingenuity, and especiallybecause it produces objects of beauty.— Donald E. Knuth [Knu74]DANKSAGUNGIch möchte meinen Eltern Carmen und Rainer Bock für die fortlaufende Unterstützungwährend meines gesamten Studiums danken.Meinen Brüdern Sebastian, Samuel und Cornelius gilt mein Dank für ihre Fragen,die mir immer wieder halfen komplexe Zusammenhänge prägnant zu formulieren.Von Prof. Dr. Gerhard Heyer und Dr. Lutz Maicher habe ich mich immer exzellentbetreut gefühlt. Ich danke ihnen für ihre Hinweise und Verbesserungsvorschläge.Viele Diskussionen mit Xuân Baldauf halfen mir, meine Ideen formal zu präsentieren, zu verbessern und zu bewerten. Gespräche mit Prof. Dr. Robert Barta undGraham Moore eröffneten mir neue Sichtweisen, inspirierten mich zu Verbesserungenmeiner Konzepte und schlossen Lücken in meinen Argumentationen.v

I N H A LT S V E R Z E I C H N I S1 einleitung11.1 Motivation21.2 Problemstellung1.3 Aufbau der Arbeit332 eine generische tmdm-konforme programmierschnittstelle2.1 Der Aufbau des TMDM52.1.1 Hierarchische Sichtweise auf eine Topic Map62.1.2 Vererbung und Eigenschaften im TMDM72.1.3 Abbildung der Informationseinheiten auf eine Klassenstruktur92.2 TMAPI 1.0 und Unterschiede zum TMDM92.3 Die vordefinierten TMDM-Beziehungen112.4 Komplementäre Ansätze für Programmierschnittstellen142.4.1 Ereignisbehandlung142.4.2 Streaming API152.4.3 Toplets und Assertions 162.4.4 Abfragesprachen162.5 Zusammenfassung 18193 modellgetriebene entwicklung von topic-maps-systemen3.1 Abstraktion203.1.1 Domänenspezifische Sprachen und sprachorientierte Entwicklung 203.1.2 Metaprogrammierung223.1.3 Generative Programmierung233.1.4 Vielfältige Implementierungsmöglichkeiten des Topic-Maps-Datenmodells3.1.5 Die Unified Modeling Language243.2 Darstellung des TMDM in einer domänenspezifischen Sprache243.2.1 Grundlegende Sprachkonstrukte der DSL263.2.2 Hilfsfunktionen für Generatoren303.2.3 Erweiterte Sprachkonstrukte der DSL und Indizierungseigenschaften313.3 Verarbeitung der DSL-Instanzen durch Generatoren343.3.1 Der generische TMDM-Generator363.3.2 (K)eine zweite Metaebene363.3.3 Java-Interface-Generator373.3.4 Java Event-Listener-Interface393.3.5 Java Basic-Generator403.4 Zusammenfassung 414 ruby topic maps434.1 Ideale und Erwartungen an eine Ruby-Bibliothek4.1.1 Die Programmiersprache Ruby444.1.2 Methodennamen in Ruby464.1.3 Ziele und Eigenschaften von Ruby Topic Maps4.1.4 Quellcode495234447vii

viiiInhaltsverzeichnis4.2 Benutzung von Ruby Topic Maps514.2.1 Installation von RTM514.2.2 Hallo Topic Maps Welt524.2.3 Erstellen von Topic-Maps-Objekten534.2.4 Abfragen von Topics544.2.5 Erstellen von Topics anhand von Adressen554.2.6 Das Topic-Referenzierungskonzept564.2.7 Hash-artiger Zugriff auf Topic-Charakteristika574.2.8 Traversierung von Beziehungen604.2.9 Schnellzugriffsmethoden634.3 Integrierte RTM Topic-Maps-Abfragesprache654.3.1 Abfragen im Speicher654.3.2 Alternative Formulierungen für Abfragen664.3.3 Weitere Funktionen auf Mengen664.3.4 Häufig genutzte veröffentlichte Gegenstandsanzeiger674.3.5 Direkter Zugriff auf interne Active-Record-Objekte674.4 Erweiterbarkeit und modularer Aufbau von RTM684.4.1 Das Erweiterungskonzept von RTM684.4.2 Die Import-Schnittstelle694.4.3 Das XTM2 Importmodul704.4.4 Die Export-Schnittstelle704.5 Zusammenfassung 705 topic-maps–objekt-abbildung735.1 Umgang mit der Komplexität von Topic Maps735.1.1 Modifizierungsoperationen im TMDM735.1.2 Benennungsvarianten745.2 Bisherige Ansätze 755.2.1 Topic Map Objects755.2.2 Bogachevs Subjekt-zentrierte Programmiersprache775.2.3 Bogachevs Ruby-basierte DSL zum Erstellen von Topic Maps5.3 Objekt-relationale Abbildung785.3.1 Active Record, das Entwurfsmuster795.3.2 Active Record, die Programmbibliothek805.4 Active Topic Maps815.4.1 Definition von Domänenklassen825.4.2 Verwendung von Active-Topic-Maps-Objekten865.4.3 Vergleich mit Active Record885.4.4 Rollen von Objekten 895.5 Ontologie-Introspektion mit Active Topic Maps895.5.1 Automatische Ermittlung von Charakteristika905.5.2 Automatische Ermittlung von Beziehungen915.6 Zusammenfassung 925.6.1 Generierung von Quellcode für andere Zwecke935.6.2 Verhältnis zu TMCL936 zusammenfassung und ausblick956.1 Vereinfachte Erstellung von Anwendungen6.2 Integration von Legacy-Daten979678

inhaltsverzeichnisa anhang99a.1 Verwendete Terminologie99a.1.1 Deutsche Topic-Maps-Terminologie99a.1.2 Abkürzungsverzeichnis99a.2 Übersicht der Schnellzugriffsmethoden99a.3 Software 99a.3.1 Andere Software102literaturverzeichnis103ix

ABBILDUNGSVERZEICHNISAbbildung 1Abbildung 2Abbildung 3Abbildung 4Abbildung 5Abbildung 6Abbildung 7Abbildung 8Abbildung 9Baumstruktur einer Topic Map7Vererbungshierarchie des TMDM8Beispiel zu Obertyp-Untertyp- und Typ-Instanz-Beziehungen13Systemarchitektur der modellgetriebenen Entwicklung vonTM-Systemen19Grundlegende Architektur von Ruby Topic Maps43Aufbau einer Beziehung60Beziehung mit erweiterten Methoden61Modellierung von n-ären Beziehungen85Beispiel einer Eltern-Kind-Beziehung92TA B E L L E N V E R Z E I C H N I STabelle 1Tabelle 2Tabelle 3Tabelle 4Tabelle 5Tabelle 6Tabelle 7Tabelle 8Vergleich der Benennung: XML Infoset – ObjektorientierteProgrammierung6Java-Methodennamen der Klasse Topic entsprechend demTMDM10Interpretation von Adressargumenten der Methode get 56Bestimmung der relativen Identifizierung anhand des Bezeichners84Beispiele für die Pluralisierung von englischen Begriffen inRuby on Rails84Erweiterungen zur deutschen Übersicht der ltext 2.1Quelltext 2.2Quelltext 2.3Quelltext 2.4Quelltext 2.5xBeispiel zu Obertyp-Untertyp- und Typ-Instanz-BeziehungenDeklaration einer Benachrichtigungsmethode14Verwendung der Streaming API15TMQL-select-Abfrage17TMQL-Abfrage mit path expression1713

QuellcodeverzeichnisxiQuelltext 3.1Quelltext 3.2Quelltext 3.3Quelltext 3.4Quelltext 3.5Quelltext 3.6Quelltext 3.7Quelltext 3.8Quelltext 3.9Quelltext 3.10Quelltext 3.11Quelltext 3.12Quelltext 3.13Quelltext 3.14Quelltext 3.15Naiver Ansatz der Modellierung des Datenmodells24Die Entität Reifiable26Java-Interface Reifiable27Modelldefinition der Menge associations28Modelldefinition der Gleichheitsregel für Topic-EntitätenIndex-Mengen der Gegenstandsanzeiger31Indirekt enthaltene Eigenschaftsmengen32Gesammelte Eigenschaften aus Mengen32Umgekehrte Indizierungsrichtung33Vordefinierte Beziehung types34Initialisierung des Java-Interface-Generators37Implementierung von parent im Java-Interface-GeneratorJava Interface für Belegstellen (occurrences)38Java Interface für nur lesbare Belegstellen39Interface des generischen Java Event-Listeners39Quelltext 4.1Quelltext 4.2Quelltext 4.3Quelltext 4.4Quelltext 4.5Quelltext 4.6Quelltext 4.7Quelltext 4.8Quelltext 4.9Quelltext 4.10Quelltext 4.11Quelltext 4.12Quelltext 4.13Quelltext 4.14Quelltext 4.15Quelltext 4.16Quelltext 4.17Quelltext 4.18Quelltext 4.19Quelltext 4.20Quelltext 4.21Quelltext 4.22Quelltext 4.23Quelltext 4.24Quelltext 4.25Quelltext 4.26Quelltext 4.27Quelltext 4.28Quelltext 4.29Quelltext 4.30Quelltext 4.31Quelltext 4.32Quelltext 4.33Pseudoquellcode zur Illustrierung der Rubysyntax44Parameter und Argument47Zählschleife in Java48Zählschleife in Ruby48Zählschleife in Ruby (kompakter)48Ausgabe der drei vorherigen Quellcodebeispiele48Installation von RTM51Laden der Bibliothek RTM52IRB Eingabeaufforderung52IRB Eingabeaufforderung52Erstellen einer Topic Map mit RTM53Erstellen einer Topic Map mit TinyTiM53Erstellen einer Beziehung54Schlüsselwortparameter überdecken Positionsparameter54Block-Parameter bei Objekterstellung54Abfrage eines Topics anhand eines direkten GA in TMAPI55Abfrage eines Topics anhand eines direkten GA in RTM55Registrierung von Präfixen57Ausgabe von Topic-Namen mit TMAPI57Ausgabe von Topic-Namen mit RTM58Ausgabe von Topic-Namen eines Typs mit RTM58Ausgabe von Topic-Namen eines Typs per Hash mit RTM58Erstellen eines getypten Topic-Namens per Hash-Zuweisung mit RTM59Rückgabewert bei einer Hash-Zuweisung in Ruby59Ändern eines getypten Topic-Namens per Hash-Zuweisung mit RTM60Definition einer binären Beziehung62Navigation von Topic Map zum Wert eines Namens eines Topics64Navigation mit Schnellzugriffsmethoden64Abbilden von Listenelementen auf Funktionswerte mit map64Abfragen einer Liste aller Topic-Namen als String-Wert64Die Methode value der Menge von Topic-Namen64Abfrage aller Topics ohne Namen65Abfrage aller Topics mit Belegstellen mit dem Wert “10” (ineffizient)662938

xiiQuellcodeverzeichnisQuelltext 4.34Quelltext 4.35Quelltext 4.36Quelltext 4.37Quelltext 4.38Quelltext 4.39Quelltext 4.40Quelltext 5.1Quelltext 5.2Quelltext 5.3Quelltext 5.4Quelltext 5.5Quelltext 5.6Quelltext 5.7Quelltext 5.8Quelltext 5.9Quelltext 5.10Quelltext 5.11Quelltext 5.12Quelltext 5.13Quelltext 5.14Quelltext 5.15Quelltext 5.16Quelltext 5.17Abfrage aller Topics mit Belegstellen mit dem Wert “10” (effizienter)Abfrage aller Topics, die nicht Spieler in einer Beziehung sind66Ausgabe aller Topics, je Zeile alle Namen67Abfrage aller Beziehungen mit Typ type-instance68Registrierung einer Erweiterung68Import von Topic Maps69Import von Topic Maps mit Optionen69Topic-Map-Objects-Klasse76“Bogachev Objects” Beispiel: Modellierung Vorname77Benutzung von Active-Record-Objekten79SQL-Befehle des fache stika in Active-Topic-Maps-Klassen84Beziehung zwischen zwei Domänenobjekten (many)86Beziehung zwischen zwei Domänenobjekten (one)86Erstellung eines neuen Person-Objektes86Festlegen von Namen86Auslesen von Namen87Suchen von Objekten87Suchen von Objekten nach Typ88Kombination von Domänenobjekten88Beziehung und Definition der Beziehungstypen9266

1EINLEITUNGA subject is “anything whatsoever,regardless of whether it exists or[whether it] has any other specific characteristics,about which anything whatsoevermay be asserted by any means whatsoever.”— Topic Maps Data Model [TMDM]Topic Maps1 ist eine standardisierte Technologie, um die reale Welt in einem abstrakten, formalen Modell zu formulieren. Dieser Vorgang wird Wissensmodellierung(Knowledge Engineering) genannt und umfasst unter anderem die Wissensakquiseund die Wissensrepräsentation. Wissensakquise ist die Erfassung und Strukturierungvon explizitem und implizitem Wissen. Wissensrepräsentation ist die Abbildung diesesWissens in einem formalen Modell.Im formalen Modell Topic Maps wird jeder Aussagegegenstand durch ein Topicrepräsentiert. Ein Topic ist also ein Repräsentant im Modell für einen Aussagegegenstand in der Realität. Jede Aussage, die über ein Topic getroffen werden kann, isteingeordnet in eine der folgenden drei Kategorien: Topic-Name (Zuordnung eines Aussagegegenstands zu einem Wort (oderSymbol), mit dem der Aussagegegenstand in natürlicher Sprache referenziertwird), Belegstelle (Zuordnung eines Eigenschaftstyp eines Aussagegegenstandes zurString-Repräsentation eines Eigenschaftswertes), Beziehung (Verknüpfung zwischen mehreren Topics)Die theoretische Grundlage für das Modell bildet das Topic-Maps-Referenzmodell(TMRM) [TMRM]. Das TMRM definiert eine minimale konzeptuelle Basis auf derdas Topic-Maps-Datenmodell (TMDM) aufbaut.Topic Maps können auf viele verschiedene Arten dargestellt werden: Mit Hilfeeiner Topic-Maps-Syntax in einer Datei, innerhalb von Datenbanken, als Struktureninnerhalb von laufenden Programmen und mental im menschlichen Gehirn. Alldiese Formen repräsentieren dieselbe abstrakte Struktur, die durch ISO/IEC13250-2,das Topic-Maps-Datenmodell, definiert wird [TMDM].Eine Topic-Maps-Engine ist eine Programmbibliothek, die über eine Programmierschnittstelle die Erstellung von Topic-Maps-basierten Anwendungen unterstützt.Die Topic-Maps-Engine stellt dabei Klassen und Funktionen zur Verfügung, um die1 Für Erläuterungen zur in dieser Arbeit verwendeten Terminologie sei auf Anhang A.1 verwiesen.1

2einleitungTopic Maps zu erstellen, zu modifizieren und abzufragen. Dabei stellt sie sicher,dass die durch das Datenmodell festgelegten Bedingungen eingehalten werden. Zudiesen Bedingungen zählen neben der Struktur der Topic Map auch die Gleichheitsund Zusammenführungsregeln.1.1motivationAnfangs waren standardisierte Serialisierungsformate die Grundlage von TopicMaps-Engine-Implementierungen. Der TMAPI-Standard [TMAPI] von 2005 war dieerste standardisierte Programmierschnittstelle. TMAPI baut auf dem Serialisierungsformat XTM 1.0 [XTM1] und den ersten Entwürfen des Topic-Maps-Datenmodellsauf. Grundlegende Änderungen im Metamodell und im Datenmodell, verabschiedetim Teilstandard ISO/IEC13250-2 [TMDM] im Jahr 2006, werden bisher (März 2008)in keiner standardisierten Topic-Maps-Programmierschnittstelle und in fast keinerveröffentlichten Topic-Maps-Engine voll reflektiert.2Diese Arbeit entwickelt die Programmierschnittstelle TMAPI hinsichtlich derVorgaben des TMDM weiter und generalisiert sie zu einem domänenspezifischen3Modell, das zur Generierung von Topic-Maps-Programmierschnittstellen und TopicMaps-Engines in verschiedenen Programmiersprachen genutzt wird. Die Domänedieses Modells ist also das Topic-Maps-Datenmodell. Eine darauf aufbauende Implementierung ist die im Rahmen dieser Arbeit weiterentwickelte Topic-Maps-EngineRuby Topic Maps. Ruby Topic Maps setzt die von einer Topic-Maps-Programmierschnittstelle geforderten Eigenschaften um.Die mit Hilfe des Modells festgelegte Schnittstelle kann auch als Schnittstellezwischen mehreren Komponenten genutzt werden, sodass mit wenig Aufwand neueImplementierungen der Schnittstelle erstellt werden können.Weiterhin kann die Domäne einer Anwendung in einer speziellen DSL, der ActiveTopic Maps Modelling Language, spezifiziert werden. Definiert werden Domänenklassen4 , die typisierte Charakteristika und Beziehungen zu anderen Domänenklassenhaben. Durch diese Beziehungen sind die Domänenklassen kombinierbar. Eine nichtleere Menge von kombinierbaren Domänenklassen bildet eine Komponente. Durchdie Bibliothek Active Topic Maps werden die in den Domänenklassen definierten Charakteristika und Beziehungen auf die zuvor definierte Programmierschnittstelle derTopic-Maps-Engine Ruby Topic Maps abgebildet. Die Domänenklassen der Anwendung bauen folglich zur Datenhaltung direkt auf die darunterliegende Topic-MapsEngine auf. Die Anwendung greift zur Datenhaltung und -verwaltung ihrerseitsauf die Domänenklassen zu. Die (implizit) zu Komponenten zusammengefasstenDomänenklassen verbinden die darunterliegende Topic-Maps-Engine und die darüberliegende Anwendung und bilden eine Middleware. In der Zusammenfassungwird eine Vision zur Integration von anderen Datenquellen angestrebt, welche dasKonzept der Middleware auf die integrierende Topic-Maps-Engine erweitert.2 Beispielsweise enthält die aktuelle Entwicklungsversion von TM4J 2.0 in der öffentlichen QuellcodeVerwaltung eine prototypische Implementierung [Bal08]. Die hier entwickelte Engine Ruby Topic Mapsenthält Support, weitere sind Mappa [Heu08b] (bisher kein offizielles Release), sowie Perl TM [Bar08b](Lower Level API).3 “Domäne” und “domänenspezifisch” werden in Abschnitt 3.1.1 definiert.4 “Klasse” ist hierbei der Begriff aus der objektorientierten Programmierung.

1.2 problemstellung1.2problemstellungDie Weiterentwicklung des Topic-Maps-Standards von XML Topic Maps 1.0 [XTM1]zur Topic Maps 2.0 Standard-Familie5 manifestierte den Grundgedanken von TopicMaps sowohl generischer als auch strikter als zuvor. Das Topic-Maps-Datenmodell [TMDM] bietet ein Fundament für die Serialisierungsformate XTM 2.0 [XTM2]und CTM [CTM], sowie für Kanonialisierung. Notwendigerweise werden durchdas TMDM grundlegende ontologische Festleg

Bock, Benjamin: Ruby Topic Maps. In: TMRA: Scaling Topic Maps, Third International Conference on Topic Maps Research and Applications, Leipzig, Deutschland (2007) Bock, Benjamin: Application Development with Ruby Topic Maps. Topic Maps 2008 Conference, Oslo, Norwegen (2008) iv

Related Documents:

Automatic Extraction of Semantic Relationsfrom Wikipedia Patrick Arnold and Erhard Rahm† Department of Computer Science, Leipzig University, Augustusplatz 10 Leipzig, 04109, Germany arnold@informatik.uni-leipzig.de †ahm@informatik.uni-leipzig.de Received 12September 2014 Accepted 22December2014 Published13April2015

DBpedia: A Nucleus for a Web of Open Data S oren Auer1;3, Christian Bizer 2, Georgi Kobilarov , Jens Lehmann1, Richard Cyganiak2, and Zachary Ives3 1 Universit at Leipzig, Department of Computer Science, Johannisgasse 26, D-04103 Leipzig, Germany, fauer,lehmanng@informatik.uni-leipzig.de 2 Freie Universit at Berlin, Web-based Systems Group, Garystr. 21, D-14195 Berlin, Germany,

Ultrasound of the adrenals glands 28.03.2014 10:12 1 EFSUMB Course Book Editor: Christoph F. Dietrich Basics in transthoracic echocardiography and standard documentation Andreas Hagendorff, Stephan Stoebe 1Department of Cardiology and Angiology, University of Leipzig Corresponding author: Prof. Dr. Andreas Hagendorff Department of Cardiology and Angiology University of Leipzig 04103 Leipzig .

maicher@informatik.uni-leipzig.de Lars Marius Garshol Bouvet AS . the scaling, web-based ones and the applications on the . Mediafoundation of the Sparkasse Leipzig, DE Topic Maps Lab, Leipzig .

katharina.knoll@fu-berlin.de . Moritz Schularick* Institute of Macroeconomics and Econometrics / University of Bonn . Adenauerallee 24-42 : Germany – 53113 Bonn . moritz.schularick@uni-bonn.de Thomas Steger Leipzig University ; Leipzig / Germany . steger@wifa.uni-leipzig.deCited by: 210Publish Year: 2014Author: Katharina Knoll,

the City of Leipzig is going on the investment offensive, investing 300 million over the next two years, because we firmly believe in our continuing growth. Leipzig's development has slowed, suffering setbacks in some respects. But after 30 impressive years, our confidence that the path taken in 1989/90 will dynamically continue on a

Sören Auer, Jens Lehmann, Axel-Cyrille Ngonga Ngomo, Amrapali Zaveri AKSW, Institut für Informatik, Universität Leipzig, Pf 100920, 04009 Leipzig {lastname}@informatik.uni-leipzig.de

3 Scienti c and Organizing Committees 3.1 Scienti c Committee ( ) Liliane Basso Barichello (UFRGS, Porto Alegre, lbaric@mat.ufrgs.br)( ) Piermarco Cannarsa (Universit a di Roma Tor Vergata, Roma,cannarsa@axp.mat.uniroma2.it)( ) Ciro Ciliberto (Universit a di Roma Tor Vergata, Roma, cilibert@axp.mat.uniroma2.it)- co-chair ( ) Giorgio Fotia (Universit a di Cagliari, Giorgio.Fotia@crs4.it)