'

Models Everywhere

The move from procedural technology to object technology may have triggered a more radical change in our way of considering information systems and of conducting software engineering operations. One of the possible evolution paths is called model engineering. It consists in giving a first-class status to models and model elements, similarly to the first class status that was given to objects at the beginning of the object technology era. We face today a multiplicity of models. The information engineer or the software engineer are usually working with several different ones at the same time, i.e. with models of different semantics. The executable source code is no more the main and central reference. Product models are arranged in complex organization networks. They are produced and used in precise methodological frameworks, sometimes themselves defined by other models (process models). The OMG has recently recognized this move by elaborating a new vision called MDA (Model-Driven Architecture). This is an important departure from the previous OMA vision (Object Management Architecture). It takes into account that several middleware platforms are now available (DotNet, Java, Web, Corba, etc.) and that striving to make one of them "e;dominant"e; would be rather pointless. Building direct bridges between these platforms does not seem very appealing either.

The suggested approach consists in changing the abstraction level and proposing middleware-targeted transformation for these high level models. Going in this direction amounts to organizing descriptive and operational knowledge, used and produced by information engineers, in a regular framework. Several key technologies are playing together to make this framework usable. The UML language itself plays the previous role of IDL by allowing creating consensus among various platform or end-user groups. The exact degree of precision may be reached by adding a dose of OCL to each UML model. Other meta-models can be created within the 4-layers framework defined by the MOF (Meta-Object Facility). The corresponding models and meta-models may be exchanged by using the XML Model Interchange Format (XMI). The product and process models can be expressed within the same uniform framework, as may the variants of meta-models (profiles) or the transformation themselves.

Software processes may be expressed and later enacted in the context of the UPM/SPEM (Unified Process Model / Software Process Engineering Model). Legacy systems and transformation rules may be exposed in the context of the CWM (Common Warehouse Metadata). Several efforts are presently underway to populate the framework with a set of meta-models and profiles (Action Semantics, EDOC, Agents, Workflow, etc.).

A new landscape of practical techniques for managing information systems is thus rapidly emerging and the tools are themselves becoming available. This new situation will be illustrated and discussed at in detail in the tutorial. '