HOME
UNTERNEHMEN
LEISTUNGEN
PRODUKTE
PROJEKTE
IQGEN
NEWS
KONTAKT
iQgen News
About iQgen
Whitepaper
Prerequisites
Download
Pricing & Licence
Services
Performance
User's Guide
Getting Started
FAQ
Resources

Getting Started

[Previous] [Overview] [Next]

Introduction

This tutorial is designed to help you getting started with iQgen, innoQ's model centric code generator. If you have no idea what Model Driven Architecture is, we suggest you spend some time to read up on the topic on the Object Management Group's (OMG) website: http://www.omg.org/mda/ For the impatient developer, here is a short summary taken from the OMG's site:

The MDA is a new way of writing specifications and developing applications, based on a platform-independent model (PIM). A complete MDA specification consists of a definitive platform-independent base UML model, plus one or more platform-specific models (PSM) and interface definition sets, each describing how the base model is implemented on a different middleware platform. A complete MDA application consists of a definitive PIM, plus one or more PSMs and complete implementations, one on each platform that the application developer decides to support. MDA development focuses first on the functionality and behavior of a distributed application or system, undistorted by idiosyncrasies of the technology or technologies in which it will be implemented. MDA divorces implementation details from business functions. Thus, it is not necessary to repeat the process of modeling an application or system's functionality and behavior each time a new technology (e.g., XML/SOAP) comes along. Other architectures are generally tied to a particular technology. With MDA, functionality and behavior are modeled once and only once. Mapping from a PIM through a PSM to the supported MDA platforms will be implemented by tools, easing the task of supporting new or different technologies.

To put this into context: Actually MDA is a successor to the model driven generative approach which has been around since the early nineties. In the mid-nineties this generative approach failed partly due to the fact that code generators often had problems re-generating and merging artifacts. But that was only one reason for the artifacts of the development process to become inconsistent. The divergence of artifacts was a big problem and still is. It has to be addressed carefully with an appropriate process.

The novelty of MDA, which makes it so powerfull and promising, is the fact that there are well defined middleware standards like J2EE and CORBA. They and MDA together enable us to separate modelling concerns on the conceptual level rather than on a project or enterprise level. This means that there is a new chance for all of us to achieve long term technology independence and protection of investments. As mentioned by the OMG, tools are needed to support this process.

iQgen is one of these tools. With iQgen you can map your platform-independent model (PIM) through a platform-specific model to a platform like .NET or J2EE, but not limited to these. Thus the ingredients for successful model driven project are:

  • A platform-independent model (PIM),
  • a platform-specific model (PSM),
  • and of course a target platform
  • Platform-independent Model

    Not surprisingly you need to create the PIM somehow. The easiest way to do this is using a CASE tool. Just create a model and export it as XMI file with one of the supported tools.

    Platform-specific Model

    In order to transform your PIM into a working application you need to specify a platform-specific model. MDA covers the definition of UML profiles for specifying platform-specific models for current middleware standards. With iQgen these can be used implicitly and efficiently: by using templates. Future releases of iQgen will allow model transformations on PSM-basis explicitly.

    Target Platform

    Once you have a PIM and at least one set of templates, you can simply hit iQgen's generate button and your application will be generated for a given platform. How well this works depends on both the quality of the PIM and the templates.

    In order to successfully work with iQgen you need to understand how to model your platform-specific model, i.e. how to write templates. This will be covered in the next section of this tutorial.

    Copyright © 2001-2003 innoQ. Alle Rechte vorbehalten. Rechtliche Hinweise