Formal Methods for Interactive Systems Part 10 Reverse - - PowerPoint PPT Presentation

formal methods for interactive systems
SMART_READER_LITE
LIVE PREVIEW

Formal Methods for Interactive Systems Part 10 Reverse - - PowerPoint PPT Presentation

Formal Methods for Interactive Systems Part 10 Reverse Engineering with Matrix Algebra Antonio Cerone United Nations University International Institute for Software Technology Macau SAR China email: antonio@iist.unu.edu web:


slide-1
SLIDE 1

Formal Methods for Interactive Systems

Part 10 — Reverse Engineering with Matrix Algebra Antonio Cerone United Nations University International Institute for Software Technology Macau SAR China email: antonio@iist.unu.edu web: www.iist.unu.edu

  • A. Cerone, UNU-IIST – p.1/26
slide-2
SLIDE 2

Reverse Engineering

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Define a model of an existing device

  • A. Cerone, UNU-IIST – p.2/26
slide-3
SLIDE 3

Reverse Engineering

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering

  • A. Cerone, UNU-IIST – p.2/26
slide-4
SLIDE 4

Reverse Engineering

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering = ⇒ manifacturers do not provide formal specifications

  • A. Cerone, UNU-IIST – p.2/26
slide-5
SLIDE 5

Reverse Engineering

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Define a model of an existing device Danger: model accuracy relies on accuracy of the reverse engineering = ⇒ manifacturers do not provide formal specifications = ⇒ formal specifications must be reconstructed

  • A. Cerone, UNU-IIST – p.2/26
slide-6
SLIDE 6

Reverse Engineering Process

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Reconstruct formal specification from

  • checking interaction results against the real

device

  • A. Cerone, UNU-IIST – p.3/26
slide-7
SLIDE 7

Reverse Engineering Process

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Reconstruct formal specification from

  • checking interaction results against the real

device

  • observing user-machine interaction in the real
  • perating environemt
  • A. Cerone, UNU-IIST – p.3/26
slide-8
SLIDE 8

Reverse Engineering Process

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Reconstruct formal specification from

  • checking interaction results against the real

device

  • observing user-machine interaction in the real
  • perating environemt
  • interviewing real users and manifacturer
  • A. Cerone, UNU-IIST – p.3/26
slide-9
SLIDE 9

Reverse Engineering Process

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Reconstruct formal specification from

  • checking interaction results against the real

device

  • observing user-machine interaction in the real
  • perating environemt
  • interviewing real users and manifacturer
  • checking documentation (e.g., user manual)
  • A. Cerone, UNU-IIST – p.3/26
slide-10
SLIDE 10

RE Advantages

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • model of a real system =

⇒ no need to specify it in a paper)

  • A. Cerone, UNU-IIST – p.4/26
slide-11
SLIDE 11

RE Advantages

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • model of a real system =

⇒ no need to specify it in a paper)

  • results can be verified against the device by

the reader

  • A. Cerone, UNU-IIST – p.4/26
slide-12
SLIDE 12

RE Advantages

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • model of a real system =

⇒ no need to specify it in a paper)

  • results can be verified against the device by

the reader

  • case studies are more credible ⇐

= not tailored for the used modelling / verification approach

  • A. Cerone, UNU-IIST – p.4/26
slide-13
SLIDE 13

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine

  • A. Cerone, UNU-IIST – p.5/26
slide-14
SLIDE 14

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history

  • A. Cerone, UNU-IIST – p.5/26
slide-15
SLIDE 15

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • A. Cerone, UNU-IIST – p.5/26
slide-16
SLIDE 16

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • semantics reflects human way of thinking
  • A. Cerone, UNU-IIST – p.5/26
slide-17
SLIDE 17

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • semantics reflects human way of thinking
  • have
  • A. Cerone, UNU-IIST – p.5/26
slide-18
SLIDE 18

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • semantics reflects human way of thinking
  • have
  • structure =

⇒ easy modelling

  • A. Cerone, UNU-IIST – p.5/26
slide-19
SLIDE 19

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • semantics reflects human way of thinking
  • have
  • structure =

⇒ easy modelling

  • properties =

⇒ verification tool

  • A. Cerone, UNU-IIST – p.5/26
