Figure 1-1: The relationship between PIM, PSM, and code
Figure 1-2: The MDA Framework
Figure 1-3: The Modeling Maturity Levels bridging the model-code gap
Figure 1-4: A model expressed in a diagram
Figure 1-5: The "mortgage system" expressed in a diagram
Figure 2-1: The Royal and Loyal model
Figure 3-1: OCL expressions and their context
Figure 3-2: A cycle in a class model
Figure 3-3: A derived class
Figure 3-4: Or constraint
Figure 3-5: OCL expressions in a sequence diagram
Figure 3-6: Extended interaction diagram
Figure 3-7: Class diagram for the bottle -filling system
Figure 3-8: Filler statechart
Figure 3-9: Bottle statechart with change event
Figure 3-10: Activity diagram specifying operation addService
Figure 3-11: Component diagram
Figure 3-12: Class CustomerCard , with all its attributes and operations
Figure 3-13: A subset constraint
Figure 3-14: Model with specializations
Figure 3-15: Model without specialized associations
Figure 3-16: Model without some of the subclasses
Figure 3-17: Class model without subclasses
Figure 3-18: Persons working for Companies
Figure 4-1: Filler statechart, reprinted from Figure 3-8
Figure 4-2: Extended Filler statechart
Figure 5-1: Use of OCL in the MDA framework
Figure 5-2: Relation between system, model, and metamodel
Figure 5-3: UML metamodel (simplified)
Figure 5-4: OCL metamodel (simplified) in relation to UML metamodel
Figure 5-5: OCL context in terms of the metamodels
Figure 6-1: OCL expressions and their context
Figure 6-2: Inheritance of invariants
Figure 8-1: Navigations
Figure 8-2: Association class from the UML diagram
Figure 8-3: Qualified association in the UML diagram
Figure 8-4: Customer class with enumeration
Figure 10-1: Persons working for Companies , extended
Figure 10-2: Invariants on subtypes
Figure 10-3: Accessing overridden features example
Figure 10-4: Difference between oclIsKindOf and oclIsTypeOf
Figure 10-5: Example statechart
Figure C-1: The Royal and Loyal model