CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

28
CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto

Transcript of CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Page 1: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

CRUISE CONTROL AND MONITORING SYSTEM

Case study

Luigi Tosetto

Page 2: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Indice Descrizione del problema

Descrizione informale Funzionalità Controllo del processo

Use case model Packages Descrizione use cases

Static modeling Classi del mondo reale System context model

Dynamic modeling Strutturazione in sottosistemi Collaboration diagrams

Subsystem structuring Dipendenze fra sottosistemi

Refined static modeling

Page 3: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

COMET object-oriented software life cycle model (Requirements Modeling)

User

Requirements Modeling

1

Analisys Modeling

Design Modeling

Incremental Software

Construction

Icremental

Software Integratio

n

ThrowawayPrototypi

ng

2

34

5

6

7

System Testing

8

Incremental

Prototyping

9

10111213

Customer

14

15

COMET object-oriented software life cycle model

Page 4: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Descrizione del problema(informale)

Punto di partenza per analisi e design

To: Vehicle Systems Engineering DivisionFrom: GMU Product Line Marketing GroupSubject: Cruise Control and Monitoring

System

As you might already know, we have decided to incorporate a combined cruise control and monitoring system in next year’s GMU model

…never offered before … standard equipment on sport version …increase the perceived value far more than the

incremental cost to build it…

Page 5: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Funzioni - Funzionalità Automatic cruise control

ACCEL OFF RESUMEAttivate e controllate da cruise control lever

CalibrazioneImpostazione costante di calibrazione (numero di rotazioni dell’albero motore per miglio)

MonitoraggioMonitoraggio della velocità media su display di viaggio (eventuale reset a inizio viaggio)Monitoraggio del consumo medio di carburante su display di viaggio (eventuale reset a inizio viaggio)Notifica di manutenzione

Page 6: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Nessuna interazione imprevista fra uso sistema di guida e uso di funzioni di monitoraggio

Velocità media e consumo medio di carburante possono essere funzioni separate dalle funzioni di manutenzione

Ovviamente: sistema real-time

Funzioni - Funzionalità

Page 7: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Controllo del processo L’algoritmo di controllo della velocità è attivato

attraverso sensori dal conducente Confronta la velocità da raggiungere con

quella corrente Aumenta o diminuisce la velocità agendo

sulla valvola in input al motore Il motore aumenta o diminuisce il numero di

giri dell’albero, che emette un segnale ad ogni rotazione, in base alla posizione della valvola in input

Il contatore di giri dell’albero determina nuovamente la velocità corrente

Page 8: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Speed Control algorithm for Cruise Control (no UML notation)

Speed

ControlEngine

Enable/DisableSet point:

Desired speed Adjustement to throttle

value

Shaft (wheel) rotation

Controlled variable = current speed

Pulses from shaft

Current speed

Speed Control algorithm for Cruise Control (no UML notation)

Page 9: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Package Raggruppamento use case per attore Raggruppamento use case per funzionalità descritta

Nel nostro caso: raggruppamento per funzionalità

Cruise Control Use Case PackageMonitoring Use Case Package

Use case model

Attori

Nota: Shaft e Timer sono attori perché agiscono indipendentemente da Driver

DriverTechnician

ShaftTimer

Page 10: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Cruise Control Use Cases

Update Shaft Rotation Count

Contol Speed

Determine Distance and Speed

Perform Calibration

«use case package»Cruise Control

UseCasePackage

Shaft

Timer

Driver

Page 11: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Note Control Speed e Determine Distance and

Speed sono use cases separati perché attivati da attori diversi (anche se il primo necessita del secondo)

Determine Distance and Speed e Update Shaft Rotation Count sono use cases separati perché il primo descrive un’attivià periodica, mentre il secondo descrive un’attività dipendente dalla velocità dell’auto

Cruise Control Use Case

Page 12: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

«use case package»

MonitoringUseCasePackage

Monitoring Use Cases

Reset Trip Speed

Driver

Timer

Technician

Reset Oil Maintenance

Reset Air Filter Maintenance

Reset Major Service Maintenance

