33 research outputs found
Identification and Optimisation of Type-Level Model Queries
The main appeal of task-specific model management languages such as ATL, OCL, Epsilon etc. is that they offer tailored syntaxes for the tasks they target, and provide concise first-class support for recurring activities in these tasks. On the flip side, task-specific model management languages are typically interpreted and are therefore significantly slower than general purpose programming languages (which can be also used to query and modify models) such as Java. While this is not an issue for smaller models, as models grow in size, naive execution of interpreted model management programs against them can become a scalability bottleneck. In this paper, we demonstrate an architecture for optimisation of model management programs written in languages of the Epsilon platform using static analysis and program rewriting techniques. The proposed architecture facilitates optimisation of queries that target models of heterogeneous technologies in an orthogonal way. We demonstrate how the proposed architecture is used to identify and optimise typelevel queries against EMF-based models in the context of EOL programs and EVL validation constraints. We also demonstrate the performance benefits that can be delivered by this form of optimisation through a series of experiments on EMF-based models. Our experiments have shown performance improvements of up to 99.56%
Model driven language engineering
Modeling is a most important exercise in software engineering and development and one of the current practices is object-oriented (OO) modeling. The Object Management Group (OMG) has defined a standard object-oriented modeling language the Unified Modeling Language (UML). The OMG is not only interested in modeling languages; its primary aim is to enable easy integration of software systems and components using vendor-neutral technologies. This thesis investigates the possibilities for designing and implementing modeling frameworks and transformation languages that operate on models and to explore the validation of source and target models. Specifically, we will focus on OO models used in OMG's Model Driven Architecture (MDA), which can be expressed in terms of UML terms (e.g. classes and associations). The thesis presents the Kent Modeling Framework (KMF), a modeling framework that we developed, and describes how this framework can be used to generate a modeling tool from a model. It then proceeds to describe the customization of the generated code, in particular the definition of methods that allows a rapid and repeatable instantiation of a model. Model validation should include not only checking the well-formedness using OCL constraints, but also the evaluation of model quality. Software metrics are useful means for evaluating the quality of both software development processes and software products. As models are used to drive the entire software development process it is unlikely that high quality software will be obtained using low quality models. The thesis presents a methodology supported by KMF that uses the UML specification to compute the design metrics at an early stage of software development. The thesis presents a transformation language called YATL (Yet Another Transformation Language), which was designed and implemented to support the features provided by OMG's Request For Proposal and the future QVT standard. YATL is a hybrid language (a mix of declarative and imperative constructions) designed to answer the Query/Views/Transformations Request For Proposals issued by OMG and to express model transformations as required by the Model Driven Architecture (MDA) approach. Several examples of model transformations, which have been implemented using YATL and the support provided by KMF, are presented. These experiments investigate different knowledge areas as programming languages, visual diagrams and distributed systems. YATL was used to implement the following transformations: * UML to Java mapping * Spider diagrams to OCL mapping * EDOC to Web Service
Conservative and traceable executions of heterogeneous model management workflows
One challenge of developing large scale systems is knowing how artefacts are interrelated across tools and languages, especially when traceability is mandated e.g., by certifying authorities. Another challenge is the interoperability of all required tools to allow the software to be built, tested, and deployed efficiently as it evolves. Build systems have grown in popularity as they facilitate these activities. To cope with the complexities of the development process, engineers can adopt model-driven practices that allow them to raise the system abstraction level by modelling its domain, therefore, reducing the accidental complexity that comes from e.g., writing boilerplate code. However, model-driven practices come with challenges such as integrating heterogeneous model management tasks e.g., validation, and modelling technologies e.g., Simulink (a proprietary modelling environment for dynamic systems). While there are tools that support the execution of model-driven workflows, some support only specific modelling technologies, lack the generation of traceability information, or do not offer the cutting-edge features of build systems like conservative executions i.e., where only tasks affected by changes to resources are executed. In this work we propose ModelFlow, a workflow language and interpreter able to specify and execute model management workflows conservatively and produce traceability information as a side product. In addition, ModelFlow reduces the overhead of model loading and disposal operations by allowing model management tasks to share already loaded models during the workflow execution. Our evaluation shows that ModelFlow can perform conservative executions which can improve the performance times in some scenarios. ModelFlow is designed to support the execution of model management tasks targeting various modelling frameworks and can be used in conjunction with models from heterogeneous technologies. In addition to EMF models, ModelFlow can also handle Simulink models through a driver developed in the context of this thesis which was used to support one case study
Parallel and Distributed Execution of Model Management Programs
The engineering process of complex systems involves many stakeholders and development artefacts. Model-Driven Engineering (MDE) is an approach to development which aims to help curtail and better manage this complexity by raising the level of abstraction. In MDE, models are first-class artefacts in the development process. Such models can be used to describe artefacts of arbitrary complexity at various levels of abstraction according to the requirements of their prospective stakeholders. These models come in various sizes and formats and can be thought of more broadly as structured data. Since models are the primary artefacts in MDE, and the goal is to enhance the efficiency of the development process, powerful tools are required to work with such models at an appropriate level of abstraction. Model management tasks – such as querying, validation, comparison, transformation and text generation – are often performed using dedicated languages, with declarative constructs used to improve expressiveness. Despite their semantically constrained nature, the execution engines of these languages rarely capitalize on the optimization opportunities afforded to them. Therefore, working with very large models often leads to poor performance when using MDE tools compared to general-purpose programming languages, which has a detrimental effect on productivity. Given the stagnant single-threaded performance of modern CPUs along with the ubiquity of distributed computing, parallelization of these model management program is a necessity to address some of the scalability concerns surrounding MDE. This thesis demonstrates efficient parallel and distributed execution algorithms for model validation, querying and text generation and evaluates their effectiveness. By fully utilizing the CPUs on 26 hexa-core systems, we were able to improve performance of a complex model validation language by 122x compared to its existing sequential implementation. Up to 11x speedup was achieved with 16 cores for model query and model-to-text transformation tasks
Model Transformation Languages with Modular Information Hiding
Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain
Model-driven round-trip engineering of REST APIs
Les API web s'han convertit cada vegada més en un actiu clau per a les empreses, que n'han promogut la implementació i la integració en les seves activitats quotidianes. A la prà ctica, la majoria d'aquestes API web són "REST-like", que significa que s'adhereixen parcialment a l'estil arquitectònic conegut com transferència d'estat representacional ('representational state transfer', REST en anglés). De fet, REST és un paradigma de disseny i no proposa cap està ndard. Com a conseqüència, tant desenvolupar com consumir API REST són tasques difÃcils i costoses per als proveïdors i clients de l'API. L'objectiu d'aquesta tesi és facilitar el disseny, la implementació, la composició i el consum de les API REST, basant-se en tècniques d'enginyeria dirigida per models ('model-driven engineering', MDE en anglés). Aquesta tesi proposa les contribucions següents: EMF-REST, APIDiscoverer, APITester, APIGenerator, i APIComposer. Aquestes contribucions constitueixen un ecosistema que avança l'estat de la qüestió al camp de l'enginyeria de programari automà tica per al desenvolupament i el consum de les API REST.Las API Web se han convertido en una pieza fundamental para un gran número de compañÃas, que han promovido su implementación e integración en las actividades cotidianas del negocio. En la práctica, estas API Web son "REST-like", lo que significa que se adhieren parcialmente al estilo arquitectónico conocido como transferencia de estado representacional ('representational state transfer', REST en inglés). De hecho, REST es un paradigma de diseño y no propone ningún estándar. Por ello, tanto el desarrollo como el consumo de API REST son tareas difÃciles y que demandan mucho tiempo de los proveedores y los clientes de API. El objetivo de esta tesis es facilitar el diseño, la implementación, la composición y el consumo de API REST, apoyándose en el desarrollo de software dirigido por modelos (DSDM). Esta tesis propone las siguientes contribuciones: EMF-REST, APIDiscoverer, APITester, APIGenerator y APIComposer. Estas contribuciones constituyen un ecosistema que avanza el estado de la cuestión en el área de la ingenierÃa del software referida a la automatización de las tareas relacionadas con el desarrollo y consumo de API REST.Web APIs have become an increasingly key asset for businesses, and their implementation and integration in companies' daily activities has thus been on the rise. In practice, most of these Web APIs are "REST-like", meaning that they adhere partially to the Representational State Transfer (REST) architectural style. In fact, REST is a design paradigm and does not propose any standard, so developing and consuming REST APIs end up being challenging and time-consuming tasks for API providers and clients. Therefore, the aim of this thesis is to facilitate the design, implementation, composition and consumption of REST APIs by relying on Model-Driven Engineering (MDE). Likewise, it offers the following contributions: EMF-REST, APIDiscoverer, APITester, APIGenerator and APIComposer. Together, these contributions make up an ecosystem which advances the state of the art of automated software engineering for REST APIs
Ontology-Driven, Guided Visualisation Supporting Explicit and Composable Mappings
Data masses on the World Wide Web can hardly be managed by humans or machines. One option is the formal description and linking of data sources using Semantic Web and Linked Data technologies. Ontologies written in standardised languages foster the sharing and linking of data as they provide a means to formally define concepts and relations between these concepts. A second option is visualisation. The visual representation allows humans to perceive information more directly, using the highly developed visual sense. Relatively few efforts have been made on combining both options, although the formality and rich semantics of ontological data make it an ideal candidate for visualisation. Advanced visualisation design systems support the visualisation of tabular, typically statistical data. However, visualisations of ontological data still have to be created manually, since automated solutions are often limited to generic lists or node-link diagrams. Also, the semantics of ontological data are not exploited for guiding users through visualisation tasks. Finally, once a good visualisation setting has been created, it cannot easily be reused and shared. Trying to tackle these problems, we had to answer how to define composable and shareable mappings from ontological data to visual means and how to guide the visual mapping of ontological data.
We present an approach that allows for the guided visualisation of ontological data, the creation of effective graphics and the reuse of visualisation settings. Instead of generic graphics, we aim at tailor-made graphics, produced using the whole palette of visual means in a flexible, bottom-up approach. It not only allows for visualising ontologies, but uses ontologies to guide users when visualising data and to drive the visualisation process at various places: First, as a rich source of information on data characteristics, second, as a means to formally describe the vocabulary for building abstract graphics, and third, as a knowledge base of facts on visualisation. This is why we call our approach ontology-driven. We suggest generating an Abstract Visual Model (AVM) to represent and »synthesise« a graphic following a role-based approach, inspired by the one used by J. v. Engelhardt for the analysis of graphics. It consists of graphic objects and relations formalised in the Visualisation Ontology (VISO). A mappings model, based on the declarative RDFS/OWL Visualisation Language (RVL), determines a set of transformations from the domain data to the AVM. RVL allows for composable visual mappings that can be shared and reused across platforms. To guide the user, for example, we discourage the construction of mappings that are suboptimal according to an effectiveness ranking formalised in the fact base and suggest more effective mappings instead. The guidance process is flexible, since it is based on exchangeable rules. VISO, RVL and the AVM are additional contributions of this thesis. Further, we initially analysed the state of the art in visualisation and RDF-presentation comparing 10 approaches by 29 criteria. Our approach is unique because it combines ontology-driven guidance with composable visual mappings. Finally, we compare three prototypes covering the essential parts of our approach to show its feasibility. We show how the mapping process can be supported by tools displaying warning messages for non-optimal visual mappings, e.g., by considering relation characteristics such as »symmetry«. In a constructive evaluation, we challenge both the RVL language and the latest prototype trying to regenerate sketches of graphics we created manually during analysis. We demonstrate how graphics can be varied and complex mappings can be composed from simple ones. Two thirds of the sketches can be almost or completely specified and half of them can be almost or completely implemented.:Legend and Overview of Prefixes xiii
1 Introduction 1
2 Background 11
2.1 Visualisation 11
2.1.1 What is Visualisation? 11
2.1.2 What are the Benefits of Visualisation? 12
2.1.3 Visualisation Related Terms Used in this Thesis 12
2.1.4 Visualisation Models and Architectural Patterns 12
2.1.5 Visualisation Design Systems 14
2.1.6 What is the Difference between Visual Mapping and Styling? 14
2.1.7 Lessons Learned from Style Sheet Languages 15
2.2 Data 16
2.2.1 Data – Information – Knowledge 17
2.2.2 Structured Data 17
2.2.3 Ontologies in Computer Science 19
2.2.4 The Semantic Web and its Languages 19
2.2.5 Linked Data and Open Data 20
2.2.6 The Metamodelling Technological Space 21
2.2.7 SPIN 21
2.3 Guidance 22
2.3.1 Guidance in Visualisation 22
3 Problem Analysis 23
3.1 Problems of Ontology Visualisation Approaches 24
3.2 Research Questions 25
3.3 Set up of the Case Studies 25
3.3.1 Case Studies in the Life Sciences Domain 26
3.3.2 Case Studies in the Publishing Domain 26
3.3.3 Case Studies in the Software Technology Domain 27
3.4 Analysis of the Case Studies’ Ontologies 27
3.5 Manual Sketching of Graphics 29
3.6 Analysis of the Graphics for Typical Visualisation Cases 29
3.7 Requirements 33
3.7.1 Requirements for Visualisation and Interaction 34
3.7.2 Requirements for Data Awareness 34
3.7.3 Requirements for Reuse and Composition 34
3.7.4 Requirements for Variability 35
3.7.5 Requirements for Tooling Support and Guidance 35
3.7.6 Optional Features and Limitations 36
4 Analysis of the State of the Art 37
4.1 Related Visualisation Approaches 38
4.1.1 Short Overview of the Approaches 38
4.1.2 Detailed Comparison by Criteria 46
4.1.3 Conclusion – What Is Still Missing? 60
4.2 Visualisation Languages 62
4.2.1 Short Overview of the Compared Languages 62
4.2.2 Detailed Comparison by Language Criteria 66
4.2.3 Conclusion – What Is Still Missing? 71
4.3 RDF Presentation Languages 72
4.3.1 Short Overview of the Compared Languages 72
4.3.2 Detailed Comparison by Language Criteria 76
4.3.3 Additional Criteria for RDF Display Languages 87
4.3.4 Conclusion – What Is Still Missing? 89
4.4 Model-Driven Interfaces 90
4.4.1 Metamodel-Driven Interfaces 90
4.4.2 Ontology-Driven Interfaces 92
4.4.3 Combined Usage of the Metamodelling and Ontology Technological Space 94
5 A Visualisation Ontology – VISO 97
5.1 Methodology Used for Ontology Creation 100
5.2 Requirements for a Visualisation Ontology 100
5.3 Existing Approaches to Modelling in the Field of Visualisation 101
5.3.1 Terminologies and Taxonomies 101
5.3.2 Existing Visualisation Ontologies 102
5.3.3 Other Visualisation Models and Approaches to Formalisation 103
5.3.4 Summary 103
5.4 Technical Aspects of VISO 103
5.5 VISO/graphic Module – Graphic Vocabulary 104
5.5.1 Graphic Representations and Graphic Objects 105
5.5.2 Graphic Relations and Syntactic Structures 107
5.6 VISO/data Module – Characterising Data 110
5.6.1 Data Structure and Characteristics of Relations 110
5.6.2 The Scale of Measurement and Units 112
5.6.3 Properties for Characterising Data Variables in Statistical Data 113
5.7 VISO/facts Module – Facts for Vis. Constraints and Rules 115
5.7.1 Expressiveness of Graphic Relations 116
5.7.2 Effectiveness Ranking of Graphic Relations 118
5.7.3 Rules for Composing Graphics 119
5.7.4 Other Rules to Consider for Visual Mapping 124
5.7.5 Providing Named Value Collections 124
5.7.6 Existing Approaches to the Formalisation of Visualisation Knowledge . . 126
5.7.7 The VISO/facts/empiric Example Knowledge Base 126
5.8 Other VISO Modules 126
5.9 Conclusions and Future Work 127
5.10 Further Use Cases for VISO 127
5.11 VISO on the Web – Sharing the Vocabulary to Build a Community 128
6 A VISO-Based Abstract Visual Model – AVM 129
6.1 Graphical Notation Used in this Chapter 129
6.2 Elementary Graphic Objects and Graphic Attributes 131
6.3 N-Ary Relations 131
6.4 Binary Relations 131
6.5 Composition of Graphic Objects Using Roles 132
6.6 Composition of Graphic Relations Using Roles 132
6.7 Composition of Visual Mappings Using the AVM 135
6.8 Tracing 135
6.9 Is it Worth Having an Abstract Visual Model? 135
6.10 Discussion of Fresnel as a Related Language 137
6.11 Related Work 139
6.12 Limitations 139
6.13 Conclusions 140
7 A Language for RDFS/OWL Visualisation – RVL 141
7.1 Language Requirements 142
7.2 Main RVL Constructs 145
7.2.1 Mapping 145
7.2.2 Property Mapping 146
7.2.3 Identity Mapping 146
7.2.4 Value Mapping 147
7.2.5 Inheriting RVL Settings 147
7.2.6 Resource Mapping 148
7.2.7 Simplifications 149
7.3 Calculating Value Mappings 150
7.4 Defining Scale of Measurement 153
7.4.1 Determining the Scale of Measurement 154
7.5 Addressing Values in Value Mappings 156
7.5.1 Determining the Set of Addressed Source Values 156
7.5.2 Determining the Set of Addressed Target Values 157
7.6 Overlapping Value Mappings 158
7.7 Default Value Mapping 158
7.8 Default Labelling 159
7.9 Defining Interaction 159
7.10 Mapping Composition and Submappings 160
7.11 A Schema Language for RVL 160
7.11.1 Concrete Examples of the RVL Schema 163
7.12 Conclusions and Future Work 166
8 The OGVIC Approach 169
8.1 Ontology-Driven, Guided Editing of Visual Mappings 172
8.1.1 Classification of Constraints 172
8.1.2 Levels of Guidance 173
8.1.3 Implementing Constraint-Based Guidance 173
8.2 Support of Explicit and Composable Visual Mappings 177
8.2.1 Mapping Composition Cases 178
8.2.2 Selecting a Context 180
8.2.3 Using the Same Graphic Relation Multiple Times 181
8.3 Prototype P1 (TopBraid-Composer-based) 182
8.4 Prototype P2 (OntoWiki-based) 184
8.5 Prototype P3 (Java Implementation of RVL) 187
8.6 Lessons Learned from Prototypes & Future Work 190
8.6.1 Checking RVL Constraints and Visualisation Rules 190
8.6.2 A User Interface for Editing RVL Mappings 190
8.6.3 Graph Transformations with SPIN and SPARQL 1.1 Update 192
8.6.4 Selection and Filtering of Data 193
8.6.5 Interactivity and Incremental Processing 193
8.6.6 Rendering the Final Platform-Specific Code 196
9 Application 197
9.1 Coverage of Case Study Sketches and Necessary Features 198
9.2 Coverage of Visualisation Cases 201
9.3 Coverage of Requirements 205
9.4 Full Example 206
10 Conclusions 211
10.1 Contributions 211
10.2 Constructive Evaluation 212
10.3 Research Questions 213
10.4 Transfer to Other Models and Constraint Languages 213
10.5 Limitations 214
10.6 Future Work 214
Appendices 217
A Case Study Sketches 219
B VISO – Comparison of Visualisation Literature 229
C RVL 231
D RVL Example Mappings and Application 233
D.1 Listings of RVL Example Mappings as Required by Prototype P3 233
D.2 Features Required for Implementing all Sketches 235
D.3 JSON Format for Processing the AVM with D3 – Hierarchical Variant 238
Bibliography 238
List of Figures 251
List of Tables 254
List of Listings 257Datenmassen im World Wide Web können kaum von Menschen oder Maschinen erfasst werden. Eine Option ist die formale Beschreibung und Verknüpfung von Datenquellen mit Semantic-Web- und Linked-Data-Technologien. Ontologien, in standardisierten Sprachen geschrieben, befördern das Teilen und Verknüpfen von Daten, da sie ein Mittel zur formalen Definition von Konzepten und Beziehungen zwischen diesen Konzepten darstellen. Eine zweite Option ist die Visualisierung. Die visuelle Repräsentation ermöglicht es dem Menschen, Informationen direkter wahrzunehmen, indem er seinen hochentwickelten Sehsinn verwendet. Relativ wenige Anstrengungen wurden unternommen, um beide Optionen zu kombinieren, obwohl die Formalität und die reichhaltige Semantik ontologische Daten zu einem idealen Kandidaten für die Visualisierung machen. Visualisierungsdesignsysteme unterstützen Nutzer bei der Visualisierung von tabellarischen, typischerweise statistischen Daten. Visualisierungen ontologischer Daten jedoch müssen noch manuell erstellt werden, da automatisierte Lösungen häufig auf generische Listendarstellungen oder Knoten-Kanten-Diagramme beschränkt sind. Auch die Semantik der ontologischen Daten wird nicht ausgenutzt, um Benutzer durch Visualisierungsaufgaben zu führen. Einmal erstellte Visualisierungseinstellungen können nicht einfach wiederverwendet und geteilt werden. Um diese Probleme zu lösen, mussten wir eine Antwort darauf finden, wie die Definition komponierbarer und wiederverwendbarer Abbildungen von ontologischen Daten auf visuelle Mittel geschehen könnte und wie Nutzer bei dieser Abbildung geführt werden könnten.
Wir stellen einen Ansatz vor, der die geführte Visualisierung von ontologischen Daten, die Erstellung effektiver Grafiken und die Wiederverwendung von Visualisierungseinstellungen ermöglicht. Statt auf generische Grafiken zielt der Ansatz auf maßgeschneiderte Grafiken ab, die mit der gesamten Palette visueller Mittel in einem flexiblen Bottom-Up-Ansatz erstellt werden. Er erlaubt nicht nur die Visualisierung von Ontologien, sondern verwendet auch Ontologien, um Benutzer bei der Visualisierung von Daten zu führen und den Visualisierungsprozess an verschiedenen Stellen zu steuern: Erstens als eine reichhaltige Informationsquelle zu Datencharakteristiken, zweitens als Mittel zur formalen Beschreibung des Vokabulars für den Aufbau von abstrakten Grafiken und drittens als Wissensbasis von Visualisierungsfakten. Deshalb nennen wir unseren Ansatz ontologie-getrieben. Wir schlagen vor, ein Abstract Visual Model (AVM) zu generieren, um eine Grafik rollenbasiert zu synthetisieren, angelehnt an einen Ansatz der von J. v. Engelhardt verwendet wird, um Grafiken zu analysieren. Das AVM besteht aus grafischen Objekten und Relationen, die in der Visualisation Ontology (VISO) formalisiert sind. Ein Mapping-Modell, das auf der deklarativen RDFS/OWL Visualisation Language (RVL) basiert, bestimmt eine Menge von Transformationen von den Quelldaten zum AVM. RVL ermöglicht zusammensetzbare »Mappings«, visuelle Abbildungen, die über Plattformen hinweg geteilt und wiederverwendet werden können. Um den Benutzer zu führen, bewerten wir Mappings anhand eines in der Faktenbasis formalisierten Effektivitätsrankings und schlagen ggf. effektivere Mappings vor. Der Beratungsprozess ist flexibel, da er auf austauschbaren Regeln basiert. VISO, RVL und das AVM sind weitere Beiträge dieser Arbeit. Darüber hinaus analysieren wir zunächst den Stand der Technik in der Visualisierung und RDF-Präsentation, indem wir 10 Ansätze nach 29 Kriterien vergleichen. Unser Ansatz ist einzigartig, da er eine ontologie-getriebene Nutzerführung mit komponierbaren visuellen Mappings vereint. Schließlich vergleichen wir drei Prototypen, welche die wesentlichen Teile unseres Ansatzes umsetzen, um seine Machbarkeit zu zeigen. Wir zeigen, wie der Mapping-Prozess durch Tools unterstützt werden kann, die Warnmeldungen für nicht optimale visuelle Abbildungen anzeigen, z. B. durch Berücksichtigung von Charakteristiken der Relationen wie »Symmetrie«. In einer konstruktiven Evaluation fordern wir sowohl die RVL-Sprache als auch den neuesten Prototyp heraus, indem wir versuchen Skizzen von Grafiken umzusetzen, die wir während der Analyse manuell erstellt haben. Wir zeigen, wie Grafiken variiert werden können und komplexe Mappings aus einfachen zusammengesetzt werden können. Zwei Drittel der Skizzen können fast vollständig oder vollständig spezifiziert werden und die Hälfte kann fast vollständig oder vollständig umgesetzt werden.:Legend and Overview of Prefixes xiii
1 Introduction 1
2 Background 11
2.1 Visualisation 11
2.1.1 What is Visualisation? 11
2.1.2 What are the Benefits of Visualisation? 12
2.1.3 Visualisation Related Terms Used in this Thesis 12
2.1.4 Visualisation Models and Architectural Patterns 12
2.1.5 Visualisation Design Systems 14
2.1.6 What is the Difference between Visual Mapping and Styling? 14
2.1.7 Lessons Learned from Style Sheet Languages 15
2.2 Data 16
2.2.1 Data – Information – Knowledge 17
2.2.2 Structured Data 17
2.2.3 Ontologies in Computer Science 19
2.2.4 The Semantic Web and its Languages 19
2.2.5 Linked Data and Open Data 20
2.2.6 The Metamodelling Technological Space 21
2.2.7 SPIN 21
2.3 Guidance 22
2.3.1 Guidance in Visualisation 22
3 Problem Analysis 23
3.1 Problems of Ontology Visualisation Approaches 24
3.2 Research Questions 25
3.3 Set up of the Case Studies 25
3.3.1 Case Studies in the Life Sciences Domain 26
3.3.2 Case Studies in the Publishing Domain 26
3.3.3 Case Studies in the Software Technology Domain 27
3.4 Analysis of the Case Studies’ Ontologies 27
3.5 Manual Sketching of Graphics 29
3.6 Analysis of the Graphics for Typical Visualisation Cases 29
3.7 Requirements 33
3.7.1 Requirements for Visualisation and Interaction 34
3.7.2 Requirements for Data Awareness 34
3.7.3 Requirements for Reuse and Composition 34
3.7.4 Requirements for Variability 35
3.7.5 Requirements for Tooling Support and Guidance 35
3.7.6 Optional Features and Limitations 36
4 Analysis of the State of the Art 37
4.1 Related Visualisation Approaches 38
4.1.1 Short Overview of the Approaches 38
4.1.2 Detailed Comparison by Criteria 46
4.1.3 Conclusion – What Is Still Missing? 60
4.2 Visualisation Languages 62
4.2.1 Short Overview of the Compared Languages 62
4.2.2 Detailed Comparison by Language Criteria 66
4.2.3 Conclusion – What Is Still Missing? 71
4.3 RDF Presentation Languages 72
4.3.1 Short Overview of the Compared Languages 72
4.3.2 Detailed Comparison by Language Criteria 76
4.3.3 Additional Criteria for RDF Display Languages 87
4.3.4 Conclusion – What Is Still Missing? 89
4.4 Model-Driven Interfaces 90
4.4.1 Metamodel-Driven Interfaces 90
4.4.2 Ontology-Driven Interfaces 92
4.4.3 Combined Usage of the Metamodelling and Ontology Technological Space 94
5 A Visualisation Ontology – VISO 97
5.1 Methodology Used for Ontology Creation 100
5.2 Requirements for a Visualisation Ontology 100
5.3 Existing Approaches to Modelling in the Field of Visualisation 101
5.3.1 Terminologies and Taxonomies 101
5.3.2 Existing Visualisation Ontologies 102
5.3.3 Other Visualisation Models and Approaches to Formalisation 103
5.3.4 Summary 103
5.4 Technical Aspects of VISO 103
5.5 VISO/graphic Module – Graphic Vocabulary 104
5.5.1 Graphic Representations and Graphic Objects 105
5.5.2 Graphic Relations and Syntactic Structures 107
5.6 VISO/data Module – Characterising Data 110
5.6.1 Data Structure and Characteristics of Relations 110
5.6.2 The Scale of Measurement and Units 112
5.6.3 Properties for Characterising Data Variables in Statistical Data 113
5.7 VISO/facts Module – Facts for Vis. Constraints and Rules 115
5.7.1 Expressiveness of Graphic Relations 116
5.7.2 Effectiveness Ranking of Graphic Relations 118
5.7.3 Rules for Composing Graphics 119
5.7.4 Other Rules to Consider for Visual Mapping 124
5.7.5 Providing Named Value Collections 124
5.7.6 Existing Approaches to the Formalisation of Visualisation Knowledge . . 126
5.7.7 The VISO/facts/empiric Example Knowledge Base 126
5.8 Other VISO Modules 126
5.9 Conclusions and Future Work 127
5.10 Further Use Cases for VISO 127
5.11 VISO on the Web – Sharing the Vocabulary to Build a Community 128
6 A VISO-Based Abstract Visual Model – AVM 129
6.1 Graphical Notation Used in this Chapter 129
6.2 Elementary Graphic Objects and Graphic Attributes 131
6.3 N-Ary Relations 131
6.4 Binary Relations 131
6.5 Composition of Graphic Objects Using Roles 132
6.6 Composition of Graphic Relations Using Roles 132
6.7 Composition of Visual Mappings Using the AVM 135
6.8 Tracing 135
6.9 Is it Worth Having an Abstract Visual Model? 135
6.10 Discussion of Fresnel as a Related Language 137
6.11 Related Work 139
6.12 Limitations 139
6.13 Conclusions 140
7 A Language for RDFS/OWL Visualisation – RVL 141
7.1 Language Requirements 142
7.2 Main RVL Constructs 145
7.2.1 Mapping 145
7.2.2 Property Mapping 146
7.2.3 Identity Mapping 146
7.2.4 Value Mapping 147
7.2.5 Inheriting RVL Settings 147
7.2.6 Resource Mapping 148
7.2.7 Simplifications 149
7.3 Calculating Value Mappings 150
7.4 Defining Scale of Measurement 153
7.4.1 Determining the Scale of Measurement 154
7.5 Addressing Values in Value Mappings 156
7.5.1 Determining the Set of Addressed Source Values 156
7.5.2 Determining the Set of Addressed Target Values 157
7.6 Overlapping Value Mappings 158
7.7 Default Value Mapping 158
7.8 Default Labelling 159
7.9 Defining Interaction 159
7.10 Mapping Composition and Submappings 160
7.11 A Schema Language for RVL 160
7.11.1 Concrete Examples of the RVL Schema 163
7.12 Conclusions and Future Work 166
8 The OGVIC Approach 169
8.1 Ontology-Driven, Guided Editing of Visual Mappings 172
8.1.1 Classification of Constraints 172
8.1.2 Levels of Guidance 173
8.1.3 Implementing Constraint-Based Guidance 173
8.2 Support of Explicit and Composable Visual Mappings 177
8.2.1 Mapping Composition Cases 178
8.2.2 Selecting a Context 180
8.2.3 Using the Same Graphic Relation Multiple Times 181
8.3 Prototype P1 (TopBraid-Composer-based) 182
8.4 Prototype P2 (OntoWiki-based) 184
8.5 Prototype P3 (Java Implementation of RVL) 187
8.6 Lessons Learned from Prototypes & Future Work 190
8.6.1 Checking RVL Constraints and Visualisation Rules 190
8.6.2 A User Interface for Editing RVL Mappings 190
8.6.3 Graph Transformations with SPIN and SPARQL 1.1 Update 192
8.6.4 Selection and Filtering of Data 193
8.6.5 Interactivity and Incremental Processing 193
8.6.6 Rendering the Final Platform-Specific Code 196
9 Application 197
9.1 Coverage of Case Study Sketches and Necessary Features 198
9.2 Coverage of Visualisation Cases 201
9.3 Coverage of Requirements 205
9.4 Full Example 206
10 Conclusions 211
10.1 Contributions 211
10.2 Constructive Evaluation 212
10.3 Research Questions 213
10.4 Transfer to Other Models and Constraint Languages 213
10.5 Limitations 214
10.6 Future Work 214
Appendices 217
A Case Study Sketches 219
B VISO – Comparison of Visualisation Literature 229
C RVL 231
D RVL Example Mappings and Application 233
D.1 Listings of RVL Example Mappings as Required by Protot
Enabling Model-Driven Live Analytics For Cyber-Physical Systems: The Case of Smart Grids
Advances in software, embedded computing, sensors, and networking technologies will lead to a new generation of smart cyber-physical systems that will far exceed the capabilities of today’s embedded systems. They will be entrusted with increasingly complex tasks like controlling electric grids or autonomously driving cars. These systems have the potential to lay the foundations for tomorrow’s critical infrastructures, to form the basis of emerging and future smart services, and to improve the quality of our everyday lives in many areas. In order to solve their tasks, they have to continuously monitor and collect data from physical processes, analyse this data, and make decisions based on it. Making smart decisions requires a deep understanding of the environment, internal state, and the impacts of actions. Such deep understanding relies on efficient data models to organise the sensed data and on advanced analytics. Considering that cyber-physical systems are controlling physical processes, decisions need to be taken very fast. This makes it necessary to analyse data in live, as opposed to conventional batch analytics. However, the complex nature combined with the massive amount of data generated by such systems impose fundamental challenges. While data in the context of cyber-physical systems has some similar characteristics as big data, it holds a particular complexity. This complexity results from the complicated physical phenomena described by this data, which makes it difficult to extract a model able to explain such data and its various multi-layered relationships. Existing solutions fail to provide sustainable mechanisms to analyse such data in live.
This dissertation presents a novel approach, named model-driven live analytics. The main contribution of this thesis is a multi-dimensional graph data model that brings raw data, domain knowledge, and machine learning together in a single model, which can drive live analytic processes. This model is continuously updated with the sensed data and can be leveraged by live analytic processes to support decision-making of cyber-physical systems. The presented approach has been developed in collaboration with an industrial partner and, in form of a prototype, applied to the domain of smart grids. The addressed challenges are derived from this collaboration as a response to shortcomings in the current state of the art. More specifically, this dissertation provides solutions for the following challenges:
First, data handled by cyber-physical systems is usually dynamic—data in motion as opposed to traditional data at rest—and changes frequently and at different paces. Analysing such data is challenging since data models usually can only represent a snapshot of a system at one specific point in time. A common approach consists in a discretisation, which regularly samples and stores such snapshots at specific timestamps to keep track of the history. Continuously changing data is then represented as a finite sequence of such snapshots. Such data representations would be very inefficient to analyse, since it would require to mine the snapshots, extract a relevant dataset, and finally analyse it. For this problem, this thesis presents a temporal graph data model and storage system, which consider time as a first-class property. A time-relative navigation concept enables to analyse frequently changing data very efficiently.
Secondly, making sustainable decisions requires to anticipate what impacts certain actions would have. Considering complex cyber-physical systems, it can come to situations where hundreds or thousands of such hypothetical actions must be explored before a solid decision can be made. Every action leads to an independent alternative from where a set of other actions can be applied and so forth. Finding the sequence of actions that leads to the desired alternative, requires to efficiently create, represent, and analyse many different alternatives. Given that every alternative has its own history, this creates a very high combinatorial complexity of alternatives and histories, which is hard to analyse. To tackle this problem, this dissertation introduces a multi-dimensional graph data model (as an extension of the temporal graph data model) that enables to efficiently represent, store, and analyse many different alternatives in live.
Thirdly, complex cyber-physical systems are often distributed, but to fulfil their tasks these systems typically need to share context information between computational entities. This requires analytic algorithms to reason over distributed data, which is a complex task since it relies on the aggregation and processing of various distributed and constantly changing data. To address this challenge, this dissertation proposes an approach to transparently distribute the presented multi-dimensional graph data model in a peer-to-peer manner and defines a stream processing concept to efficiently handle frequent changes.
Fourthly, to meet future needs, cyber-physical systems need to become increasingly intelligent. To make smart decisions, these systems have to continuously refine behavioural models that are known at design time, with what can only be learned from live data. Machine learning algorithms can help to solve this unknown behaviour by extracting commonalities over massive datasets. Nevertheless, searching a coarse-grained common behaviour model can be very inaccurate for cyber-physical systems, which are composed of completely different entities with very different behaviour. For these systems, fine-grained learning can be significantly more accurate. However, modelling, structuring, and synchronising many fine-grained learning units is challenging. To tackle this, this thesis presents an approach to define reusable, chainable, and independently computable fine-grained learning units, which can be modelled together with and on the same level as domain data. This allows to weave machine learning directly into the presented multi-dimensional graph data model.
In summary, this thesis provides an efficient multi-dimensional graph data model to enable live analytics of complex, frequently changing, and distributed data of cyber-physical systems. This model can significantly improve data analytics for such systems and empower cyber-physical systems to make smart decisions in live. The presented solutions combine and extend methods from model-driven engineering, [email protected], data analytics, database systems, and machine learning
Experimental Evaluation of Growing and Pruning Hyper Basis Function Neural Networks Trained with Extended Information Filter
In this paper we test Extended Information Filter (EIF) for sequential training of Hyper Basis Function Neural Networks with growing and pruning ability (HBF-GP). The HBF neuron allows different scaling of input dimensions to provide better generalization property when dealing with complex nonlinear problems in engineering practice. The main intuition behind HBF is in generalization of Gaussian type of neuron that applies Mahalanobis-like distance as a distance metrics between input training sample and prototype vector. We exploit concept of neuron’s significance and allow growing and pruning of HBF neurons during sequential learning process. From engineer’s perspective, EIF is attractive for training of neural networks because it allows a designer to have scarce initial knowledge of the system/problem. Extensive experimental study shows that HBF neural network trained with EIF achieves same prediction error and compactness of network topology when compared to EKF, but without the need to know initial state uncertainty, which is its main advantage over EKF
Model Transformation Languages with Modular Information Hiding
Model transformations, together with models, form the principal artifacts in model-driven software development. Industrial practitioners report that transformations on larger models quickly get sufficiently large and complex themselves. To alleviate entailed maintenance efforts, this thesis presents a modularity concept with explicit interfaces, complemented by software visualization and clustering techniques. All three approaches are tailored to the specific needs of the transformation domain