Back to list of tutorials
T1 : Models and Aspects – Handling Cross-Cutting Concerns in Model-Driven Software Development
Date |
Monday, March 20, 2006 morning (half day) |
Presenters |
Markus Voelter |
Level |
Intermediate:
Basic Understanding of AO concepts as well as MDSD/MDA techniques |
Abstract
Aspect Oriented Software Development (AOSD) as well as Model-Driven
Software Development (MSDD) are both becoming more and more important
in modern software engineering. Both approaches attack important problems
of traditional software development. AOSD addresses the modularization
(and thus, reuse) of cross-cutting concerns (CCC). MDSD allows developers
to express structures and algorithms in a more problem-domain oriented
language, and automates many of the tedious aspects of software
development.
But how do the two approaches relate? And how, if at all, can they be used
together? This tutorial looks at both of these questions. The first one – how
AOSD and MDSD relate – is discussed in the first part of the tutorial.
The second, and main part of the tutorial introduces six patterns of how
MDSD and AOSD can be used together. These include:
- Using Code Generation Templates to handle CCC
- Using AO techniques in template languages
- Using the platform to handle CCC
- Using suitable, pattern-based design to handle CCC
- Generating pointcuts to be woven with the system
- Using aspect orientation to structure models (AO modelling)
All the patterns are illustrated with practical real-world examples taken from
various model-driven software development projects.
Biographies
Markus Völter works as an independent consultant and coach for software
technology and engineering. He focuses on software architecture,
middleware as well as model-driven software development. Markus is the
author of several magazine articles, patterns and books on middleware and
model-driven software development. He is a regular speaker at conferences
world wide. Markus can be reached at voelter at acm dot org via or
www.voelter.de.
Summary of teaching experience:
Markus has given various tutorials and presentations at conferences worldwide
(with a focus in Germany); among them OOP, JAOO, JAX, OOPSLA and
ECOOP. A complete listing can be found at www.voelter.de/conferences. He has also given lectures at the University of Applied Sciences, Ulm.
Edited by the AOSD Conference Committee. Send comments to: webmasteraosd.net
|