Reset Trip Fuel Consumption

Calculate Trip Speed

Calculate Trip Fuel Consumption

Check Oil Maintenance

Check Air Filter Maintenance

Check Major Service Maintenance

Page 13: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

COMET object-oriented software life cycle model (Analisys Modeling)

User

Requirements Modeling

1

Analisys Modeling

Design Modeling

Incremental Software

Construction

Icremental

Software Integratio

n

ThrowawayPrototypi

ng

2

34

5

6

7

System Testing

8

Incremental

Prototyping

9

10111213

Customer

14

15

COMET object-oriented software life cycle model

Page 14: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Sensori/attuatori CruiseControlLever: sensore per richieste di controllo della velocità Engine: sensore di accensione/spegnimento del motore Brake: sensore del freno Shaft: sensore per rotazioni dell’asse Throttle: attuatore per il controllo automatico della velocità GasTank: sensore per il livello del carburante

Static ModelingClassi del mondo reale

Per un sistema real-time sono dispositivi di I/O fisici (sensori - attuatori) usati per interagire col sistema

Trasformate in classi esterne nel system context model

Page 15: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Static model of problem domain

GasTank

Engine ThrottleShaftCruiseControL

LeverBrake

Cruise Control I/O

Button

TripResetButtonCalibrationButton

MaintenanceResetButton

DisplayClock

TripDisplay MaintenanceDisplay

Static model of problem domain

SensoreAttuatoreDispositivo inputDispositivo output

Page 16: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

System context modelDerivato da static model

System context class diagram Definisce interfaccia fra sistema e ambiente

esterno Descritto tramite class diagram Mostra molteplicità delle associazioni

classi esterne-sistema

Nota: il conducente non è una classe esterna perché interagisce tramite dispositivi di I/O

Page 17: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Cruise Control and Monitoring System: system context class diagram

«system»

Cruise Control&Monitoring

System

«external input device»

Cruise ControlLever

«external input device»

Brake

«external input device»

Engine

«external input device»

CalibrationButton

«external input device»

TripResetButton

«external input device»

MaintenanceReset Button

«external input device»

Shaft

«external timer»

Clock

«external output device»

Throttle

«external input device»

GasTank

«external output device»

MaintenanceDisplay

«external output device»

TripDisplay

Driver

Technician

Shaft

Timer

3

1

1

1

1

11

1

11

1

2

1

2

1

1

1

1

1

1

1

1

11

Output to

Input to

Input to

Input to

Input to

Input to

Input to

Input to

Input to

Output to

Output to

Awakens

Cruise Control and Monitoring System: system context class diagram

Page 18: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Strutturazione in sottosistemi

«system»

CruiseControl &Monitoring

System

«subsystem»

CruiseControl Subsystem

«subsystem»

MonitoringSubsystem

note

Page 19: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Cruise Control & Monitoring System: major subsystem relationship«subsystem»

Cruise ControlSubsystem

«external input device»

Cruise ControlLever

«external input device»

Brake

«external input device»

Engine

«external input device»

CalibrationButton

«external input device»

TripResetButton

«external input device»

MaintenanceReset Button

«external input device»

Shaft

«external timer»

Clock

«external output device»

Throttle

«external input device»

GasTank

«external output device»

MaintenanceDisplay

«external output device»

TripDisplay

Driver

Technician

Shaft

Timer

3

11

1

1

2

21 1

1

1

1

«subsystem»

Monitoring Subsystem

1

1

1

1

1 1 11

1

11

1

1

1

«system»

Cruise Control&Monitoring

System

«depends on»

Cruise Control & Monitoring System: major subsystem relationship

Page 20: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Collaboration diagrams Cruise Control Subsystem

Update Shaft Rotation Count Control Speed (state dependent) Determine Distance and Speed Perform Calibration (state dependent)

Monitoring Subsystem Reset/Calculate Trip Speed Reset/Calculate Trip Fuel Consumption Reset/Check Oil Maintenance

Page 21: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

COMET object-oriented software life cycle model (Design Modeling)

User

Requirements Modeling

1

Analisys Modeling

Design Modeling