slide-20
SLIDE 20

Matrix Algebra

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

to describe interaction human-machine Matrices

  • are standard mathematical objects

with a long history = ⇒ no need to introduce yet another notation

  • are easy to calculate
  • semantics reflects human way of thinking
  • have
  • structure =

⇒ easy modelling

  • properties =

⇒ verification tool [Thimbleby 04]

  • A. Cerone, UNU-IIST – p.5/26
slide-21
SLIDE 21

Example: Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a pushbutton switch

  • A. Cerone, UNU-IIST – p.6/26
slide-22
SLIDE 22

Example: Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off.

  • A. Cerone, UNU-IIST – p.6/26
slide-23
SLIDE 23

Example: Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off.

  • 2 states: ON and OFF
  • 1 operation: push
  • A. Cerone, UNU-IIST – p.6/26
slide-24
SLIDE 24

Example: Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a pushbutton switch Pressing the switch alternatively turns the light on or off.

  • 2 states: ON and OFF
  • 1 operation: push

[Thimbleby 04]

  • A. Cerone, UNU-IIST – p.6/26
slide-25
SLIDE 25

Model of Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

✓ ✒ ✏ ✑

OFF

✬ ✩ ❄

push

✓ ✒ ✏ ✑

ON

✫ ✪ ✻

push

  • A. Cerone, UNU-IIST – p.7/26
slide-26
SLIDE 26

Model of Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

✓ ✒ ✏ ✑

OFF

✬ ✩ ❄

push

✓ ✒ ✏ ✑

ON

✫ ✪ ✻

push OFF = 0 , 1 ON = 1 , 0

  • A. Cerone, UNU-IIST – p.7/26
slide-27
SLIDE 27

Model of Pushbutton Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

✓ ✒ ✏ ✑

OFF

✬ ✩ ❄

push

✓ ✒ ✏ ✑

ON

✫ ✪ ✻

push OFF = 0 , 1 ON = 1 , 0 push = 1 1

  • A. Cerone, UNU-IIST – p.7/26
slide-28
SLIDE 28

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1

  • A. Cerone, UNU-IIST – p.8/26
slide-29
SLIDE 29

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF

  • A. Cerone, UNU-IIST – p.8/26
slide-30
SLIDE 30

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF push

  • A. Cerone, UNU-IIST – p.8/26
slide-31
SLIDE 31

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF push = 0 , 1 1 1

  • A. Cerone, UNU-IIST – p.8/26
slide-32
SLIDE 32

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF push = 0 , 1 1 1 = 1 ,

☛ ✡ ✟ ✠ ☛ ✡ ✟ ✠ ❦

  • A. Cerone, UNU-IIST – p.8/26
slide-33
SLIDE 33

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF push = 0 , 1 1 1 = 1 , 0

☛ ✡ ✟ ✠ ☛ ✡ ✟ ✠ ❦

  • A. Cerone, UNU-IIST – p.8/26
slide-34
SLIDE 34

Pushbutton Switch Transition

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF = 0 , 1 ON = 1 , 0 push = 1 1 OFF push = 0 , 1 1 1 = 1 , 0 = ON

  • A. Cerone, UNU-IIST – p.8/26
slide-35
SLIDE 35

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON

  • A. Cerone, UNU-IIST – p.9/26
slide-36
SLIDE 36

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON ON push = OFF

  • A. Cerone, UNU-IIST – p.9/26
slide-37
SLIDE 37

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON ON push = OFF push push

  • A. Cerone, UNU-IIST – p.9/26
slide-38
SLIDE 38

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON ON push = OFF push push = 1 1 1 1

  • A. Cerone, UNU-IIST – p.9/26
slide-39
SLIDE 39

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON ON push = OFF push push = 1 1 1 1 = 1 1

  • A. Cerone, UNU-IIST – p.9/26
slide-40
SLIDE 40

Switch Properties

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF push = ON ON push = OFF push push = 1 1 1 1 = 1 1 = I

  • A. Cerone, UNU-IIST – p.9/26
slide-41
SLIDE 41

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF

  • A. Cerone, UNU-IIST – p.10/26
slide-42
SLIDE 42

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF

  • A. Cerone, UNU-IIST – p.10/26
