Datasheet

14
Part I An Introduction to UML
Interfaces and components allow the modeler to work on a problem by focus-
ing on the connectivity and communication issues that can help solve that
problem. The implementation or even the internal design of a component can
be ignored temporarily until the bigger issues of policy, protocol, interface,
and communication requirements are resolved. Working at this higher level of
abstraction produces a model that later can be, and often is, implemented in
multiple environments.
Constraint language: The Object Constraint Language (OCL) provides the
syntax to define rules that insure the integrity of the model. Much of the con-
straint concept is borrowed from programming by contract, in which relation-
ships between model elements are defined in terms of the rules that govern
an interaction. When two parties enter into a contract, the terms of the con-
tract place obligations on the client (the person asking for a product or ser-
vice) and the supplier (the one providing the product or service). Constraints
called pre-conditions define what the client must do in order to have the right
to receive the product or service. Constraints also define the obligations the
supplier must fulfill if the client fulfills her part. These constraints are called
post-conditions or guarantees. Constraints can also apply to individual ele-
ments to define the domain of valid values. (See Chapter 18.)
Action semantics: The goal of UML has always been to model software as
accurately as possible. Modeling software means modeling behavior. The
action semantics extensions enable you to express discrete behaviors as
actions. Actions can transform information and/or change the system.
Furthermore, UML models actions as individual objects. As such, actions
may execute concurrently. In fact, that is their normal mode of execution
unless chained together to enforce sequential execution. Settling on concur-
rent execution as the norm better supports today’s distributed environments.
Action semantics is also a major contribution toward executable UML. (See
Chapter 19.)
Introducing UML 2.0
The next version of UML, 2.0, is due to be released sometime in 2003. Three propos-
als have been submitted. I have based the content of this book on those submis-
sions and my expectation that they will be adopted in whole or in part. Version 2.0
is a substantial improvement of the underlying architecture, cleaning up many of
the fundamental definitions and improving the alignment with the other key tech-
nologies sponsored by the OMG.
I’ve outlined some of the specific objectives for version 2.0 set forth in the RFP. I
don’t expect beginners to UML to understand them from these very brief descrip-
tions. The rest of this chapter explains many of the new terms. The rest of the book
is devoted to explaining how these concepts have been addressed in the diagrams
and in the semantics that support the diagrams. For those of you who have been
03 526049 Ch01.qxd 8/20/03 11:47 PM Page 14