The examples directory contains several example specifications. Some of the case studies are not yet complete and may contain experimental stuff. This document categorizes the examples in two tables. ####################################################################### A) Example path -> Features covered ####################################################################### Example Path | Features covered -------------------------------------------------------------- | /Documentation/AssociationClass | Classes Example in "Improvements in USE 2.2.0" | Association classes | Attributes | /Documentation/AggregationAndComposition | Example in "Improvements in USE 2.5.1" | Aggregation | Composition | /Documentation/Demo | Classes Example in "USE Quick Tour" 1. | Associations | Attributes | Invariants | /Documentation/Employee | Classes Example in "Validating Pre- and | Associations Postconditions with USE" 1. | Operations with side effects | and return value | Pre- and Postconditions | with @pre and collection | operations | cmd with openter | and opexit | /Documentation/Graph | Classes Example in "Validating Pre- and | Associations Postconditions with USE" 4. | Operations with side effects | Postconditions with | @pre and oclIsNew() | /Documentation/NestedOperationCalls | Classes Example in "Validating Pre- and | Operations (Queries) Postconditions with USE" 5. | Pre- and Postconditions | /Documentation/tollcoll | Case Study "Toll Collect: A UML Case Study realized | with USE" | | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - - - - | /generator/english | generator | ASSL | Classes | Attributes | Associations | query operations | recursive operations | collection operations | (sequence operations) | complex operations | /generator/german | see /generator/english | german version | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - - - - | /monitor | Monitor | USEMonitor | Java implementation | of Employee.use (see | /Documentation/Employee) | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - - - - | /Others/AB | Classes | Attributes | Associations | Operations (with | side effects) | pre- and postconditions | @pre | cmd with openter | and opexit | /Others/CallSequence | Classes | Operations | cmd with openter | and opexit | /Others/CarRental | Classes (generalization) | Attributes (with | complex types) | Operations (queries and | with side effects) | Associations (3-ary) | Invariants (not all | invariants consistent) | Pre- and Postconditions | /Others/Empty | empty model | /Others/Ex | similar to /Documentation/ | Demo | /Others/Grammar | Classes (generalization) | Attributes | Associations (compositions) | Invariants (with iterate | and nested operation calls) | /Others/Job | Classes (generalization) | Attributes | Associations | cmd with object and | link creation and removing | /Others/Lists | Classes (generalization) | Operations (queries) | Associations | /Others/Math | Classes | Operations | Postconditions (use of | result) | cmd with openter and | opexit with result value | /Others/MultipleInheritance | Classes (generalization) | /Others/Person | Classes | Associations (3-ary) | /Others/Polygon | Classes | Attributes | Operations | Associations (ordered) | Postconditions (with @pre) | /Others/Project | equals /Documentation/ Example from exercises of the lecture | Demo Object-oriented Software Design. | | /Others/RecursiveOperations | Classes | Operations (queries / | no termination) | /Others/ReflexiveAssociation | Classes | Attributes | Associations (reflexive) | /Others/Student | Classes (generalization) | /Others/SwapLinks | Classes | Operations | Associations | Constraints | cmd with let | /Others/Test | 50 classes and | 2450 (= 50 * 49) associations | /Others/Tree | Classes | Attributes | Operations (queries / | complex / with iterate, | flatten, collect / | not terminating) | Invariants | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - - - - | /Papers/1998/RichtersAndGogolla | Classes (generalization / Mark Richters and Martin Gogolla, | abstract) "On Formalizing the UML Object | Attributes Constraint Language OCL", | Operations (queries) Figure 1 | Associations | /Papers/1998/WarmerAndKleppe | Classes Jos Warmer and Anneke Kleppe, | Attributes "The Object Constraint Language: | Associations Precise Modeling with UML", | Addison-Wesley, 1998. (p. 12) | | /Papers/1999/RichtersAndGogolla | OCL Metamodel Corresponds to "A Metamodel for OCL" | Fig. 4: "Metamodel for OCL Types" | | /Papers/2001/RichtersPhDThesis/ | merged: /Documentation/ EmployeeExtended | Employee + /Others/Ex "A Precise Approach to Validating | UML Models and OCL | Constraints" | | /Papers/2001/RichtersPhDThesis/ | equals /Documentation/ NestedOperationCalls | NestedOperationCalls | /Papers/2003/Ziemann_2003_FMICS | Model of a train system Corresponds to "Validating OCL | Specifications with the USE Toll - | An Example Based on the BART Case Study" | | /Papers/2005/GogollaBohlingRichters | Snapshot Generation "Validanting UML and OCL Models | in USE by Automatic Snapshot Generation" | | /Papers/2006/GogollaBüttnerRichters | ASSL "USE: A UML-Based Specification | Environment for Validating UML and OCL" | - - - - - - - - - - - - - - - - - - - - -|- - - - - - - - - - | /Metamodels/actionsemantics | actionsemantics model OMG RFP ad/98-11-01 | | /Metamodels/OCL2MM | Metamodel for OCL expressions, | classifiers, association ends | and attributes | /Metamodels/UML13All | UML 1.3 metamodel | /Metamodels/UML13Core | UML 1.3 Core metamodel | | ####################################################################### B) Feature -> Example path ####################################################################### Feature | Example path -------------------------------------------------------------- | Action Semantics | /Specification/actionsemantics | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Associations | /Documentation/Demo - 3-ary | /Others/Person - Compositions | /Others/Grammar - Ordered | /Others/Polygon - Reflexive | /Others/ReflexiveAssociation | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Attributes | - Complex types | /Others/CarRental - Primitive types | /Documentation/Demo | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Classes | /Documentation/Demo - Abstract | /Papers/1998/RichtersAndGogolla - Association classes | /Documentation/AssociationClass - Generalization | /Others/MultipleInheritance | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Command Files | - let expression | /Others/SwapLinks - Object and Link creation| /Others/Job and removing | - openter and opexit | /Others/CallSequence - result value | /Others/Math | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Constraints | /Documentation/Demo - Inconsistency | /Others/CarRental - Invariants | /Others/SwapLinks - Pre- and Postconditions | /Documentation/NestedOperationCalls - @pre | /Others/AB - OclIsNew() | /Documentation/Graph | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Generator | /generator/english - ASSL | /Papers/2006/GogollaBüttnerRichters | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Java implementation | /monitor of an Example | | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Monitor | /monitor | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | OCL Metamodel | - Expressions, | /Specifications/OCL2MM Classifiers, | Association ends | and Attributes | - Types | /Papers/1999/RichtersAndGogolla | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Operations | - Collection | /generator/english - Sequence | /generator/english - Complex | /Others/Tree - iterate, flatten, | /Others/Tree collect | - let | /Papers/2003/Ziemann_2003_FMICS - Nested Calls | /Documentation/NestedOperationCalls - Queries | /Others/Lists - Recursive | /Others/RecursiveOperations - return value | /Documentation/Employee - Side effects | /Others/CarRental - no Termination | /Others/RecursiveOperations | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Snapshot Generation | /Papers/2005/GogollaBohlingRichters | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | UML 1.3 metamodel | /Specifications/UML13All - Core | /Specifications/UML13Core | - - - - - - - - - - - - - -| - - - - - - - - - - - - - - - - - | Testing | /Others/Test |