slide-43
SLIDE 43

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF x2,1 = 0 x2,2 = 1

  • A. Cerone, UNU-IIST – p.10/26
slide-44
SLIDE 44

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF x2,1 = 0 x2,2 = 1 x1,1 = 0 x1,2 = 1

  • A. Cerone, UNU-IIST – p.10/26
slide-45
SLIDE 45

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF x2,1 = 0 x2,2 = 1 x1,1 = 0 x1,2 = 1 = ⇒ x = 1 1

  • A. Cerone, UNU-IIST – p.10/26
slide-46
SLIDE 46

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF x2,1 = 0 x2,2 = 1 x1,1 = 0 x1,2 = 1 = ⇒ x = 1 1 ∃ n such that push

n

= x ?

  • A. Cerone, UNU-IIST – p.10/26
slide-47
SLIDE 47

Switch Safety

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF ON x = 1 , 0 x1,1 x2,1 x1,2 x2,2 = 0 , 1 = OFF x2,1 = 0 x2,2 = 1 x1,1 = 0 x1,2 = 1 = ⇒ x = 1 1 ∃ n such that push

n

= x ? No because push

2

= I

  • A. Cerone, UNU-IIST – p.10/26
slide-48
SLIDE 48

Safer System

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 1 , 0 = ON ON y = 1 , 0 y1,1 y2,1 y1,2 y2,2 = 0 , 1 = OFF

  • A. Cerone, UNU-IIST – p.11/26
slide-49
SLIDE 49

Safer System

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 1 , 0 = ON ON y = 1 , 0 y1,1 y2,1 y1,2 y2,2 = 0 , 1 = OFF x2,1 = 1 x2,2 = 0 = ⇒ x = 1 0

  • -
  • A. Cerone, UNU-IIST – p.11/26
slide-50
SLIDE 50

Safer System

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 1 , 0 = ON ON y = 1 , 0 y1,1 y2,1 y1,2 y2,2 = 0 , 1 = OFF x2,1 = 1 x2,2 = 0 = ⇒ x = 1 0 y1,1 = 0 y1,2 = 1 = ⇒ y = 0 1

  • -
  • -
  • A. Cerone, UNU-IIST – p.11/26
slide-51
SLIDE 51

Safer System

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

OFF x = 0 , 1 x1,1 x2,1 x1,2 x2,2 = 1 , 0 = ON ON y = 1 , 0 y1,1 y2,1 y1,2 y2,2 = 0 , 1 = OFF x2,1 = 1 x2,2 = 0 = ⇒ x = 1 0 y1,1 = 0 y1,2 = 1 = ⇒ y = 0 1 1 0 =

  • n

0 1 =

  • ff
  • A. Cerone, UNU-IIST – p.11/26
slide-52
SLIDE 52

Two-position Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a two-position switch

  • A. Cerone, UNU-IIST – p.12/26
slide-53
SLIDE 53

Two-position Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a two-position switch One switch position (on) turns the light on; the other (off) turns the light off.

  • A. Cerone, UNU-IIST – p.12/26
slide-54
SLIDE 54

Two-position Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a two-position switch One switch position (on) turns the light on; the other (off) turns the light off. Properties

  • The system is closed
  • A. Cerone, UNU-IIST – p.12/26
slide-55
SLIDE 55

Two-position Switch

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

A ligh bulb controlled by a two-position switch One switch position (on) turns the light on; the other (off) turns the light off. Properties

  • The system is closed
  • any sequence of actions is equivalent to the

last actions the user does

  • A. Cerone, UNU-IIST – p.12/26
slide-56
SLIDE 56

Remarks

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • matrix algebra can be used to find interesting

properties

  • A. Cerone, UNU-IIST – p.13/26
slide-57
SLIDE 57

Remarks

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • matrix algebra can be used to find interesting

properties through

  • direct manipulation of matrices (operations)

rather than vectors (states)

  • A. Cerone, UNU-IIST – p.13/26
slide-58
SLIDE 58

Remarks

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • matrix algebra can be used to find interesting

properties through

  • direct manipulation of matrices (operations)

rather than vectors (states) ⇐ = number of operations much smaller than number of states

  • A. Cerone, UNU-IIST – p.13/26
slide-59
SLIDE 59

Remarks

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • matrix algebra can be used to find interesting

