Modelling Complex Software Systems

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/90

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:36 AM on 6/17/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

91 Terms

1
New cards

Concurrency

A design principle for potential parallelism that allows multiple tasks to be completed at once

2
New cards

Interference

Data is accessed in an uncontrolled manner by multiple processes

3
New cards

Deadlock

Two processes cannot progress because their progression is dependent on resources that the other is holding

4
New cards

Safety

Concurrency principle that states ā€œnothing bad will ever happenā€

5
New cards

Liveness

Concurrency principle that states ā€œsomething good will eventually happenā€

6
New cards

Thread

Java class for representing a process

7
New cards

run()

Java method containing what a process actually does (should not be called directly)

8
New cards

o.start()

Java method that calls .run() on process o

9
New cards

sleep(long ms)

Java method that suspends a thread for a given time

10
New cards

yield()

Java method that pauses a current thread

11
New cards

t.join()

Java method that suspends the caller process until t is complete

12
New cards

Semaphore

Data structure used to track and synchronise access to a resource. Consists of the number of available permits and set of waiting processes

13
New cards

S ← (k, {})

Semaphore initialisation value

14
New cards

synchronized

Java keyword for synchronising methods and objects

15
New cards

volatile

Java keyword that prompts the machine to reload a value without caching

16
New cards

Monitor

Data structure that manages concurrency by encapsulating the responsibility for managing the data with the object that owns it.

17
New cards

wait()

Java method used to pause a process until it is notified

18
New cards

notify()

Java method used to wake up a single thread that is waiting for a lock

19
New cards

notifyAll()

Java method used to wake up all threads that are waiting for a lock

20
New cards

interrupt()

Java method used to pull a thread out of a non-active state (e.g. waiting/sleeping)

21
New cards

Finite State Processes

Modelling language for concurrent programs

22
New cards

ERROR

Goes to FSP state -1

23
New cards

STOP

Goes to FSP deadlock state

24
New cards

END

Goes to FSP E state

25
New cards

property

FSP keyword for safety

26
New cards

progress

FSP keyword for liveness

27
New cards

fluent FL = <{s1, …, sN}, {e1, …, eN}> initially 1

FSP fluent structure

28
New cards

assert ALWAYS_F = []F

FSP check that F is always true

29
New cards

assert EVENTUALLY_F = <>F

FSP check that F is eventually true

30
New cards

assert F_UNTIL_G = F U G

FSP check that F is true until G turns true

31
New cards

Dynamical system

Mathematical model that describes how a system evolves over time. Made up of a state space, update rule and initial condition

32
New cards

Logistic map

Formula for computing the change in population over discrete time steps

33
New cards

[0, 1)

Logistic map: r value for which population decreases

<p>Logistic map: r value for which population decreases</p>
34
New cards

[1, 2)

Logistic map: r value for which population linearly approaches equilibrium

<p>Logistic map: r value for which population linearly approaches equilibrium</p>
35
New cards

[2, 3)

Logistic map: r value for which population oscillates towards equilibrium

<p>Logistic map: r value for which population oscillates towards equilibrium</p>
36
New cards

[3, 3.45)

Logistic map: r value for which population oscillates between 2 values

37
New cards

[3.45, 3.57)

Logistic map: r value for which population increasingly oscillates between >2 values

38
New cards

[3.57, 4)

Logistic map: r value for which population is chaotic with windows of stability

39
New cards

[4, inf)

Logistic map: r value for which population is fully chaotic

40
New cards

Butterfly Effect

Two states with imperceptibly different amounts produce wildly different outputs

41
New cards

Bifurcation diagram

Graph that maps r value onto convergence value of logistic map.

42
New cards

Ordinary Differential Equation

Mathematic model that uses macro-equations to model the rate of change of a system

43
New cards

Lotka Volterra Model

Model of predator prey numbers

44
New cards

gamma

LV: death rate of foxes

45
New cards

delta

LV: rate that foxes turn rabbits (food) into foxes (reproduction)

46
New cards

alpha

LV: rabbit growth rate

47
New cards

beta

LV: rate that foxes eat rabbits

48
New cards

transient

Model behaviour when it moves towards a state

49
New cards

fixed point

Model behaviour when it reaches a steady state

50
New cards

limit cycle

Model behaviour when it oscillates

51
New cards

class 1

Wolfram class that rapidly converges to uniform state

52
New cards

class 2

Wolfram class that rapidly converges to repetitive state

53
New cards

class 3

Wolfram class that appears to remain chaotic

54
New cards

class 4

Wolfram class that appears to remain chaotic with periods of stability

55
New cards

Rule 110

Turing complete 1D cellular automaton rule

56
New cards

Von Neumann

2D CA Neighborhood that doesn’t include diagonals

57
New cards

Moore

2D CA Neighborhood that does include diagonals

58
New cards

Loneliness

Game of life rule that kills a cell with <2 neighbours

59
New cards

Overcrowding

Game of life rule that kills a cell with >3 neighbours

60
New cards

Survival

Game of life rule that sustains an existing cell with 2-3 neighbours

61
New cards

Reproduction

Game of life rule that produces a new cell with 3 neighbours

62
New cards

Separation

Feature of Boids Model of Flocking Behaviour that prevents collisions

63
New cards

Cohesion

Feature of Boids Model of Flocking Behaviour that provides safety in numbers

64
New cards

Alignment

Feature of Boids Model of Flocking Behaviour that keeps boids moving in the same direction

65
New cards

Self-contained

Essential agent feature: has boundary

66
New cards

Autonomous

Essential agent feature: acts for itself

67
New cards

Dynamic state

Essential agent feature: attributes change over time

68
New cards

Social

Essential agent feature: interacts with others

69
New cards

Adaptive

Optional agent feature: learns from the past

70
New cards

Goal-directed

Optional agent feature: wants to achieve something

71
New cards

Heterogeneous

Optional agent feature: has different types

72
New cards

Reachable

A marking that can be reached from the initial marking

73
New cards

Final

A marking in which no hot transitions are enabled

74
New cards

epsilon

symbol for cold transitions (external to system)

75
New cards

phi

symbol for silent transitions (not visible to observer)

76
New cards

sequential run

Sequence of steps from initial marking

77
New cards

complete sequential run

Sequential run that leads to a final marking or cannot have any addition steps inserted

78
New cards

state explosion problem

Rapid growth of marking graph when adding tokens

79
New cards

interleaving semantics

List of all complete sequential runs

80
New cards

Distributed run

Acyclic net representing a series of steps towards a marking.

81
New cards

Boundedness

Set of all reachable marking is finite

82
New cards

k-boundedness

For all reachable markings, there are no places with > k tokens

83
New cards

safety

For all reachable markings, there are no places with multiple tokens

84
New cards

liveness

From every possible reachable marking, we can reach a marking that enables a transition

85
New cards

deadlock-freedom

Every reachable marking enables at least one transition

86
New cards

workflow net

Petri net with source place (•x = {}) and sink place (x• = {})

87
New cards

workflow system

A workflow net and initial marking that puts one token in the source (and nowhere else)

88
New cards

Option to complete

For every reachable marking, we can find a way to place a token in the sink

89
New cards

Proper completion

If we place a token in the sink, there is only one there and none elsewhere

90
New cards

No dead transitions

Every transition can be enabled by a reachable marking

91
New cards

Soundness

Option to complete, proper completion and no dead transitions