Incremental Software

Construction

Icremental

Software Integratio

n

ThrowawayPrototypi

ng

2

34

5

6

7

System Testing

8

Incremental

Prototyping

9

10111213

Customer

14

15

COMET object-oriented software life cycle model

Page 22: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Cruise Control Subsystem

Use case Subsystem

Update Shaft Rotation Count

Shaft

Determine Distance and Speed

Distance & Speed

Perform Calibration Calibration

Control Speed Auto Control

Page 23: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Monitoring Subsystem

Maintenance

Reset Oil MaintenanceCheck Oil Maintenance

Reset Air Filter MaintenanceCheck Air Filter Maintenance

Reset Major Service MaintenanceCheck Major Service Maintenance

Trip Averages

Reset Trip SpeedCalculate Trip Speed

Reset Fuel ConsumptionCalculate Fuel Consumption

SubsystemUse case

Page 24: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

«subsystem» CruiseControlSubsystem

«system» CruiseControl&MonitoringSystem

Sottosistemi«subsystem»

MonitoringlSubsystem

Distance&Speed Subsystem

«subsystem»

AutoControl Subsystem

«subsystem»

Calibration Subsystem

«subsystem»

Shaft Subsystem

«subsystem»

TripAverages

Subsystem

«subsystem»

Maintenance

Subsystem

«subsystem»

Page 25: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Sottosistemi (dettaglio)

Read(out cumulative Distance)

«system» :CruiseControl&MonitoringSystem

«subsystem» :CruiseControlSubsystem

«subsystem» :MonitoringlSubsystem

:Distance&Speed Subsystem

«subsystem»

:AutoControl Subsystem

«subsystem»

:Calibration Subsystem

«subsystem»

:Shaft Subsystem

«subsystem»

:TripAverages Subsystem

«subsystem»

:Maintenance Subsystem

«subsystem»

«entity» :Current Speed

«entity» :Distanc

e

«entity» :Calibration Constant

«entity» :ShaftRotation Count

Read(out currentSpeedVal

ue)

Read(out calibration

ConstantValue)

Read(out shaftRotatio

n CountValue)

Read(out shaftRotatio

n CountValue)

Read(out cumulativr Distance)

Page 26: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Refined Static Modeling

Page 27: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Class diagram for Cruise Control Subsystem

«entity»Calibration Constant

«entity»ShaftRotatio

n Count

«entity»Current Speed

«entity»DesiredS

peed

«input device interface»BooleanInputDeviceInterface

«input device interface»

BrakeInterface

«input device interface»EngineInterface

«input device interface»CruiseControlLeverInterface

«state dependent control»CruiseControlStateMachine

Notifies Notifies Notifies«timer»Timer

«entity»Distance

Triggers Triggers

UsesUses

«algorithm»SpeedControlAlgorithm

Uses

Controls

Controls

Uses

«algorithm»Acceleration

«algorithm»Cruiser

«algorithm»Resumption

«output device interface»ThrottleInterface

Outputs to

«state dependent control»StateMachine

«state depandent control»CalibrationControl

«input device interface»CalibrationButtonInterface

Notifies

ControlsUses

«input device

interface»ShaftInterfa

ceUpdates

Uses

Class diagram for Cruise Control Subsystem

Page 28: CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.

Class diagram for Monitoring Subsystem

«input device interface»ButtonInterface

Resets

Class diagram for Monitoring Subsystem

«input device interface»

CalibrationButton Interface

«input device interface»

TripResetButton Interface

«input device interface»

MaintenanceReset

ButtonInterface

«algorithm»

TripAverage

«output device interface»TripDisplay Interface

«timer»Timer

«entity»DistanceUses

Triggers

«algorithm»

TripFuel Consumpti

on

«algorithm»

TripSpeed

«algorithm»

Maintenance

«algorithm»

MajorService

Maintenance

«algorithm»

AirFilter Maintenan

ce

«algorithm»

OilChange Maintenan

ce

Triggers

Uses

Resets

«output device interface»

Maintenance DisplayInterface«output device

interface»DisplayInterface

Displays on Displays on