Viewingcoffee-machine
version main
·commit 1ec97db8New versionCompare

Structure

The containment tree of blocks, actors and use cases, plus the model's signals and interfaces.

Add element

Structure

  • Coffeeblock«Block»edit
  • Coffee Beansblock«Block»edit
  • Coffee Consumeractor«Actor»edit
  • Coffee Machineblock«Block»edit
    • Brew Systemblock«Block»edit
    • Coffee Stateblock«InterfaceBlock»edit
    • Drink outletblock«InterfaceBlock»edit
    • Electrical Systemblock«Block»edit
    • GPOblock«InterfaceBlock»edit
    • Waste Portblock«InterfaceBlock»edit
    • Water Flow Portblock«InterfaceBlock»edit
    • Water Systemblock«Block»edit
  • Coffee Machine Productionblock«Block»edit
  • Coffee Machine Systemblock«Block»edit
    • Brew Subsystemblock«Block»edit
      • Bean Storageblock«Block»edit
      • Brewing Unitblock«Block»edit
      • Doser Unitblock«Block»edit
      • Grinderblock«Block»edit
      • Grounds Drawerblock«Block»edit
    • Control Subsystemblock«Block»edit
      • Control Moduleblock«Block»edit
      • User Interface Panelblock«Block»edit
    • Dispensing Subsystemblock«Block»edit
      • Coffee Outletblock«Block»edit
      • Drip Trayblock«Block»edit
    • Power Subsystemblock«Block»edit
      • Door Switchblock«Block»edit
      • Mains Cordblock«Block»edit
      • Mains Switchblock«Block»edit
      • Power Supplyblock«Block»edit
    • Water Subsystemblock«Block»edit
      • Boilerblock«Block»edit
      • Flow Meterblock«Block»edit
      • Water Pumpblock«Block»edit
      • Water Tankblock«Block»edit
      • Water Valveblock«Block»edit
  • Isolate Power (RCD trip)blockedit
  • Maintenance Operatoractor«Actor»edit
  • Make Coffeeusecase«UseCase»edit
  • Refill Coffee Beansusecase«UseCase»edit
  • Refill Water Tankusecase«UseCase»edit
  • Remove Wasteusecase«UseCase»edit
  • Select Coffeeusecase«UseCase»edit
  • Waterblock«Block»edit
  • Water Heating Analysis Contextblock«Block»edit
    • Boiler Observerblock«Block»edit
  • Water Inletblock«InterfaceBlock»edit
  • Water Temperature Constraintblock«ConstraintBlock»edit

Signals

  • Command
  • Power
  • Coffee Selection
  • Brew Complete
  • PowerOff
  • PowerOn
  • Selection Made
  • Short Detected
  • Target Time Reached

State and activity

State machine: Coffee Machine STM

Region 1

  • Initialisingentry: Initialise System
  • Idleentry: Check Systemdo: Select Coffee
  • Brewingdo: Brew Coffee

Region 2

  • Heating On
  • Heating Off

Region 3

  • Off
  • On

Transitions

  • Initialising → Idle [after(30s)]
  • Idle → Brewing [signal:Selection Made]
  • Brewing → Idle [signal:Brew Complete /Clean System]
  • Heating On → Heating Off [after(60s)]
  • Heating Off → Heating On [after(60s)]
  • Off → On [signal:PowerOn]
  • On → Off [signal:PowerOff]
  • On → Off [signal:Short Detected /Isolate Power (RCD trip)]

Activities

Boiler

  • InitialNode
  • ForkNode
  • AcceptEventAction — Target Time Reached
  • DecisionNode
  • MergeNode
  • OpaqueAction
  • OpaqueAction

Clean System

no nodes

Initialise System

no nodes

Check System

no nodes

Select Coffee

no nodes

Brew Coffee

  • InitialNode
  • ActivityFinalNode
  • AcceptEventAction
  • ForkNode
  • OpaqueAction — Heat Water
  • OpaqueAction — Grind Beans
  • OpaqueAction — Extract Coffee
  • OpaqueAction — Dispense Coffee

Heat Water

  • ActivityParameterNode — input
  • ActivityParameterNode — output
  • InitialNode
  • OpaqueAction — Open Valve
  • OpaqueAction — Close Valve
  • FlowFinalNode
  • OpaqueAction — Read Coffee Size
  • MergeNode — Merge 1
  • OpaqueAction — Measure Water
  • DecisionNode — Correct Volume?
  • ForkNode — Fork 2
  • OpaqueAction — Pump Water
  • ForkNode — Fork 1
  • OpaqueAction — Stop Pump
  • FlowFinalNode
  • MergeNode — Merge 2
  • OpaqueAction — Heat Water
  • DecisionNode — Temp OK?

Boiler Observer

  • InitialNode
  • MergeNode
  • OpaqueAction
  • DecisionNode
  • SendSignalAction — Target Time Reached