Week 2: Promela I Flashcards

1
Q

What is ProMeLa?

A

Promela is a verification modelling language for specifying concurrent processes

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

What is the focus of ProMeLa?

A

It is the modelling of process interaction

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

What are the possible results of bugs in concurrent processes?

A
  • Deadlocks
  • Race conditions
  • Livelocks
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What software does Promela use to check its models?

A

The Spin Model Checker

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

What does mtype do in ProMeLa?

A

It defines a custom data type (similar to ENUM) by enumerating its valid values

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

What functions prints in ProMeLa?

A

printf

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

How are loops expressed in ProMeLa?

A

With do…od statements

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

What is an option in ProMeLa?

A

A sequence of actions that a process executes in a single loop iteration

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

What is the minimum number of options a loop requires in ProMeLa?

A

1

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

What is the maximum number of options that can be selected at the beginning of each iteration?

A

1

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

What is an option’s guard?

A

An expression that may be evaluated to either true or false

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

What happens when two or more options can be selected in one iteration?

A

One of them is chosen randomly

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

What is non-determinism?

A

It is a condition in which two or more choices can be made and a selection of them cannot be influenced by the environment

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

What are the two types of non-determinism?

A
  • Process-level determinism: which manifests when, within a process, two or more statements are selectable for execution
  • System-level determinism: which manifests when two or more concurrent processes are each ready to execute one or more statements, in which case one process is non-deterministically scheduled for execution
How well did you know this?
1
Not at all
2
3
4
5
Perfectly