Software Engineering

A Semantic Wiki Approach to Cultural Heritage Data Management

Abstract

Providing access to cultural heritage data beyond book digitization and information retrieval projects is important for delivering advanced semantic support to end users, in order to address their specific needs. We introduce a separation of concerns for heritage data management by explicitly defining different user groups and analyzing their particular requirements. Based on this analysis, we developed a comprehensive system architecture for accessing, annotating, and querying textual historic data. Novel features are the deployment of a Wiki user interface, natural language processing services for end users, metadata generation in OWL ontology format, SPARQL queries on textual data, and the integration of external clients through Web Services. We illustrate these ideas with the management of a historic encyclopedia of architecture.

Traceability in Software Engineering - Past, Present and Future

CASCON 2007 Workshop Report

IBM Technical Report: TR-74-211

October 25, 2007

Abstract

Many changes have occurred in software engineering research and practice since 1968, when software engineering as a research domain was established. One of these research areas is traceability, a key aspect of any engineering discipline, enables engineers to understand the relations and dependencies among various artifacts in a system.

A Unified Ontology-Based Process Model for Software Maintenance and Comprehension

Abstract

Process Sequence DiagramIn this paper, we present a formal process model to support the comprehension and maintenance of software systems. The model provides a formal ontological representation that supports the use of reasoning services across different knowledge resources. In the presented approach, we employ our Description Logic knowledge base to support the maintenance process management, as well as detailed analyses among resources, e.g., the traceability between various software artifacts. The resulting unified process model provides users with active guidance in selecting and utilizing these resources that are context-sensitive to a particular comprehension task. We illustrate both, the technical foundation based on our existing SOUND environment, as well as the general objectives and goals of our process model.

Keywords: Software maintenance, process modeling, ontological reasoning, software comprehension, traceability, text mining.

An Ontological Software Comprehension Process Model

Door in Genoa, Italy

Abstract

Comprehension is an essential part of software maintenance. Only software that is well understood can evolve in a controlled manner. In this paper, we present a formal process model to support the comprehension of software systems by using Ontology and Description Logic. This formal representation supports the use of reasoning services across different knowledge resources and therefore, enables us to provide users with guidance during the comprehension process that is context sensitive to their particular comprehension task.

Keywords: Software maintenance, program comprehension, process modeling, ontological reasoning

An Ontology-based Approach for the Recovery of Traceability Links

Abstract

Truck in Genoa, ItalyTraceability links provide support for software engineers in understanding the relations and dependencies among software artifacts created during the software development process. In this research, we focus on re-establishing traceability links between existing source code and documentation to support reverse engineering. We present a novel approach that addresses this issue by creating formal ontological representations for both the documentation and source code artifacts.

A Context-Driven Software Comprehension Process Model

Abstract

Process ModelComprehension is an essential part of software evolution. Only software that is well understood can evolve in a controlled manner. In this paper, we present a formal process model to support the comprehension of software systems by using Ontology and Description Logic. This formal representation supports the use of reasoning services across different knowl- edge resources and therefore, enables us to provide users with guidance during the comprehension process that is context sensitive to their particular comprehension task. As part of the process model, we also adopt a new interactive story metaphor, to represent the interactions between users and the comprehension process.

Keywords: Software evolution, program comprehension, process modeling, story metaphor, ontological reasoning

Ontology-based Program Comprehension Tool Supporting Website Architectural Evolution

Abstract

Program AnalysisA challenge of existing program comprehension approaches is to provide consistent and flexible representations for software systems. Maintainers have to match their mental models with the different representations these tools provide. In this paper, we present a novel approach that addresses this issue by providing a consistent ontological representation for both source code and documentation. The ontological representation unifies information from various sources, and therefore reduces the maintainers’ comprehension efforts. In addition, representing software artifacts in a formal ontology enables maintainers to formulate hypotheses about various properties of software systems. These hypotheses can be validated through an iterative exploration of information derived by our ontology inference engine. The implementation of our approach is presented in detail, and a case study is provided to demonstrate the applicability of our approach during the architectural evolution of a website content management system.

Keywords: Program Comprehension, Software Evolution, Ontology, Automated Reasoning

Tutorial: Applications for the Semantic Web

Description

The Semantic Web vision is considered the next generation of the Web that enables sharing data, resources and knowledge between parties that belong to different organizations, different cultures, and/or different communities. Ontologies and rules play the main role in the Semantic Web for publishing community vocabularies and policies, for annotating resources and for turning Web applications into inference-enabled collaboration platforms. After a short introduction into the basic concepts, standards, and tools of the Semantic Web, we present how today's Semantic Web tools, languages, and techniques can be used in various application. We first start from the use of the Semantic Web technologies for providing online educators with feedback about how their students use online courses in learning management systems. Next, we demonstrate the use of the Semantic Web technologies and text mining techniques to improve software development process and software maintenance. Finally, we explain the use of the Semantic Web technologies in multimedia-enhanced applications.

Empowering the Enzyme Biotechnologist with Ontologies

Introduction

The FungalWeb Ontology is a knowledge representation vehicle designed to integrate information relevant to industrial applications of enzymes. The ontology integrates information from established sources and supports complex queries to the instantiated FungalWeb knowledge base. The ontology represents prototype Semantic Web technology customized to the domain of industrial enzymes with a focus on enzyme discovery, commercial enzyme products and vendors, and the industrial applications and benefits of industrial enzymes. Using a series of application scenarios we demonstrate the utility of this 'Semantic Web' infrastructure to the enzyme biotechnologist.

Ontology Design for Biomedical Text Mining

Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences

Abstract

Text Mining in biology and biomedicine requires a large amount of domain-specific knowledge. Publicly accessible resources hold much of the information needed, yet their practical integration into natural language processing (NLP) systems is fraught with manifold hurdles, especially the problem of semantic disconnectedness throughout the various resources and components. Ontologies can provide the necessary framework for a consistent semantic integration, while additionally delivering formal reasoning capabilities to NLP.

In this chapter, we address four important aspects relating to the integration of ontology and NLP: (i) An analysis of the different integration alternatives and their respective vantages; (ii) The design requirements for an ontology supporting NLP tasks; (iii) Creation and initialization of an ontology using publicly available tools and databases; and (iv) The connection of common NLP tasks with an ontology, including technical aspects of ontology deployment in a text mining framework. A concrete application example—text mining of enzyme mutations—is provided to motivate and illustrate these points.

Keywords: Text Mining, NLP, Ontology Design, Ontology Population, Ontological NLP

Syndicate content