Formal Systems Design Flashcards
What is formal systems design?
- design method that makes use of rigorous mathematical models
- uses proofs to ensure correctness; as well as testing
What are teh strong points of UML diagrams? 2
+ illustrate relationships visually
+ formal interpretations are possible for most diagrams
What are the weak points of UML diagrams? 2
- Cannot express some semantic details
- Cannot express some logical relations
What is the definition of a UML constraint?
A restriction on one or more values of (part of) an object oriented model or system.
What are the uses of UML constraints?
add extra logical detail for information not easily rendered visually
What is the Object Constraint Language?
kind of first order logic for UML diagrams
What is an OCL path expression?
way of navigating from an object to a related object/ collection of related objects
How do we navigate paths with an OCL path expression?
- PAths start from a gien object called the context
- NAvigate either following attribute names or following association end role names to related objects
What is teh dot operator used for in an OCL path expression?
applies teh next path-element to the previous object/collection
What is the arrow operator used for in an OCL path expression?
refers to the properties of a collection itself.
What is an OCL constraint?
- boolean valued assertion about some property
- relates objects denoted by path expressions
What is an OCL invariant?
- a property that always holds for a given class
What is an OCL precondition?
- a property that must hold immediatley vefore the invocation of a method
What is an OCL postcondition?
- a property that must hold immediately after the execution of a method.
What is the context of an OCL constraint?
- all constraints are expressed within a context
- context is the class/method in question