OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"MDA and Other Model-Oriented Technologies"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 
  > Technical Program > Tutorials > All Tutorials

 : Monday Morning Tutorials (8:30 - 12:00) : Architecture and the Enterprise : Generative Programming : Monday

MDA and Other Model-Oriented Technologies

Meeting Room 10
Monday, 8:30, half day
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Krzysztof Czarnecki, University of Waterloo:  Krzysztof Czarnecki is an Assistant Professor at the University of Waterloo, Canada. Before coming to Waterloo, he spent 8 years at DaimlerChrysler Research working on the practical applications of generative programming (GP). He is co-author of the book "Generative Programming" (Addison-Wesley, 2000), which is regarded as founding work of the area and is used as a graduate text at universities around the world. He was General Chair of the 2003 International Conference on Generative Programming and Component Engineering (GPCE). His current research focuses on realizing the synergies between GP and MDA.
David S. Frankel, David Frankel Consulting:  David Frankel Consulting, 741 Santiago Court , Chico, CA 95973 USA, Phone +1 (530) 893-1100
Petter Graff, Inferdata Corporation:  Petter Graff is Vice President of InferData Corporation. He has developed object-oriented systems for more than 20 years. At InferData, his focus is in object-oriented component development, software architectures and advanced implementation techniques for enterprise applications. He created one of the first model transformation tools (MCC) and is currently responsible for the development of InferData's next generation agent based model transformation tool. Petter is also coauthoring an upcoming book on Model Driven Development.

Tutorial number: 23

Today, application development still remains a laborious process with relatively little reuse and automation. Application programmers have to manually map their high-level analysis models to target platform architectures such as J2EE and .NET and eventually to code. Rather than focusing on the problem domain, they have to deal with the complex details of the target platforms. The analysis and design models—being just additional documentation artifacts—are often not properly maintained in the face of approaching deadlines. This makes the applications hard to evolve later. Retargeting an application to a new platform is almost as difficult as writing it from scratch.

Model-Driven Architecture (MDA) is a set of standards being defined by the Object Management Group (OMG) that aims at promoting interoperability among model-oriented tools that address the above-mentioned problems. In MDA, models are not merely design artifacts; they are part of the primary source of an application. Many other artifacts such as code, tests, and documentation are (completely or partially) automatically derived from models.

In this tutorial, we will take a critical look at the promises made by MDA and clearly distinguish what is possible today from the visions of tomorrow. After explaining basic MDA concepts such as metamodeling and model transformations, we'll discuss tool requirements and review some existing MDA tools. We'll also examine other model-oriented approaches that are not based on the MDA standards, such as Microsoft's modeling technology. We'll round up the tutorial with a demo of generating a complete J2EE and .NET application from the same high level UML model.

Intermediate: This tutorial aims at software developers, architects, and researchers interested in ways to automate application development. Attendees should have basic knowledge of UML.