CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.
-
Upload
rossella-paolini -
Category
Documents
-
view
218 -
download
0
Transcript of CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto.
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
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
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…
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
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à
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)
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)
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
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
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
«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
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
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
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
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
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
Strutturazione in sottosistemi
«system»
CruiseControl &Monitoring
System
«subsystem»
CruiseControl Subsystem
«subsystem»
MonitoringSubsystem
note
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
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
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
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
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
«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»
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)
Refined Static Modeling
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
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