: Thursday Morning Tutorials (8:30 - 12:00) : Thursday
Models and Aspects: How to use MDSD and AOSD together
Royal Palm Salon 5
Thursday, 8:30, half day
Markus Voelter, Independent Consultant
Martin Lippert, it-agile GmbH
Tutorial number: 46
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 range from using code generation templates as a simple means to separate concerns to using aspect-oriented modeling concepts to separate concerns in the models. All the patterns are illustrated with practical real-world examples taken from various model-driven software development projects.
Intermediate: Attendees must have a solid understanding of object-orientation. Basic understanding of MDSD and AOSD concepts are useful.
Markus Voelter, Independent Consultant: Markus Voelter works as an independent consultant, coach and trainer for software technology and engineering. He focuses on software architecture, middleware as well as model-driven software development. Over the last years, Markus has worked on several model-driven software development projects in the enterprise and embedded world. Examples include banking, automotive and radio astronomy. Markus is a regular speaker at the relevant national and international conferences. For example, he has presented at ECOOP, OOP, OOPSLA, ACCU. Markus is the (co-)author of several patterns, many magazine articles as well as several books on middleware, model-driven software development and software architecture.
Martin Lippert, it-agile GmbH: Martin Lippert is a consultant and coach for software engineering technology and agile development methods. He focuses on software development on top of the Eclipse platform, refactoring, extreme programming and aspect-oriented programming. He worked for the AspectJ project at PARC as an intern during the summer of '99 and has given a number of talks, tutorials and demonstrations on various topics of software engineering at international conferences. For example, he has presented a technical article on error detection and handling using Aspect-Oriented Programming at ISCE and has given demonstrations of an AspectJ-enabled Eclipse Runtime technology he is working on at OOPSLA and AOSD.