| | Copyright |
| | Praise for The Object Constraint Language, Second Edition |
| | The Addison-Wesley Object Technology Series |
| | The Component Software Series |
| | List of Figures |
| | List of Tables |
| | Foreword to the First Edition |
| | Foreword to the Second Edition |
| | Preface and Introduction |
| | | Who Should Read This Book |
| | | How This Book Should Be Used |
| | | Typeface Conventions |
| | | Information on Related Subjects |
| | | Acknowledgments |
|
| | Part 1. User Manual |
| | | Chapter 1. MDA and the Use of OCL |
| | | Section 1.1. Introducing OCL |
| | | Section 1.2. Model Driven Architecture |
| | | Section 1.3. Modeling Maturity Levels |
| | | Section 1.4. Building Better Models |
| | | Section 1.5. Characteristics of OCL |
| | | Section 1.6. Summary |
|
| | | Chapter 2. OCL By Example |
| | | Section 2.1. The "Royal and Loyal" System Example |
| | | Section 2.2. Adding Extra Information |
| | | Section 2.3. Adding Invariants |
| | | Section 2.4. Working with Collections of Objects |
| | | Section 2.5. Adding Preconditions and Postconditions |
| | | Section 2.6. Taking Inheritance into Account |
| | | Section 2.7. Comments |
| | | Section 2.8. Let Expressions |
| | | Section 2.9. Summary |
|
| | | Chapter 3. Building Models with OCL |
| | | Section 3.1. What Is a Model? |
| | | Section 3.2. Use UML Diagrams as a Base |
| | | Section 3.3. Completing Class Diagrams |
| | | Section 3.4. Completing Interaction Diagrams |
| | | Section 3.5. Completing Statecharts |
| | | Section 3.6. Completing Activity Diagrams |
| | | Section 3.7. Completing Component Diagrams |
| | | Section 3.8. Completing Use Cases |
| | | Section 3.9. Modeling Styles |
| | | Section 3.10. Tips and Hints |
| | | Section 3.11. Summary |
|
| | | Chapter 4. Implementing OCL |
| | | Section 4.1. Implementation Process |
| | | Section 4.2. Implementing UML Model Elements |
| | | Section 4.3. Implementing the OCL Standard Library |
| | | Section 4.4. Implementing OCL Expressions |
| | | Section 4.5. Merging Code Fragments |
| | | Section 4.6. Considerations for Constraints |
| | | Section 4.7. Summary |
|
| | | Chapter 5. Using OCL for MDA |
| | | Section 5.1. Relation of OCL to MDA |
| | | Section 5.2. Metamodels |
| | | Section 5.3. The OCL and UML Metamodels |
| | | Section 5.4. Using OCL to Define Languages |
| | | Section 5.5. Using OCL to Define Transformations |
| | | Section 5.6. Summary |
|
|
| | Part 2. Reference Manual |
| | | Chapter 6. The Context of OCL Expressions |
| | | Section 6.1. A Combined Model |
| | | Section 6.2. Classes and Other Types |
| | | Section 6.3. Attributes and Association Ends |
| | | Section 6.4. Operations |
| | | Section 6.5. Expressions in Behavior Diagrams |
| | | Section 6.6. Use Cases |
| | | Section 6.7. Constraints and Inheritance |
|
| | | Chapter 7. Basic OCL Elements |
| | | Section 7.1. Expressions, Types, and Values |
| | | Section 7.2. Basic Types and Operators |
| | | Section 7.3. Precedence Rules |
| | | Section 7.4. Use of Infix Operators |
| | | Section 7.5. Comments |
|
| | | Chapter 8. User-defined Types |
| | | Section 8.1. Features of User-Defined Types |
| | | Section 8.2. Associations and Aggregations |
| | | Section 8.3. Enumeration Types |
|
| | | Chapter 9. Collection Types |
| | | Section 9.1. The Collection Types |
| | | Section 9.2. Operations on Collection Types |
| | | Section 9.3. Loop Operations or Iterators |
|
| | | Chapter 10. Advanced Constructs |
| | | Section 10.1. Constructs for Postconditions |
| | | Section 10.2. Operations of the OclMessage Type |
| | | Section 10.3. Packaging Expressions |
| | | Section 10.4. Local Variables |
| | | Section 10.5. Tuples and Tuple Types |
| | | Section 10.6. Undefined Values, the OclVoid Type |
| | | Section 10.7. Retyping or Casting |
| | | Section 10.8. Type Conformance Rules |
| | | Section 10.9. Accessing Overriden Features |
| | | Section 10.10. The OclAny Type |
|
| | | Appendix A. Glossary |
| | | Glossary |
|
| | | Appendix B. OCL Grammar Rules |
| | | Section B.1. EBNF Rules for Context Declaration |
| | | Section B.2. EBNF Rules for Expression |
|
| | | Appendix C. A Business Modeling Syntax for OCL |
| | | Section C.1. Introduction |
| | | Section C.2. Informal Definition |
| | | Section C.3. Some Remarks on the Resemblance to SQL |
| | | Section C.4. More Elaborate Examples |
|
| | | Appendix D. Example Implementation |
| | | Appendix E. Differences Between OCL Versions 1.1 and 2.0 |
| | | Section E.1. Syntax Changes |
| | | Section E.2. New Types |
| | | Section E.3. Extra Predefined Operations |
| | | Section E.4. New Options in Postconditions |
| | | Section E.5. Other Changes |
|
|
| | Bibliography |
| | Index |