Tutorial 5
Generative Programming and Component Engineering
Ontologies and Software Language Engineering
Dragan Gašević, Fernando Silva Parreiras, Tobias Walter
Abstract
Trying to advance the current practices for sharing data, resources and knowledge on the Web, the research community
has been researching challenges around the idea of the Semantic Web. The central component of the Semantic Web
are ontologies, commonly defined as formal and explicit definitions of shared domain conceptualizations. To have an
interoperable and standardized set of technologies, the Semantic Web research offered a stack of standards and tools
including automated reasoners and ontology languages, i.e.,
languages to describe formally a domain of discourse. This
stack of standards and tools is popularly called semantic
technologies. Among ontology languages, the Web Ontology
Language (OWL) [4] is the most prominent.
Mainly, due to the similarities in the design of OWL and
object-oriented languages, the research community started
exploring a potential synergy. Indeed, OWL provides important features complementary to UML class-based modeling and OCL that improve software languages: it allows
different ways of describing classes; it handles these descriptions as first-class entities; it provides additional constructs
like transitive closure for properties; and it enables dynamic
classification of objects based upon class descriptions.
The most notable work has been done on integrating ontologies and model-driven engineering, especially, for the tasks
related to model-driven language engineering. As the OWL
language is based on description logic, standard ontology
reasoners can be used for various types of processing of software languages such as consistency checking, constraint validation, and query processing and with applications in different software engineering areas such as component-based
software development, software product lines, or requirements engineering. For example, the knowledge encoded
in OWL evolves independently of the execution logic, i.e.,
developers maintain class descriptions in the ontology and
not in the software. Moreover, developers may use class
descriptions to semantically query the domain. Semantic
query plays an important role where shared terminologies,
interoperability and consistency detection are required.
Striving to introduce the basics and potentials for ontologies
for software language engineering, this tutorial aims to:
- define ontologies and the OWL language;
- describe basics of description logics-based reasoning designed for ontology languages;
- describe the current efforts on relations between the OWL language and languages such as UML, MOF and OCL; and
- illustrate applications of ontology-enhanced software
languages for software design patterns, software product lines, domain-specific languages, and software language refinement.
After the tutorial, participants will be able (1) to understand the concepts of ontologies, OWL language and its formal reasoning potentials; (2) to realize the valued added by ontology-enabled software languages and (3) to identify potential applications for semantic technologies in software
development and different software language engineering approaches other than those based on model-driven engineering principles.
References
[1] Gaševic, Dragan, Djuric, Dragan, Devedžic, Vladan. Model Driven
Engineering and Ontology Development. Springer,
Berlin, 2. edition, 2009.
[2] F. Silva Parreiras and S. Staab. Using Ontologies with
UML Class-based Modeling: The TwoUse Approach.
Data Knowl. Eng. in press.
[3] F. Silva Parreiras, S. Staab, and A. Winter. Improving
design patterns by description logics: A use case with
abstract factory and strategy. In Modellierung 2008,
volume P-127 of LNI, pages 89–104. GI, 2008.
[4] W3C OWL Working Group. OWL 2 Web Ontology
Language Document Overview. W3C Working Draft 27
March 2009. Available at
http://www.w3.org/TR/2009/WD-owl2-overview-20090327//.
[5] T. Walter, F. Silva Parreiras, and S. Staab. OntoDSL:
An Ontology-Based Framework for Domain-Specific
Languages. In Model Driven Engineering Languages
and Systems, 12th International Conference, MODELS
2009, volume 5795, pages 408–422. Springer, 2009.
Author bios
Fernando Silva Parreiras, pursues his PhD since the
beginning of 2006 under the supervision of Prof. Steffen
Staab. He is the leader of the Special Interest Group Software Web at the Web Science and Technology Institute
(WeST) at the University of Koblenz-Landau, Germany.
He has been investigating the integration of model-driven
engineering and Ontology in the scope of the EU project MOST. His related publications include papers in Modellierung’2008, ER’2008, ICSC’2009, MoDELS’2009 and ECMFA
2010. He has served as program committee member of conferences like SLE and and workshops like ONTOSE and
SWESE and as organizer of the TWOMDE workshop.
Dragan Gašević is a Canada Research Chair in Semantic Technologies and an Associate Professor in the School
of Computing and Information Systems at Athabasca University. He is also an Adjunct Professor in the School of
Interactive Arts and Technology at Simon Fraser University
and an associated research member of the GOOD OLD AI
Research Network at the University of Belgrade. He is a
recipient of Alberta Ingenuity’s 2008 New Faculty Award.
His research interests include semantic technologies, software language engineering, technology-enhanced learning,
and service-oriented architectures. He has (co-)authored
more than 200 research papers and delivered more than 10
tutorials at major conferences such as WWW, MODELS,
CAiSE, and ISWC. He has been serving on editorial boards
of three international journals and has edited special issues
in journals such as IET Software and IEEE TSE. He has
been the organizer, chair, and member of program committees of many international conferences.
Tobias Walter is PhD. student at the University of Koblenz-Landau under the supervision of Prof. Dr. Jürgen Ebert
and Prof. Dr. Steffen Staab. Currently he is member of
the Institute for Software Technology and the Institute for
Web Science and Technology. Here, his research focuses on
the combination of domain-specific modeling languages and
different ontology technologies. Further he is interested in
the design and use of new software modelling languages and
its implementation in tools. From 2008 he is contributing
to the MOST project where he is investigating the conceptual integration of Model-Driven Architecture (MDA) and
Ontologies. His related publications include papers at MoDELS’2009, ECMFA’2010, WC-DSL’2009, ICSC’2009 and different workshops.