rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780201379402

The Object Constraint Language: Precise Modeling with UML

by ;
  • ISBN13:

    9780201379402

  • ISBN10:

    0201379406

  • Format: Paperback
  • Copyright: 1999-01-01
  • Publisher: Prentice Hall
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $39.93

Summary

Provides a practical guide to OCL for software architects, designers, & developers. The author uses a pragmatic approach & illustrative use of examples that will help application developers to get up to speed quickly with this important object modeling method. Paper. DLC: Object-oriented methods (Computer science).

Table of Contents

Foreword xv(2)
Preface xvii(2)
Acknowledgments xvii(2)
Introduction xix
Who Should Read This Book xix(1)
How This Book Should Be Used xix(1)
Typeface Conventions xx(1)
Information on Related Subjects xx
Chapter 1 Why Write Constraints?
1(10)
1.1 Definition of Constraint
1(1)
1.1.1 Use of Constraints in Other Techniques
1(1)
1.2 Design by Contract
2(3)
1.2.1 Definition of Contract
2(1)
1.2.2 Contents of a Contract
3(1)
1.2.3 Advantages of Contracts
3(1)
1.2.4 Preconditions and Postconditions
4(1)
1.2.5 Invariants
4(1)
1.3 Advantages of Constraints
5(1)
1.3.1 Better Documentation
5(1)
1.3.2 Improved Precision
5(1)
1.3.3 Communication without Misunderstanding
5(1)
1.4 Declarative or Operational Constraints
6(1)
1.4.1 Advantages of a Declarative Language
6(1)
1.5 Notation: Natural Language or Mathematical Expressions
7(1)
1.6 Summary: Requirements for OCL
8(3)
Chapter 2 OCL Basics
11(10)
2.1 The "Royal and Loyal" System Example
11(3)
2.2 Putting Invariants on Attributes
14(1)
2.3 Putting Invariants on Associated Classes
15(1)
2.4 Dealing with Collections of Objects
15(2)
2.4.1 Sets, Bags, and Sequences
17(1)
2.5 Inheritance
17(1)
2.6 Working with Enumerations
18(1)
2.7 Writing Preconditions and Postconditions
18(1)
2.8 Where to Start Writing Invariants
19(1)
2.9 Broken Constraints
20(1)
2.10 Summary
20(1)
Chapter 3 The Complete Overview of OCL Constructs
21(36)
3.1 Types and Instances
21(1)
3.1.1 Value Types and Object Types
22(1)
3.2 OCL Expressions and OCL Constraints
22(1)
3.3 The Context of an OCL Expression
23(1)
3.3.1 The Context of an Invariant
23(1)
3.3.2 The Context of a Pre- or Postcondition
23(1)
3.3.3 The self Keyword
24(1)
3.4 Basic Types and Operators
24(5)
3.4.1 The Boolean Type
25(2)
3.4.2 The Integer and Real Types
27(1)
3.4.3 The String Type
27(2)
3.5 Model Types
29(9)
3.5.1 Attributes from the UML Model
30(1)
3.5.2 Operations from the UML Model
30(1)
3.5.3 Class Operations and Attributes from the UML Model
31(1)
3.5.4 Associations and Aggregations from the UML Model
32(1)
3.5.5 Association Classes from the UML Model
33(1)
3.5.6 Qualified Associations from the UML Model
34(1)
3.5.7 Using Package Names in Navigations
35(1)
3.5.8 Using Pathnames in Inheritance Relations
36(1)
3.5.9 Enumeration Types
37(1)
3.6 The Set, Bag, and Sequence Types
38(11)
3.6.1 Treating Instances as Collections
39(1)
3.6.2 Flattening Collections
40(1)
3.6.3 Operations on All Collection Types
40(1)
3.6.4 Operations with Variant Meaning
40(2)
3.6.5 Operations for the Set Type
42(1)
3.6.6 Operations for the Sequence Type
42(1)
3.6.7 Operations That Iterate over Collection Elements
43(1)
3.6.8 The select Operation
43(2)
3.6.9 The reject Operation
45(1)
3.6.10 The collect Operation
45(1)
3.6.11 Shorthand Notation for collect
46(1)
3.6.12 The forAll Operation
46(1)
3.6.13 The exists Operation
47(1)
3.6.14 The iterate Operation
48(1)
3.7 Constructs for Postconditions
49(1)
3.8 Operations Defined on Every OCL Type
50(3)
3.9 Types as Objects
53(1)
3.10 Type Conformance Rules
54(1)
3.11 Precedence Rules
55(1)
3.12 Comments
55(1)
3.13 Undefined
56(1)
3.14 Summary
56(1)
Chapter 4 Modeling with Constraints
57(24)
4.1 Constraints in a UML Model
57(10)
4.1.1 Invariants
57(1)
4.1.2 Invariants for Derived Attributes or Associations
58(1)
4.1.3 Preconditions and Postconditions
58(1)
4.1.4 Guards in State Transition Diagrams
59(1)
4.1.5 Using Guards and Events in Pre- and Postconditions
60(1)
4.1.6 Change Events in State Transition Diagrams
61(1)
4.1.7 Type Invariants for Stereotypes
62(2)
4.1.8 Where OCL Expressions Can Be Used
64(1)
4.1.9 Constraints and Inheritance
64(3)
4.2 Styles for Specifying Constraints
67(5)
4.2.1 Avoiding Complex Navigation Expressions
67(1)
4.2.2 Choice of Context Object
68(1)
4.2.3 Use of allnstances
69(1)
4.2.4 Splitting and Constraints
69(1)
4.2.5 Adding Extra Operations or Attributes
70(1)
4.2.6 Using the collect Shorthand
71(1)
4.3 Solving Modeling Issues with Constraints
72(8)
4.3.1 Abstract Classes
72(1)
4.3.2 Specifying Uniqueness Constraints
72(1)
4.3.3 Adding Details to the Model versus Adding Constraints
73(2)
4.3.4 Cycles in Class Models
75(1)
4.3.5 Constraints on Associations
76(1)
4.3.6 Multiplicity Constraints
76(1)
4.3.7 The Subset Constraint
77(1)
4.3.8 The Or Constraint
78(2)
4.3.9 Optional Multiplicity in Associations
80(1)
4.4 Summary
80(1)
Chapter 5 Extending OCL
81(6)
5.1 A Word of Caution
81(1)
5.2 Extending the Standard OCL Types
82(1)
5.3 Adding New OCL Types
82(2)
5.4 Operational Use of Constraints
84(2)
5.4.1 Generating Code for Constraints
84(1)
5.4.2 When to Check Constraints
85(1)
5.4.3 What to Do When the Constraint Fails
85(1)
5.5 Summary
86(1)
Appendix A OCL Basic Types and Collection Types
87(16)
A.1 Basic Types
87(7)
A.1.1 OclType
87(1)
A.1.2 OclAny
88(1)
A.1.3 OclExpression
89(1)
A.1.4 Real
89(2)
A.1.5 Integer
91(1)
A.1.6 String
92(1)
A.1.7 Boolean
93(1)
A.1.8 Enumeration
93(1)
A.2 Collection-Related Types
94(9)
A.2.1 Collection
94(2)
A.2.2 Set
96(2)
A.2.3 Bag
98(1)
A.2.4 Sequence
99(4)
Appendix B Formal Grammar
103(4)
Bibliography 107(2)
Index 109

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program