Tutorial 1: Sun, Oct 4, 2009, 8:30-12:30
Model-Driven Software Development with Ontologies
Canceled
Presenters
- Fernando Silva Parreiras, University of Koblenz-Landau, parreiras@uni-koblenz.de
- Christian Wende, TU Dresden, christian.wende
- Jeff Z. Pan, The University of Aberdeen, jpan@csd.abdn.ac.uk
- Uwe Assmann, TU Dresden, uwe.assmann@tu-dresden.de
Abstract
With the expansion of Model-Driven Software Development (MDSD),
ontology technologies like knowledge representation, automated
reasoning, dynamic classification and consistency checking play an
important role in leveraging disciplines like metamodeling, and
domain-specific languages. This tutorial enlightens the application of
ontology technologies in MDSD and provides application scenarios in
areas like software design patterns, domain-specific languages and
variability management.
Ontologies provide shared domain conceptualizations representing knowledge by
a vocabulary and, typically, logical definitions to model the problem domain
as well as the solution domain. Among ontology languages, the Web Ontology
Language (OWL) is the most prominent for Semantic Web applications, providing a class definition language for ontologies.
Indeed, OWL provides important features complementary to UML
class-based modeling and OCL that improve software modeling: 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.
OWL has been applied in the form of Description Logic languages to
achieve improvements on the maintainability and extensibility. 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 in large domains.
Top
Tutorial 2: Sun, Oct 4, 2009, 2:00-5:00
Textual Modeling and Language Composition
Canceled
Presenters
- Markus Völter, Independent Consultant for itemis, voelter@acm.org
- Eelco Visser, Delft University of Technology, visser@acm.org
Abstract
Textual languages are becoming more mainstream in MDD. They have a
couple of advantages: developers know how to efficiently work with
text, and there is a lot of existing infrastructure for text
artifacts. However, they also have their challenges. Traditional
parser technology limits composability of language fragments. And
structural, cause-effect or timing relationships are often best shown
graphically.
In this tutorial we will provide an overview of the state of the art of
textual DSLs. We will explain the challenges above and how they are
resolved by a representative sample of existing (open source) tools:
Eclipse TMF, the Syntax Definition Formalism SDF, and JetBrains'
MPS. Attendees will be able to judge for themselves which technology
is best for their context.
TMF plays the role of a traditional, parser based framework that is
productionready, integrated with a mature platform and easy to
use. SDF represents leading edge parser technology and showcase
language modularization based on parsers. MPS represents
projectional/syntax directed editing where no parsing is necessary and
hence language modularization is simple.
We will also briefly address the topic of visualization,
i.e. generating graphical views of textual models using renderers like
Graphviz, Eclipse ZEST, XMind and Ubigraph.
Top
Tutorial 3: Mon, Oct 5, 2009, 8:30-5:00
Effective Model Driven Engineering Patterns Principles and Practices in Action Canceled
Presenters
- Bruce Trask, MDE Systems Inc., bruce.trask@mdesystems.com (contact presenter)
- Angel Roman, MDE Systems Inc., angel.roman@mdesystems.com
Abstract
Model Driven Engineering (MDE) brings together multiple technologies
and critical innovations and formalizes them into the next wave of
software development methods. This tutorial will cover the basic
patterns principles and practices of MDE and will cover complete
concrete examples of the development process of MDE languages and
tools. The three main MDE categories include the development of Domain
Specific Languages (DSL), Domain Specific Editors (including both
Visual and Textual Languages) and Domain Specific Transformation
Engines or Generators. Expressed in terms of language development
technology, these mirror the development of the Abstract Syntax,
Concrete Syntax and Semantics of new Domain Specific Languages. This
tutorial will cover the basic effective patterns, principles and
practices for developing these MDE software artifacts. The tutorial
will show how to apply these concepts as effective means with which to
both raise levels of abstraction and domain specificity and thus
increase power and value of tools and languages that allow developers
to tackle the complexities of today's software systems. It will also
show how to effectively leverage abstraction without sacrificing the
ability to robustly and precisely refine these abstractions to solve
real world problems. Additionally, this tutorial will cover the exact
details of how to leverage a real world Language Workbench to support
the development of these three areas. This example Language Workbench
comes from the industrial strength commercial quality Eclipse Modeling
project and includes the Eclipse Modeling Framework (EMF), the Eclipse
Graphical Editor Framework (GEF), and the Eclipse Graphical Modeling
Framework (GMF) as well as others. These three frameworks provide a
unique and integrated platform in which to learn the basics of Model
Driven Engineering in full application not just in theory.
This is a full day tutorial broken into three parts. The first part
covers core MDE definitions and concepts and their applicability in
the unique context of today's complex software systems. The second
part covers the anatomy of Language Workbenches with specific and
concrete detailed examples from the Eclipse Modeling Project. The
third part integrates all the concepts and tools and creates a Domain
Specific Modeling Language for a real world platform. The target
platform will be the recently released Android Mobile platform.
Top
Tutorial 5: Tue, Oct 6, 2009, 2:00-6:00
Model Driven Language Engineering
Presenters
- Jean-Marc Jézéquel, IRISA (INRIA & Univ. Rennes 1), jezequel@irisa.fr
- Franck Fleurey, SINTEF, fleurey@gmail.com
Abstract
In many domains such as aerospace and automotive industries, engineers
rely on Domain Specific Modeling Languages (DSML) to solve the complex
issues of engineering safety critical software. Traditional Language
Engineering starts with the grammar of a language to produce a variety
of tools for processing programs expressed in this language. Recently
however, many new languages tend to be first defined through metamodels,
i.e. models describing their abstract syntax. Relying on well tooled
standards such as E-MOF, this approach makes it possible to readily
benefit from a set of tools such as reflexive editors, or XML
serialization of models. This tutorial aims at showing how Model
Driven Engineering can easily complement these over-the-shelf tools to
obtain a complete environment for such a language, including
interpreter, compiler, pretty-printer and customizable editors. We
illustrate the conceptual simplicity and elegance of this approach
using the running example of the well known LOGO programming language,
developed within the Kermeta environment.
Top