properties through

  • direct manipulation of matrices (operations)

rather than vectors (states) ⇐ = number of operations much smaller than number of states

  • the methodology is
  • scalable
  • A. Cerone, UNU-IIST – p.13/26
slide-60
SLIDE 60

Remarks

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • matrix algebra can be used to find interesting

properties through

  • direct manipulation of matrices (operations)

rather than vectors (states) ⇐ = number of operations much smaller than number of states

  • the methodology is
  • scalable
  • mechanisable [Gow and Thimbleby 04]
  • A. Cerone, UNU-IIST – p.13/26
slide-61
SLIDE 61

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • A. Cerone, UNU-IIST – p.14/26
slide-62
SLIDE 62

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • State
  • A. Cerone, UNU-IIST – p.14/26
slide-63
SLIDE 63

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • State
  • d = display contents
  • A. Cerone, UNU-IIST – p.14/26
slide-64
SLIDE 64

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • State
  • d = display contents
  • m = memory contents
  • A. Cerone, UNU-IIST – p.14/26
slide-65
SLIDE 65

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • State
  • d = display contents
  • m = memory contents
  • state representation: vector s = [d,m]
  • A. Cerone, UNU-IIST – p.14/26
slide-66
SLIDE 66

Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Model: CASIO HL-820LC
  • State
  • d = display contents
  • m = memory contents
  • state representation: vector s = [d,m]
  • Operations: binary 2×2 matrices
  • A. Cerone, UNU-IIST – p.14/26
slide-67
SLIDE 67

Calculator Functions

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • M+ add display to memory
  • A. Cerone, UNU-IIST – p.15/26
slide-68
SLIDE 68

Calculator Functions

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • M+ add display to memory
  • M− subtract display from memory
  • A. Cerone, UNU-IIST – p.15/26
slide-69
SLIDE 69

Calculator Functions

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • M+ add display to memory
  • M− subtract display from memory
  • AC clear display
  • A. Cerone, UNU-IIST – p.15/26
slide-70
SLIDE 70

Calculator Functions

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • M+ add display to memory
  • M− subtract display from memory
  • AC clear display
  • MRC recall memory
  • A. Cerone, UNU-IIST – p.15/26
slide-71
SLIDE 71

Calculator Functions

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • M+ add display to memory
  • M− subtract display from memory
  • AC clear display
  • MRC recall memory
  • MRC MRC recall and clear memory
  • A. Cerone, UNU-IIST – p.15/26
slide-72
SLIDE 72

MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

What is the precise semantics of MRC?

  • pressed once
  • A. Cerone, UNU-IIST – p.16/26
slide-73
SLIDE 73

MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

What is the precise semantics of MRC?

  • pressed once
  • if m = 0 then no effect
  • A. Cerone, UNU-IIST – p.16/26
slide-74
SLIDE 74

MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

What is the precise semantics of MRC?

  • pressed once
  • if m = 0 then no effect
  • if m = 0 then d := m
  • A. Cerone, UNU-IIST – p.16/26
slide-75
SLIDE 75

MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

What is the precise semantics of MRC?

  • pressed once
  • if m = 0 then no effect
  • if m = 0 then d := m
  • pressed twice
  • A. Cerone, UNU-IIST – p.16/26
slide-76
SLIDE 76

MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

What is the precise semantics of MRC?

  • pressed once
  • if m = 0 then no effect
  • if m = 0 then d := m
  • pressed twice
  • m := 0
  • A. Cerone, UNU-IIST – p.16/26
slide-77
SLIDE 77

Remarks on MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • MRC MRC is not the same as the product

MRC · MRC

  • A. Cerone, UNU-IIST – p.17/26
slide-78
SLIDE 78

Remarks on MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • MRC MRC is not the same as the product

MRC · MRC

  • Semantics of pressed once depends on

previous content of memory

  • A. Cerone, UNU-IIST – p.17/26
slide-79
SLIDE 79

Remarks on MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • MRC MRC is not the same as the product

MRC · MRC

  • Semantics of pressed once depends on

previous content of memory

  • Is MRC ( MRC MRC )

= ( MRC MRC ) MRC ?

  • A. Cerone, UNU-IIST – p.17/26
slide-80
SLIDE 80

