CRUISE CONTROL AND
MONITORING SYSTEM
Case study
Luigi Tosetto
Indice

Descrizione del problema




Use case model





Strutturazione in sottosistemi
Collaboration diagrams
Subsystem structuring


Classi del mondo reale
System context model
Dynamic modeling


Packages
Descrizione use cases
Static modeling


Descrizione informale
Funzionalità
Controllo del processo
Dipendenze fra sottosistemi
Refined static modeling
User
1
Requirements
Modeling
2
Analisys software life cycle model (Requirements Modeling)
COMET object-oriented
5
Modeling
4
Design
Modeling
3
6
Incremental
Software
7
Construction
Throwaway
Prototyping
13
12
11
10
Icremental
Software
Integration
8
Incremental
Prototyping
9
15
System
Testing
14
COMET object-oriented software life cycle model
Customer
Descrizione del problema
(informale)

Punto di partenza per analisi e design
To:
Vehicle Systems Engineering Division
From:
GMU Product Line Marketing Group
Subject: 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
…
Funzioni - Funzionalità



Automatic cruise control
 ACCEL
 OFF
 RESUME
Attivate e controllate da cruise control lever
Calibrazione
Impostazione costante di calibrazione (numero di rotazioni
dell’albero motore per miglio)
Monitoraggio
Monitoraggio 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
Funzioni - Funzionalità



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
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
Speed Control algorithm for Cruise Control (no UML notation)
Enable/Disable
Set point:
Desired
speed
Speed
Shaft (wheel) rotation
Adjustement to throttle value
Engine
Control
Controlled variable = current speed
Pulses from shaft
Current speed
Speed Control algorithm for Cruise Control (no UML notation)
Use case model
Package


Raggruppamento use case per attore
Raggruppamento use case per funzionalità descritta
Nel nostro caso: raggruppamento per funzionalità
Cruise Control Use Case Package
Monitoring Use Case Package
Attori
Driver
Technician

Shaft
Timer

Nota: Shaft e Timer sono attori perché agiscono
indipendentemente da Driver
Cruise Control Use Cases
«use case package»
Cruise Control
UseCasePackage
Update Shaft Rotation Count
Shaft
Contol Speed
Determine Distance and Speed
Perform Calibration
Driver
Timer
Cruise Control Use Case
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
Monitoring Use Cases
«use case package»
Monitoring
UseCasePackage
Driver
Technician
Reset Trip Speed
Calculate Trip Speed
Reset Trip Fuel Consumption
Calculate Trip Fuel Consumption
Reset Oil Maintenance
Check Oil Maintenance
Reset Air Filter Maintenance
Check Air Filter Maintenance
Reset Major Service Maintenance
Check Major Service Maintenance
Timer
User
1
Requirements
Modeling
2
Analisys
COMET object-oriented
software life cycle model (Analisys Modeling)
5
Modeling
4
Design
Modeling
3
6
Incremental
Software
7
Construction
Throwaway
Prototyping
13
12
11
10
Icremental
Software
Integration
8
Incremental
Prototyping
9
15
System
Testing
14
COMET object-oriented software life cycle model
Customer
Static Modeling
Classi 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
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

