Tutorial 1: Modelling Computing and Abstract Machines

Unit 2 ยท Section 1

Objectives

An abstract machine is a simplified model with states, symbols or inputs, transitions, and outputs. A finite-state machine is useful for menus, protocols, validation, and device control.

state: Locked
input: validKey
transition: Locked -> Open
output: unlock signal

Exercises

  1. Model a vending machine as states and transitions.
  2. Identify invalid transitions.
  3. Translate a state table into pseudocode.

Self-check

  1. What is machine state?
  2. What triggers a transition?
  3. Why simplify a model?

Self-Check Quiz

1. What does a transition consume?

AnswerIt responds to an input or condition and changes the current state, possibly producing output.

2. Is an abstract machine a physical CPU?

AnswerNot necessarily; it is a model used to reason about computation.

Homework

  1. Build a state-machine model for an online checkout.
  2. List states, events, outputs, and invalid actions.
  3. Explain one implementation consequence.
Sample answerStates include Cart, Payment, Confirmed, and Failed. Payment success moves to Confirmed; invalid payment moves to Failed; a confirmed order cannot be paid again. The implementation needs explicit state and guarded transitions.