Information Technology Reference
In-Depth Information
1.7
The Right Tools for the Job
1.7.1
Reusing UML via UML4ODP
Although, as we indicated earlier, the ODP viewpoint languages are de-
fined in an abstract way without commitment to a particular concrete nota-
tion, we do need to select such a notation before we can write a real, useful
model. It does not matter particularly what notation we choose, as long as
our toolchain can handle it and integrate it with others already in use, but it
will help the designers to get started if the notation is already familiar.
UML [30] is currently the most popular modelling language in the industry,
and most designers have some familiarity with it. Its expressive power can
be increased by using the associated object constraint language (OCL) [36].
So why not use it here? The problem with UML as it stands is that it does
not support the separation of concerns we want, or the structuring concepts
ODP introduces to support it. UML has functional views, expressed in its
diagram types, but they are closely coupled, and there is a single hierarchical
namespace underpinning them. This makes the separation we want dicult
to achieve.
What about model-driven engineering, then? Many MDE prototypes use
UML for expressing their source and target models, don't they? Yes, they
do, but that's the point. They work by translating between quite separate
models, each with its own internal consistency and its own namespaces. The
transformations provide the level of decoupling that is needed (see chapter 15).
With the development of these technologies, and of an increasing number
of domain-specific dialects of UML, the originators of ODP returned to UML
and decided that, because it was now widely accepted, it could be used in
many cases to provide a familiar notation for the individual ODP viewpoint
specifications. In consequence, they produced a new standard, ISO 19793:
Use of UML for ODP system specifications, , or UML4ODP for short [22].
This standard provides a profile that maps the ODP concepts to the UML
notation, 3 so that they can be manipulated with conventional UML tools. A
suitable plug-in to a UML tool allows consistency checking across multiple
viewpoints.
Of course, ODP can be supported by other notations, tailored to other user
communities, such as business process designers, as long as a similar level of
tool integration can be achieved. However, in this topic we will keep things
simple and concentrate largely on the UML4ODP notation.
3 The UML4ODP standard is based on UML 2.1.1 [30].
 
Search WWH ::




Custom Search