Cruise Control I/O
CruiseControL
Lever
Brake
Engineof problem domain
Shaft
Static model
Button
Sensore
Attuatore
Dispositivo input
Dispositivo output
CalibrationButton
TripResetButton
Clock
Display
TripDisplay
MaintenanceReset
Button
GasTank
MaintenanceDisplay
Static model of problem domain
Throttle
System context model
Derivato 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
«external input
device»
1
Cruise
ControlLever
«external input
device»
Technician
«external input
device»
MaintenanceReset
Button
Shaft
1
Input to
Shaft
3
Input to
«external
input and Monitoring System: system
Cruise Control
context
class diagram
device»
Brake
1 Input to
Input to
1
1
1
1
«system»
«external input
device»
Input to 1
1
Engine
Driver
Input to
«external input
device»
TripResetButton
1
1
1
1
Output to
«external output
1
device»
Input to
2
Output to
1
Timer
Clock
1
2
CalibrationButton Input to
«external input
device»
1
Cruise
Control&Monitoring
System
Awakens «external timer»
1
1
Throttle
Output to
1
1
«external output
device»
«external output
device»
«external input
device»
TripDisplay
Maintenance
Display
GasTank
Cruise Control and Monitoring System: system context class diagram
Strutturazione in
sottosistemi
«system»
CruiseControl
&Monitoring
System
«subsystem»
«subsystem»
CruiseControl
Subsystem
Monitoring
Subsystem
note
«external input
device»
«system»
1
1
Cruise Control
&Monitoring
System
Cruise
ControlLever
«external input
device»
Shaft
Shaft
1
1
«external output
«external input
Cruise Control & Monitoring System: major subsystem relationship
«subsystem»
device»
1
device»
1
1
1
1
Cruise Control
Throttle
Brake
1
«external input
device»
1
«subsystem»
«external input
device»
«external input
device»
Monitoring
Subsystem
2
1
CalibrationButton
2
TripResetButton
Technician
1
1
«depends on»
Engine
Driver
Subsystem
1
3
1
«external timer»
1
1
1
Clock
1
1
Timer
«external input
device»
GasTank
1
1
«external input
device»
«external output
device»
«external output
device»
MaintenanceReset
Button
TripDisplay
MaintenanceDisplay
Cruise Control & Monitoring System: major subsystem relationship
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
User
1
Requirements
Modeling
2
Analisys
COMET object-oriented
software life cycle model (Design Modeling)
5
Modeling
4
Design
Modeling
3
6
Incremental
Software
7
Construction
Throwaway
Prototyping
13
12
11
10
Icremental
Software
Integration
8
Incremental
Prototyping
9
15
System
Testing
14
COMET object-oriented software life cycle model
Customer
Cruise Control Subsystem
Use case
Subsystem
Update Shaft Rotation
Count
Shaft
Determine Distance and
Speed
Distance & Speed
Perform Calibration
Calibration
Control Speed
Auto Control
Monitoring Subsystem
Use case
Subsystem
Reset Trip Speed
Calculate Trip Speed
Reset Fuel Consumption
Calculate Fuel Consumption
Trip Averages
Reset Oil Maintenance
Check Oil Maintenance
Reset Air Filter Maintenance
Check Air Filter Maintenance
Reset Major Service Maintenance
Check Major Service Maintenance
Maintenance
«system»
CruiseControl&MonitoringSystem
«subsystem»
CruiseControlSubsystem
«subsystem»
«subsystem»
MonitoringlSubsystem
Sottosistemi
«subsystem»
TripAverages
Subsystem
AutoControl
Subsystem
«subsystem»
Distance&Speed
Subsystem
«subsystem»
Calibration
Subsystem
«subsystem»
Shaft
Subsystem
«subsystem»
Maintenance
Subsystem
«system»
:CruiseControl&MonitoringSystem
«subsystem»
:CruiseControlSubsystem
«subsystem»
:MonitoringlSubsystem
«subsystem»
«subsystem»
«subsystem»
:TripAverages
Subsystem
:Maintenance
Subsystem
Sottosistemi (dettaglio)
:AutoControl
Subsystem
Read(out
currentSpeedValue)
«subsystem»
:Calibration
Subsystem
«entity»
:Calibration
Constant
«subsystem»
:Distance&Speed
Subsystem
«entity»
:Current
Speed
Read(out
calibration
ConstantValue)
Read(out
shaftRotation
CountValue)
«entity»
:Distance
Read(out
shaftRotation
CountValue)
«subsystem»
:Shaft Subsystem
«entity»
:ShaftRotation
Count
Read(out
cumulativr
Distance)
Read(out
cumulative
Distance)
Refined Static Modeling
«input device interface»
BooleanInputDeviceInterface
«input device interface»
CruiseControlLeverInterface
Notifies
«algorithm»
Acceleration
«algorithm»
Cruiser
«algorithm»
Resumption
«state dependent control»
StateMachine
«input device interface»
«input device interface»
Class diagram for Cruise
Control Subsystem
BrakeInterface
EngineInterface
Notifies
«state dependent control»
CruiseControlStateMachine
Controls
«timer»
Timer
Notifies
Controls
«entity»
DesiredSp
Uses
eed
«algorithm»
SpeedControlAlgorithm
Triggers
Uses
Triggers
«entity»
Current
Speed
Uses
Uses
«entity»
Distance
Uses
Outputs to
«output device interface»
ThrottleInterface
«input device interface»
CalibrationButtonInterface
«state depandent control»
CalibrationControl
Controls
Class diagram for Cruise Control Subsystem
Notifies
«entity»
Calibration
Constant
«input device
interface»
ShaftInterface
Updates
Uses
«entity»
ShaftRotation
Count
«input device interface»
ButtonInterface
«input device
interface»
CalibrationButton
Interface
«input device
«input device
interface»Class diagram
interface»
for Monitoring Subsystem
TripResetButton
MaintenanceReset
Interface
ButtonInterface
Resets
Triggers
Displays on
«algorithm»
TripAverage
Uses
«algorithm»
TripSpeed
«algorithm»
TripFuel
Consumption
«output device
interface»
TripDisplay
Interface
Class diagram for Monitoring Subsystem
Resets
«timer»
Timer
Triggers
«entity»
Distance
Uses
«algorithm»
OilChange
Maintenance
«output device
interface»
DisplayInterface
Displays on
«algorithm»
Maintenance
«algorithm»
AirFilter
Maintenance
«algorithm»
MajorService
Maintenance
«output device
interface»
Maintenance
DisplayInterface
Scarica

tosetto