Model-Driven Software Development with Ontologies
Tutorial at MoDELS 2009, Denver, Colorado
Fernando Silva Parreiras^1 , Christian Wende^3 , Jeff Z. Pan^2 , and Uwe
^1 ISWeb — Information Systems and Semantic Web, Institute for Computer
Science, University of Koblenz-Landau Universitaetsstrasse 1, Koblenz
^2 Department of Computing Science, The University of Aberdeen Aberdeen
^3 Institute for Software-and Multimedia-Technology, TU Dresden D-01062
The tutorial aims at enabling attendees to fully appreciate the
application of ontologies in MDSD. More specifically, the objectives of
the tutorial are:
* to demystify OWL subjects like open world assumption, close world
assumption, complexity and performance issues;
* to enlighten the role of OWL in Model-Driven Engineering,
positioning it among other languages like UML, MOF and OCL.
* to provide application scenarios of ontology technologies.
To illustrate these application scenarios, we list some applications of
OWL ontologies and automated reasoning as follows:
/Improving General Purpose Software Design Patterns/. We have
explored how to improve the Strategy Pattern and Abstract Factory
with ontologies in  and we are able to provide improvements to
the Visitor Pattern and to the Bridge Pattern as well.
/Metamodeling/. OWL facilitates the way of defining expressions that
are not expressible in OCL when property transitivity is required,
e.g., in specifying constructs like Activity, State, StateMachine
/Ontology-based domain-specific languages/. Domain specific
languages (DSL) may apply dynamic classification to recommend domain
concepts to novice DSL users (who may not be aware of suitable
domain classes). DSL users may execute queries that, based on OWL
classes, dynamically classify content
/Using ontologies with variability management at runtime/. In software
product line engineering, ontologies describe variants and variant
constraints and tools like the featureMapper
<http://www.featuremapper.org> use owl reasoners to check the validity
of variants. We currently investigate this and other application
scenarios under the EU project MOST <http://www.most-project.eu>.
In the following, we present the extended outline for the tutorial:
What are ontologies and what can they do for MDSD?
* OWL as class description language. With OWL, one can describe
classes in different ways: class identifier, exhaustive
enumeration of individuals, property restrictions, intersection of
class descriptions, union of class descriptions, complement of a
* UML vs. OWL. While UML allows for describing static and dynamic
aspects of software, OWL is a logical class definition language
that is more expressive than UML class-based modeling, allowing
for dynamic specification of specialization and generalization of
classes and relationships.
* Areas of application. We give an overview of OWL applications in
MDSD areas like metamodeling, software design patterns, domain
specific languages and variability management. We detail these
applications by the end of the tutorial when we present use cases
* Contextualizing OWL in MDSD. OWL complements existing standards
like UML, OCL and can be used with these standards in an
* The role of world assumption. Semantic Web applications usually
adopt open world assumption while UML modeling adopt closed world
assumption. However, OWL can be used with open world assumption,
closed domain assumption or even closed world assumption. We
analyze when world assumption plays a role, how and when different
“world assumptions” can coexist and how to shift.
* Performance. OWL comprises a family of description logic
languages, called OWL profiles, with increasing expressiveness and
complexity. High performance reasoning techniques like TrOWL
<http://trowl.eu/> allows for reducing the complexity of a given
domain model, increasing performance.
* Expressiveness. OWL presents complementary constructs to UML and
OCL, allowing, for example, property transitivity, which is very
useful for querying large and complex models.
Reasoning with OWL in Models.
* Reasoning Services. OWL ontologies can be operated on by reasoners
providing services like consistency checking, concept
satisfiability, instance classification and concept
classification. The reasoner performs model checking such that
entailments of the Tarski-style model theory of OWL are fulfilled.
* OCL like query language. We present existing query languages for
OWL like SPARQL, and show how to extend and use OCL for writing
query operations and constraints that use reasoning services.
Integrating OWL in Model-Driven Software Development.
Developers have many languages for modeling OWL ontologies, like textual
notations [6, 7] or visual notations [8, 9]. Additionally, we present an
UML-based approach to model OWL ontologies together with UML Class
Diagrams, since integrating OWL and UML implies a need for integrated
We present case studies being developed under EU STReP MOST that use the
techniques introduced before. More specifically, we present two case
studies in the areas of domain-specific languages and variability
MSc. Fernando Silva Parreiras, University of Koblenz-Landau, pursues
his PhD since the beginning of 2006 under the supervision of Prof.
Dr. Steffen Staab at ISWeb Group at the University of
Koblenz-Landau, Germany, and has been investigating the integration
of MDA and Ontology in the scope of the project TwoUse
<http://isweb.uni-koblenz.de/Projects/twouse> (Transforming and
Weaving Ontologies and UML in Software Engineering) ever since. His
related publications include papers in ESEC/FSE’2007,
Modellierung’2008, ER’2008. He has been served as program committee
member of workshops like WOMSDE, ONTOSE and SWESE, as organizer of
the TWOMDE <http://isweb.uni-koblenz.de/events/TWOMDE2008/>workshop
and as assistant researcher for the EU project MOST.
Dipl.-Inf. Christian Wende is PhD. student of Prof. Uwe Amann at the
Software Technology Group at Dresden University of Technology,
Germany. From 2007 till the beginning of 2009 he was involved in the
German national project feasiPLe, investigating the application of
domain-specific languages and model-driven techniques within
product-line engineering. Christians research focuses the
combination of techniques from product-line engineering, role-based
modeling and software composition for the modular design and
implementation of languages and language tooling. In the beginning
of 2009 he joined the MOST project where he is investigting the
integration of ontologies with software and language engineering.
His related publications include papers and tool demonstrations in
AOPLE’2007, VISPLE’2008, ICSE’2008, and ECMDA-FA’2009.
Prof. Dr. Jeff Z. Pan, University of Aberdeen, received the PhD
degree in computer science from The University of Manchester in
2004. He has been a Lecturer of Computing Science at the University
of Aberdeen, UK, since 2005. His current research focuses primarily
on the design of logics and ontology languages, automated reasoning,
ontology reuse and usability, as well as the applications (such as
in the Semantic Web, multimedia and software engineering) of all the
above. Dr. Pan is an Associate Editor of the Journal of Advances in
Artificial Intelligence and serves as a guest editor of special
issues of international journals, such as the Journal of Logic and
Computation and the Journal of Data Semantics. Dr. Pan has published
widely in leading journals and conferences related to ontology and
the Semantic Web and is co-coordinator of both the Software
Engineering Task Force and the Multimedia Annotation on the Semantic
Web Task Force in the W3C Semantic Web Best Practices and Deployment
Prof. Dr. Uwe Assmann, Dresden University of Technology, received
his PhD from Universit¨at Karlsruhe in 1995. Since 2004, Uwe Assmann
holds the chair of Software Engineering at Technische Universit¨at
Dresden. One focus of the group in Dresden is model-driven software
development (MDSD), in particular in combination with Semantic Web
technology. In June 2004, Uwe Assmann organized one of the first
European workshops on MDA, Foundations and Applications (MDAFA
2004). In 2005, this workshop joined forces with others to the
“European Conference on MDA -Foundations and
Applications”(ECMDA-FA). Assmann has served as project manager for
several EU projects (COMPARE, EASYCOMP, JOSES, HIDOORS, REWERSE,
MODELPLEX, MOST), several Swedish (SwebProd, RISE) and German
projects (SuReal, FeasiPLe). He frequently serves on program
committees (ECMDA-FA, TOOLS, AOSD, ECOOP, ICWE) and is a member of
the steering committee of Symposium on Software Composition (SC).
1. Gruber, T.R.: A translation approach to portable ontology
specifications. Knowledge Acquisition 5(2) (1993) 199–220
2. Staab, S., Studer, R., eds.: Handbook on Ontologies. International
Handbooks on Information Systems. Springer (2004)
3. W3C OWL Working Group: OWL 2 Web Ontology Language Document
Overview. W3C Working Draft 27 March 2009 Available at
4. McGuinness, D.L.: Configuration. In: The Description Logic
Handbook. Cambridge University Press (2003) 397–414
5. Silva Parreiras, F., Staab, S., Winter, A.: Improving design
patterns by description logics: A use case with abstract factory
and strategy. In: Modellierung 2008. Volume P-127 of LNI., GI
6. Horridge, M., Drummond, N., Goodwin, J., Rector, A., Stevens, R.,
Wang., H.: The Manchester OWL Syntax. In: OWL: Experiences and
Directions (OWLED) 2006, Athens, Georgia, USA (November 2006)
7. Motik, B., Patel-Schneider, P.F., Parsia, B.: OWL 2 Web Ontology
Language: Structural Specification and Functional-Style Syntax.
W3C Working Draft 02 December 2008
8. Brockmans, S., Haase, P., Hitzler, P., Studer, R.: A metamodel and
UML profile for rule-extended OWL DL ontologies. In: Proc. of ESWC
2006. Volume 4011 of LNCS., Springer (2006) 303–316
9. OMG: Ontology Definition Metamodel. Object Modeling Group.
Received on Mon 24 Aug 2009 - 11:59:17 BST