OCL complements the UML by providing a language for formally expressing the constraints of a model, a facility useful in user models as well as in the definition of the UML itself. Jos and Anneke provide a comprehensive and much-needed reference to this formalism.--Grady Booch, Ivar Jacobson, James Rumbaugh The Object Constraint Language (OCL) is a new notational language, a subset of the industry standard Unified Modeling Language, that allows software developers to write constraints over object models. These constraints are particularly useful, as they allow a developer to create a highly specific set of rules that governs the aspect of an individual object. As many software projects today require unique and complex rules that are written specifically for business models, OCL is fast becoming an integral facet of object development. This book is a practical guide to OCL for software architects, designers, and developers. Because it is designed for ease and usability, OCL is likely to gain broad acceptance. Much care has been taken during the design of OCL to ensure that the syntax is readable and writable by the average software modeler. The straightforward nature of OCL makes it a natural candidate to supersede current constraint languages. The authors' pragmatic approach and illustrative use of examples will help application developers to get up to speed quickly with this important object modeling method. Other highlights: *Detailed instruction explains how and why to use OCL, showing its relation to UML *Illuminating case study demonstrates several UML diagrams and corresponding constraints *Provides keen insight from the primary author of the OCL standard portion of the UML 1.1 standard of the OMG 0201379406B04062001
Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.
C/C++ programmers commonly use assert statements to ensure program values are within range. You may be surprised to learn that the ability to model such constraints is now built into the Unified Modeling Language (UML) v. 1.1 in the form of the Object Constraint Language (OCL). The Object Constraint Language shows that with simple, elegant OCL statements, a UML design can be made more logically robust and easy to understand.
The book begins with the ideas behind OCL, that it must model constraints as simply as possible. (Early formal languages such as Z and Larch often relied on mathematical symbols; not so with OCL.) The authors show that OCL can be used to model invariants (which apply conditions to classes) and in pre- and postconditions, which can be used to constrain operations of a class.
The second chapter models a simple credit card bonus program (where credit card users can earn bonus points for using their cards according to known rules). This example is good because it lets the authors show how limiting conditions can enhance a UML design. They introduce the basic data types available in OCL, as well as collections of objects such as sets, bags, and sequences.
Further sections cover advanced features, including working with collections and resolving ambiguous conditions. The authors provide hints for using OCL effectively, as well as extending OCL in new ways. (The motto here is simplicity first.) A handy appendix on OCL ensures that this very concise--yet useful--guide will bring the reader up to date on an important capability available in today's UML standard. --Richard DraganFrom the Inside Flap:
In November 1997, the Object Management Group (OMG) set a standard for object-oriented analysis and design facilities. The standard, known as the Unified Modeling Language (UML), includes model diagrams, their semantics, and an interchange format between CASE tools. Within UML, the Object Constraint Language (OCL) is the standard for specifying invariants, preconditions, postconditions, and other kinds of constraints.
The only way we can gain anything from a standard is if everyone uses it. Therefore, any standard should be easy to use, easy to learn, and easy to understand. These objectives were our guidelines during the development of OCL.
OCL can be called a "formal" language, but unlike other currently available formal languages such as Objective-Z or VDM++, OCL is not designed for people who have a strong mathematical background. The users of OCL are the same people as the users of UML: software developers with an interest in object technology. OCL is designed for usability, although it is underpinned by mathematical set theory and logic.
Our objective in writing this book is to offer to practitioners of object technology a convenient way to become acquainted with and make use of this part of the UML standard. By writing this book we intend to make OCL available to everyone who can benefit from it. Using, learning, and communicating with OCL should be easy, and this book is an effort to make it easy.
With this book we emphasize the importance of constraints in object-oriented analysis and design and the importance of a formal, separate language for constraint notation. Please take OCL and use it well, so that the whole object-oriented community will gain from your efforts. Acknowledgments
Although on the cover of any book only the names of the authors appear, a book is always the result of the blood, sweat, and tears of many people. For their efforts in reviewing this book we would like to thank Balbir Barn, Steve Cook, Wilfried van Hulzen, John Hogg, Jim Odell, and Cor Warmer. Special thanks go to Heidi Kuehn, who did a great job polishing our English.
Acknowledgments for their contributions to OCL must undoubtedly go to the following:
The IBM team that developed the first version of OCL: Mark Skipper, Anna Karatza, Aldo Eisma, Steve Cook, and Jos Warmer.
The joint submission team from IBM and ObjecTime. The ObjecTime team was composed of John Hogg, Bran Selic, and Garth Gullekson, and the IBM team consisted of Steve Cook, Dipayan Gangopadhyay, Mike Meier, Subrata Mitra, and Jos Warmer. On an individual basis, Marc Saaltink, Alan Wills, and Anneke Kleppe also contributed.
The UML 1.1 team, especially the semi-formal subgroup of the UML core team: Guus Ramackers, Gunnar Overgaard, and Jos Warmer.
Several people who influenced OCL during this period, most notably Desmond D'Souza, Alan Wills, Steve Cook, John Hogg, and James Rumbaugh.
The many persons who gave their feedback on the earlier versions of OCL.
We would also like to thank all our teachers, colleagues, clients, and friends who in the past 15 years made us aware of the need for a practical form of formalism in software development. Coming from a theoretical background (mathematics and theoretical computer science), we have always found sound formalisms appealing, but very early in our careers we decided that writing a two-page "proof" for five lines of code is not the right way to improve our software. We have been searching ever since for a way to combine our love for sound and complete formalisms with our sense of practicality. We hope and expect that OCL will turn out to be just that: a practical formalism. Anneke Kleppe and Jos Warmer
October 1998, Soest, Netherlands
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.
Descrizione libro Addison-Wesley Professional, 1998. Paperback. Condizione libro: New. Codice libro della libreria P110201379406