Talks

Ontology-Based Access to Relational Data

Matthias Hert

Talk at WSL, Birmensdorf, CH
March 4th, 2010

Abstract:
Relational Databases (RDBs) are used in most current enterprise environments to store and manage data. The semantics of the data is not explicitly encoded in the relational model, but implicitly on the application level. Ontologies and Semantic Web technologies provide explicit semantics that allows data to be shared and reused across application, enterprise, and community boundaries. These technologies are applied to build a semantic layer on top of existing databases to lift data processing from the syntax to the semantic level. Existing applications that rely on the relational representation of the data prohibit a conversion of all data in an RDB to RDF. Therefore, a mediation approach that performs an on demand translation of Semantic Web requests to SQL is the alternative that preserves the compatibility with existing relational applications while enabling access for ontology-based software to (co-)operate on the same data. In addition, mediation allows to further exploit the advantages of the well established database technology such as query performance, scalability, transaction support, and security.

Tutorial @ ICSE'09: Semantic Web Technologies in Software Engineering

Saturday, May 18, 2009 - Full Day

Instructors:
Harald C. Gall, University of Zurich, Switzerland
Gerald Reif, University of Zurich, Switzerland

Over the years, the software engineering community developed various tool that help software developers to specify, develop, test, analyze, and maintain software. Many of these tools use proprietary data formats to store their artifacts which hamper the interoperation between tools. On the other hand, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. In the Semantic Web, ontologies are used to define the concepts in the domain of discourse and the relationship between these concepts and as such provide the formal vocabulary applications use to exchange semantically rich data. Beside the Web, the technologies developed for the Semantic Web have proven to be useful also in other domains, especially when data has to be exchanged between applications from different parties. Software engineering is one of these domains where recent research shows that Semantic Web technologies are able to reduce the barriers of proprietary data formats and improve the interoperation of tools, even if they were originally not designed to work in cooperation. Design, architecture, code, tests, or models can be shared across application boundaries enabling a seamless integration of process results. In this tutorial, we will give an introduction to the Semantic Web, the related technologies and tools, and present research on applying these technologies in the domain of software engineering.

Tutorial @ ICSE'08: Semantic Web Technologies in Software Engineering

Saturday, May 12, 2008 - Full Day

Instructors:
Harald C. Gall, University of Zurich, Switzerland
Gerald Reif, University of Zurich, Switzerland

Over the years, the software engineering community developed various tool that help software developers to specify, develop, test, analyze, and maintain software. Many of these tools use proprietary data formats to store their artifacts which hamper the interoperation between tools. On the other hand, the Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries. In the Semantic Web, ontologies are used to define the concepts in the domain of discourse and the relationship between these concepts and as such provide the formal vocabulary applications use to exchange semantically rich data. Beside the Web, the technologies developed for the Semantic Web have proven to be useful also in other domains, especially when data has to be exchanged between applications from different parties. Software engineering is one of these domains where recent research shows that Semantic Web technologies are able to reduce the barriers of proprietary data formats and improve the interoperation of tools, even if they were originally not designed to work in cooperation. Design, architecture, code, tests, or models can be shared across application boundaries enabling a seamless integration of process results. In this tutorial, we will give an introduction to the Semantic Web, the related technologies and tools, and present research on applying these technologies in the domain of software engineering.

Semantic Clipboard - Bridging the Gap between Desktop Applications

Gerald Reif

Talk at IBM Zurich Research Lab, Rueschlikon, CH
Feb 22, 2007

Abstract:
When copying and pasting data between applications using the operating system clipboard, the semantics of the transfered information is usually lost. Using Semantic Web technologies these semantics can be explicitly defined in a machine process-able way and therefore be preserved during the data transfer. In this paper we introduce SemClip, our implementation of a Semantic Clipboard that enables the exchange of semantically enriched data between desktop applications and show how such a clipboard can be used to copy and paste semantic annotations from Web pages to desktop applications.

Tutorial @ ICSE'06: Software Evolution: Analysis and Visualization

Saturday, May 27, 2006 - Full Day

