Tutorial at MoDELS 2009: Model-Driven Software Development with Ontologies

Tutorial at MoDELS 2009: Model-Driven Software Development with Ontologies

From: Fernando Silva Parreiras <fparreiras_at_b2i.com.br>
Date: Mon, 24 Aug 2009 12:58:56 +0200
Message-ID: <4A927270.8010907@b2i.com.br>
   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
56070, Germany

^2 Department of Computing Science, The University of Aberdeen Aberdeen
AB24 3UE

^3 Institute for Software-and Multimedia-Technology, TU Dresden D-01062
Dresden, Germany
christian.wende@tu-dresden.de, uwe.assmann@tu-dresden.de


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 [5] 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
     and Transition.

     /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>.

     Tutorial Outline

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
       class description.
     * 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
       (item 5).

       Demystifying OWL.

     * Contextualizing OWL in MDSD. OWL complements existing standards
       like UML, OCL and can be used with these standards in an
       integrated way.
     * 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

       Case Studies.

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
management respectively.


     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
     Working Group.

     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
     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
       http://www.w3.org/TR/2009/ WD-owl2-overview-20090327//.
    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
       (2008) 89–104
    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.
       (September 2008)
Received on Mon 24 Aug 2009 - 11:59:17 BST