Formal Systems Design Flashcards

1
Q

What is formal systems design?

A
  • design method that makes use of rigorous mathematical models
  • uses proofs to ensure correctness; as well as testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are teh strong points of UML diagrams? 2

A

+ illustrate relationships visually

+ formal interpretations are possible for most diagrams

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the weak points of UML diagrams? 2

A
  • Cannot express some semantic details

- Cannot express some logical relations

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the definition of a UML constraint?

A

A restriction on one or more values of (part of) an object oriented model or system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the uses of UML constraints?

A

add extra logical detail for information not easily rendered visually

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the Object Constraint Language?

A

kind of first order logic for UML diagrams

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is an OCL path expression?

A

way of navigating from an object to a related object/ collection of related objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How do we navigate paths with an OCL path expression?

A
  • PAths start from a gien object called the context

- NAvigate either following attribute names or following association end role names to related objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is teh dot operator used for in an OCL path expression?

A

applies teh next path-element to the previous object/collection

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the arrow operator used for in an OCL path expression?

A

refers to the properties of a collection itself.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is an OCL constraint?

A
  • boolean valued assertion about some property

- relates objects denoted by path expressions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is an OCL invariant?

A
  • a property that always holds for a given class
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an OCL precondition?

A
  • a property that must hold immediatley vefore the invocation of a method
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is an OCL postcondition?

A
  • a property that must hold immediately after the execution of a method.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the context of an OCL constraint?

A
  • all constraints are expressed within a context

- context is the class/method in question

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What if end role names are missing for OCL path expressions?

A

Create implicit end roles by converting class name to camelCase

17
Q

Breifly describe a: set, bag, ordered set, sequence

A

set; unordered, unique elements
bag, unordered, may have duplicates
ordered set; ordered, unique elements
sequence, ordered, may have duplicates