Instructors:
Harald C. Gall, University of Zurich, Switzerland
Michele Lanza , University of Lugano, Switzerland

In this tutorial, we describe the investigation of software evolution by taking a step towards reflecting the analysis results against software quality attributes. Different kinds of analyses (from architecture to code) and their interpretation will be presented and discussed in relation to quality attributes. This will show our vision of where such evolution investigations can lead and how they can support development.

The tutorial will touch issues such as meta-models for evolution data, data analysis and history mining, software quality attributes, as well as visualization of analysis results.

Object-Oriented Reengineering: Patterns and Techniques

February 7, 2006

Surprising as it may seem, many of the early adopters of the object-oriented paradigm already face a number of problems typically encountered in large-scale legacy systems. Software engineers are now confronted with millions of lines of industrial source code, developed using object-oriented design methods and languages of the late 80s and early 90s. These systems exhibit a range of problems, effectively preventing them from satisfying the evolving requirements imposed by their customers.

This tutorial will share our knowledge concerning the reengineering of object-oriented legacy systems. We will draw upon our experiences with the FAMOOS project, to show you techniques and tools we have applied on real industrial OO systems to detect and repair problems. In particular, we will discuss issues like reverse engineering, design extraction, metrics, refactoring and program visualisation.

Serge Demeyer is a professor in the Department of Mathematics and Computer Science at the University of Antwerp in Belgium. There he leads a research group investigating the theme of "Software Reengineering" (LORE - Lab On REengineering). His main research interest concerns software engineering (more precisely, reengineering in an object-oriented context) but due to historical reasons he maintains a heavy interest in hypermedia systems as well. He is an active member of the corresponding international research communities, serving in various conference organization and program committees. He has written a book entitled "Object-Oriented reengineering Patterns"

Software Evolution Analysis: A Step Towards Software Quality

Harald Gall

Talk at IBM Zurich Research Lab, Rueschlikon, CH
Sept 02, 2005

Abstract:
[...] In this talk, we describe the investigation of software evolution by taking a first step towards reflecting the analysis results against software quality attributes. Different kinds of analyses (from architecture to code) and their interpretation will be presented and discussed in relation to quality attributes. This will show our vision of where such evolution investigations can lead and how they can support development. For that, the talk will touch issues such as meta-models for evolution data, data analysis and history mining, software quality attributes, as well as visualization of analysis results. The goal is also to outline future research in software quality analysis based on evolution data.

Software Evolution: Analysis and Visualization

Harald Gall

Talk at University College London, UK, Software Systems Engineering Group
July 21, 2005

Abstract:
[...] In this talk, we describe the visualization of software evolution by taking advantage of this logical coupling introduced by modifications and bug fixes over time. We show different views on the evolution of a software system: (a) views based on quantitative analysis of growth and change rates; (b) dependencies introduced by logical couplings and their visualization; (c) feature evolution views; and (d) integrated views that combine several evolution metrics. As a result, our approach helps to uncover hidden dependencies between software parts and presents them in easy-to-assess visual form. Such visualizations can indicate locations of design erosion in the architectural evolution of a software system. We have applied our approach to several large software systems including Mozilla and its CVS and Bugzilla data to show the effectiveness of our approach.

Visualizing Multiple Evolution Metrics

Martin Pinzger

Talk at IBM Zurich Research Lab, Rueschlikon, CH
April 22, 2005

Abstract:
[...] We introduce the RelVis visualization approach that concentrates on providing integrated condensed graphical views on source code and release history data of up to *n* releases. Measures of metrics of source code entities and relationships are composed in Kiviat diagrams as annual rings. Diagrams highlight the good and bad times of an entity and facilitate the identification of entities and relationships with critical trends. They are the potential refactoring candidates that should be addressed first before further evolving the system. Concerning the demonstration of the RelVis approach we report on our findings yielded from the case-study with the open source project Mozilla. We present RelVis views on Mozilla's content and layout modules that sketch the evolution of various measures across 7 selected major releases and point out the critical elements.