Remarks on MRC

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • MRC MRC is not the same as the product

MRC · MRC

  • Semantics of pressed once depends on

previous content of memory

  • Is MRC ( MRC MRC )

= ( MRC MRC ) MRC ?

  • Calculator:

MRC ( MRC MRC ) = MRC MRC

  • A. Cerone, UNU-IIST – p.17/26
slide-81
SLIDE 81

Bad Design?

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Do we really need to give such a special

function to MRC MRC ?

  • A. Cerone, UNU-IIST – p.18/26
slide-82
SLIDE 82

Bad Design?

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Do we really need to give such a special

function to MRC MRC ?

  • No!

MRC MRC = MRC M−

  • A. Cerone, UNU-IIST – p.18/26
slide-83
SLIDE 83

Bad Design?

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Do we really need to give such a special

function to MRC MRC ?

  • No!

MRC MRC = MRC M−

  • MRC MRC is a bad design choice!
  • A. Cerone, UNU-IIST – p.18/26
slide-84
SLIDE 84

Bad Design?

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Do we really need to give such a special

function to MRC MRC ?

  • No!

MRC MRC = MRC M−

  • MRC MRC is a bad design choice!

[Thimbleby 00]

  • A. Cerone, UNU-IIST – p.18/26
slide-85
SLIDE 85

Safety-critical

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Is a calculator safety-critical?
  • A. Cerone, UNU-IIST – p.19/26
slide-86
SLIDE 86

Safety-critical

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Is a calculator safety-critical?
  • May a calculator-like interface be

safety-critical?

  • A. Cerone, UNU-IIST – p.19/26
slide-87
SLIDE 87

Safety-critical

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • Is a calculator safety-critical?
  • May a calculator-like interface be

safety-critical?

  • Yes!

Syringe pump have calculator-like interfaces

  • A. Cerone, UNU-IIST – p.19/26
slide-88
SLIDE 88

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Examinations

  • A. Cerone, UNU-IIST – p.20/26
slide-89
SLIDE 89

Seminar 6 — Usable Calculator

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Topic: Calculator Interfaces Towards a truly usable calculator

  • Harold Thimbleby

Computer Algebra for User Interface Design, 2004

  • Harold Thimbleby

A Novel Pen-based Calculator and its Evaluation, 2004

  • Will Thimbleby and Harold Thimbleby

A Novel Gesture-based Calculator and its Design Principles, 2005

  • Websites on
  • Computer Algebra: http://www.cs.swan.ac.uk/∼csharold/CA/
  • Calculator: http://www.cs.swan.ac.uk/calculators/
  • A. Cerone, UNU-IIST – p.21/26
slide-90
SLIDE 90

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

References

  • A. Cerone, UNU-IIST – p.22/26
slide-91
SLIDE 91

Reverse Engineering

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

  • [Thimbleby 04]: Reverse Engineering and

Matrix Algebra

  • [Gow and Thimbleby 2004]: Matrix Algebra

and Tools

  • [Thimbleby 00]: Reverse Engineering
  • A. Cerone, UNU-IIST – p.23/26
slide-92
SLIDE 92

[Thimbleby 04]

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Harold Thimbleby. User interface design with matrix algebra. ACM Transactions on Computer-Human Interaction, Vol. 11, No. 2, 2004, pages 181–236. About:

  • Reverse Engineering
  • Matrix Algebra
  • A. Cerone, UNU-IIST – p.24/26
slide-93
SLIDE 93

[Gow and Thimbleby 04]

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Jeremy Gow and Harold Thimbleby. MAUI: An Interface Design Tool Based on Matrix Algebra. In Proceedings of CADUI 2004, Springer, 2004, pages 81–94. About:

  • Tools
  • A. Cerone, UNU-IIST – p.25/26
slide-94
SLIDE 94

[Thimbleby 00]

Reverse Engineering | Matrix Algebra | Pushbutton | Safety | Two-position | Remarks on Matrix Algebra | Calculator | Exams | Refs

Harold Thimbleby. Calculators are needlessly bad. International Journal of Computer-Human Studies, Vol. 52, No. 6, 2000, pages 1031–1069. About:

  • Reverse Engineering of Calculatos
  • A. Cerone, UNU-IIST – p.26/26