
Ebook: Semantic Web Enabled Software Engineering

Over the last decade, ontology has become an important modeling component in software engineering. Semantic Web Enabled Software Engineering presents some critical findings on opening a new direction of the research of Software Engineering, by exploiting Semantic Web technologies. Most of these findings are from selected papers from the Semantic Web Enabled Software Engineering (SWESE) series of workshops starting from 2005. Edited by two leading researchers, this advanced text presents a unifying and contemporary perspective on the field.
The book integrates in one volume a unified perspective on concepts and theories of connecting Software Engineering and Semantic Web. It presents state-of-the-art techniques on how to use Semantic Web technologies in Software Engineering and introduces techniques on how to design ontologies for Software Engineering.
It seems like ages ago when I stared out of a window facing the spectacular Monterrey Bay mid-afternoon, watching a couple of dolphins play in the surf, mulling over presentation slides from the EDOC 2004 (IEEE Enterprise Computing) workshop on Model-Driven Semantic Web. The aim of the workshop is to bridge knowledge representation and Model Driven Architecture (MDA) methodology
See http://www.omg.org/mda/. The ODM1.0 Specification is available at http://www.omg.org/spec/ODM/1.0/.
Today we continue to challenge one another as we integrate changes to support OWL 2, revising the mappings to take advantage of a new generation of Query, Views, and Transformation (QVT)
See http://www.omg.org/spec/QVT/1.1/.
Independently, starting at about the same time as we launched our ODM effort at the Object Management Group Jeff Z. Pan, Evan Wallace, Phil Tetlow, Holger Knublauch, Mike Uschold, and others in the Semantic Web Best Practices and Deployment working group started thinking about applying semantics to Software Engineering, with Jeff and Phil being the coordinators of this W3C Software Engineering task force. I met Jeff face to face for the first time in Galway in 2005, just prior to our first Semantic Web Enabled Software Engineering (SWESE) workshop, but had been talking with him and others about semantically enabled Software Engineering for more than a year by then, within the W3C task force. Between the discussions in the task force and how well the EDOC workshop was received, we realized that we had an opportunity and, in fact, a responsibility, to nurture and grow the community. Thankfully, Jeff was happy to participate as an organizer, and has been instrumental in promoting and managing the workshop since. The work that he and his colleagues, including Yuting Zhao, who jumped into the SWESE effort a couple of years later, have done on the EU MOST (Marrying Ontology and Software Technologies) project on reasoning and guidance frameworks for ontology driven software development, has made a tremendous contribution to the SWESE series and to the state of the art.
SWESE provides a window on the work that people have done to bring Software Engineering and semantic technologies together to solve critical problems, including and since that first workshop; it represents the best thinking produced by the community over the course of the series. The material ranges from foundational – reminding us of the motivation, underlying technologies, and how we bridge the gap from semantics to Software Engineering and MDA in part I, to realization through a number of important, early projects in part II, and finally presents several supporting ontologies that continue to have relevance today in part III. The book represents acknowledgement of the start of something big. It reminds me of critical findings and foundational work that we need to continue to build on, as we prioritize development of the standards and best practices going forward. It is a cornerstone for new and evolving fundamental research and development, as well as instructional material for use in educating our peers and students.
Recently I attended an Object Management Group (OMG) technical meeting in Washington DC, the first held there in two years. On my way home, I thought back to the first OMG meeting I spoke at in 2001, and what a lunatic folks there thought I was at the time. I admit that they were probably right, but given how many people in banking and financial services, including government regulators, sat spellbound through a presentation on a new ontology project describing the capital market domain and its applications, I am finally feeling a bit like the Cheshire cat. And yet, I firmly believe that what we can do with semantics in Software Engineering is barely understood, still in its infancy from a research perspective. SWESE represents the proverbial tip of the iceberg. I am honoured to be counted among the contributors to this work and pleased to introduce it.
Elisa F. Kendall
Partner, Thematix Partners LLC
Co-Chair, OMG Ontology PSIG and Co-Editor, ODM
One of the most important decisions researchers face when analysing software systems is the choice of a proper data analysis/exchange format. In this paper, we present EvoOnt, a set of software ontologies and data exchange formats based on OWL. EvoOnt models software design, release history information, and bug-tracking meta-data. Since OWL describes the semantics of the data, EvoOnt (1) is easily extendible, (2) can be processed with many existing tools, and (3) allows to derive assertions through its inherent Description Logic reasoning capabilities. The contribution of this paper is that it introduces a novel software evolution ontology that vastly simplifies typical software evolution analysis tasks. In detail, we show the usefulness of EvoOnt by repeating selected software evolution and analysis experiments from the 2004–2007 Mining Software Repositories Workshops (MSR). We demonstrate that if the data used for analysis were available in EvoOnt then the analyses in 75% of the papers at MSR could be reduced to one or at most two simple queries within off-the-shelf SPARQL tools. In addition, we present how the inherent capabilities of the Semantic Web have the potential of enabling new tasks that have not yet been addressed by software evolution researchers, e.g., due to the complexities of the data integration.
The success of the Web service technology has brought topics such as software reuse and discovery once again on the agenda of software engineers. While there are several efforts towards automating Web service discovery and composition, many developers still search for services via online Web service repositories and then combine them manually. However, from our analysis of these repositories, it yields that, unlike traditional software libraries, they rely on little metadata to support service discovery. We believe that the major cause is the difficulty of automatically deriving metadata that would describe rapidly changing Web service collections. In this paper, we discuss the major shortcomings of current Web service repositories and, as a solution, we report on how to use techniques developed in the context of the Semantic Web (ontology learning, service annotation tools, automatic classifiers, metadata based presentation) to improve the current situation.