Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRossella Paolini Modificato 9 anni fa
1
CRUISE CONTROL AND MONITORING SYSTEM Case study Luigi Tosetto
2
Indice Descrizione del problema Descrizione informale Funzionalità 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
3
COMET object-oriented software life cycle model (Requirements Modeling) User Requirements Modeling 1 Analisys Modeling Design Modeling Incremental Software Construction Icremental Software Integration Throwaway Prototyping 2 34 5 6 7 System Testing 8 Incremental Prototyping 9 10111213 Customer 14 15 COMET object-oriented software life cycle model
4
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 …
5
Funzioni - Funzionalità Automatic cruise control ACCEL OFF RESUME Attivate e controllate da cruise control lever Calibrazione Impostazione costante di 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
6
ACCEL – OFF – RESUME ACCEL L’automobile accelera senza l’uso del pedale Dopo il rilascio della leva viene mantenuta la velocità raggiunta OFF Sistema di guida disabilitato Disabilitazione automatica con uso del pedale del freno RESUME Ripristino della velocità precedentemente memorizzata Velocità memorizzata cancellata allo spegnimento del motore
7
Pressione pulsante Start Calibration all’inizio della misurazione del miglio Pressione pulsante Stop Calibration alla fine della misura Calibration Constant
8
Manutenzione Ogni 5000 miglia cambio olio Ogni 10000 miglia cambio olio e filtro aria Ogni 15000 miglia ulteriore manutenzione 1 pulsante di reset per ogni indicatore di manutenzione Su display di manutenzione: a 250 miglia dal prossimo intervento messaggio intermittente a 50 miglia dal prossimo intervento messaggio costante sono ammessi messaggi multipli
9
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à
10
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
11
Speed Control algorithm for Cruise Control (no UML notation) Speed Control Engine Enable/Disable Set point: Desired speed Adjustement to throttle value Shaft (wheel) rotation Controlled variable = current speed Pulses from shaftCurrent speed Speed Control algorithm for Cruise Control (no UML notation)
12
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 Use case model Attori Nota: Shaft e Timer sono attori perché agiscono indipendentemente da Driver Driver Technician Shaft Timer
13
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
14
Update Shaft Rotation Count Attore: Shaft Sommario: descrive l’attivazione dello Shaft Rotation Count al termine di ogni rivoluzione dell’albero motore Precondizione: l’auto è in moto Descrizione: ad ogni rivoluzione dell’albero è generato un interrupt, usato per contare il numero di rivoluzioni. Tale valore serve per il calcolo della distanza percorsa e della velocità corrente Alternative: condizione di errore – l’interrupt non è ricevuto Postcondizione: Shaft rotation count aggiornato
15
Control Speed (1) Attore: Driver Sommario: descrive il controllo del sistema di guida dati gli input del conducente attraverso la leva di controllo della velocità, il freno e i dispositivi di input esterni al motore Precondizione: il conducente ha acceso il motore e sta usando l’auto manualmente Descrizione: (tramite scenario) il conducente sposta la leva su ACCEL mantenendola in quella posizione. Il sistema inizia l’accelerazione automatica e l’auto accelera il conducente rilascia la leva per mantenere la velocità raggiunta. Il sistema smette di accelerare e mantiene la velocità raggiunta dell’auto, che viene memorizzata per riferimenti futuri
16
Control Speed (2) il conducente usa il freno per disabilitare il sistema di guida automatico. L’auto è sotto il controllo manuale il conducente sposta la leva sulla posizione di RESUME per ripristinare il sistema di guida. Il sistema inizia una accelerazione (o decelerazione) per raggiungere la velocità precedentemente memorizzata quando la velocità memorizzata viene raggiunta questa viene mantenuta dal sistema il conducente sposta la leva sulla posizione OFF. Il sistema disabilita il controllo automatico e l’auto è sotto il controllo manuale il conducente ferma l’auto e spegne il motore
17
Control Speed (3) Alternative: il conducente interagisce col sistema usando tre dispositivi di input (leva, freno, motore). Input del conducente e reazioni del sistema Leva evento Accel causa accelerazione automatica se non viene premuto il freno evento Cruise può solo seguire evento Accel evento Resume deve essere preceduto da disabilitazione del sistema di controllo e memorizzazione della velocità raggiunta evento Off disabilita sempre il sistema di controllo
18
Control Speed (4) Freno evento Brake Pressed disabilita il sistema di guida automatico. Il controllo automatico del veicolo non è possibile mentre il freno è premuto. Dopo aver rilasciato il freno il controllo automatico può essere ripristinato Motore evento Engine Off disabilita ogni attività del sistema Postcondizione: auto ferma con motore spento
19
Determine Distance and Speed Attore: Timer Sommario: permette di calcolare periodicamente la distanza percorsa e la velocità corrente dell’auto Precondizione: l’auto è in moto e lo shaft rotation count è stato aggiornato Descrizione: la distanza totale è aggiornata aggiungendovi quella incrementale. Si calcola l’incremento dello shaft rotation count e si ottiene la distanza incrementale dividendo tale valore per la costante di calibrazione. La velocità corrente si calcola dividendo l’incremento della distanza per l’incremento del tempo Alternative: condizione di errore – l’interrupt non è ricevuto Postcondizione: Shaft rotation count aggiornato
20
Perform Calibration (1) Attore: Driver Sommario: il conducente preme i pulsanti di Start e Stop calibration per ricalcolare la costante di calibrazione Precondizione: esiste un valore precedente per la costante di calibrazione Descrizione: ci sono due pulsanti per la calibrazione, quello di start e quello di stop. Il conducente preme Start Calibration all’inizio del miglio da misurare. Si attiva il processo di calibrazione. Il conducente preme Stop Calibration alla fine del miglio misurato. Il sistema calcola la costante di calibrazione che è il numero di rotazioni dell’albero motore per miglio
21
Perform Calibration (2) Alternative: premendo due volte consecutivamente Start Calibration il processo di misurazione ricomincia se il nuovo valore differisce da quello nominale per più del 10%, la costante non viene aggiornata Postcondizione: la costante di calibrazione è stata aggiornata
22
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
23
«use case package» Monitoring UseCasePackage 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
24
Reset Trip Speed Attore: Driver Sommario: il conducente richiede al sistema di reinizializzare il calcolo della velocità media Precondizione: trip average display operativo Descrizione: il conducente preme il pulsante Trip Speed Reset, il sistema reinizializza il calcolo della velocità media e ne cancella il valore precedente dal display Postcondizione: velocità media reinizializzata
25
Check Maintenance (Oil - Air - Major Service) Attore: Timer Sommario: periodicamente il sistema controlla se è richiesto un servizio Precondizione: distanza dell’ultimo servizio effettuato memorizzata Descrizione: il timer attiva lo use case e il sistema determina la distanza percorsa sottraendola a quella dell’ultimo servizio effettuato. Tale valore viene confrontato con la distanza alla quale occorre ripetere il servizio, se mancano 250 miglia o meno viene mostrato un messaggio intermittente, se siamo entro 50 miglia dalla ripetizione il messaggio è mostrato costantemente Postcondizione: controllo di manutenzione effettuato. Se necessario è stato mostrato un messaggio
26
Reset Maintenance (Oil - Air - Major Service) Attore: Technician Sommario: il tecnico preme il pulsante Service Reset per indicare che il servizio è stato effettuato Precondizione: il tecnico ha effettuato il servizio Descrizione: il tecnico preme il pulsante Service Reset per indicare che il servizio è stato effettuato e il sistema memorizza la distanza alla quale è stato compiuto Postcondizione: è stata memorizzata la distanza alla quale il servizio è stato compiuto
27
Altre descrizioni (informali) Calclucate Trip Speed Periodicamente il sistema calcola la velocità media dell’auto Calclucate Trip Fuel Consumption Periodicamente il sistema calcola il consumo medio di carburante dell’auto Reset Trip Fuel Consumption Il conducente preme il pulsante Trip Fuel Consumption Reset per reinizializzare il calcolo del consumo medio di carburante
28
COMET object-oriented software life cycle model (Analisys Modeling) User Requirements Modeling 1 Analisys Modeling Design Modeling Incremental Software Construction Icremental Software Integration Throwaway Prototyping 2 34 5 6 7 System Testing 8 Incremental Prototyping 9 10111213 Customer 14 15 COMET object-oriented software life cycle model
29
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 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
30
Static model of problem domain GasTank EngineThrottleShaft CruiseControL Lever Brake Cruise Control I/O Button TripResetButton CalibrationButton MaintenanceReset Button Display Clock TripDisplayMaintenanceDisplay Static model of problem domain Sensore Attuatore Dispositivo input Dispositivo output
31
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
32
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» Maintenance Display «external output device» TripDisplay Driver Technician Shaft Timer 3 1 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 1 1 1 1 1 1 1 Output to Input to Output to Awakens Cruise Control and Monitoring System: system context class diagram
33
Strutturazione in sottosistemi «system» CruiseControl &Monitoring System «subsystem» CruiseControl Subsystem «subsystem» Monitoring Subsystem note
34
Dipendenza: la distanza complessiva è calcolata in Determine Distance and Speed ma usata nel Monitoring Subsystem Monitoring Subsystem può essere diviso in: Averages Subsystem Maintenance Subsystem Strutturazione in sottosistemi
35
Cruise Control & Monitoring System: major subsystem relationship «subsystem» Cruise Control Subsystem «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 2 2 11 1 1 1 «subsystem» Monitoring Subsystem 1 1 1 1 111 1 1 1 1 1 1 1 «system» Cruise Control &Monitoring System «depends on» Cruise Control & Monitoring System: major subsystem relationship
36
Collaboration diagrams Cruise Control Subsystem Update Shaft Rotation Count Control Speed (state dependent) Control Speed Determine Distance and Speed Perform Calibration (state dependent) Perform Calibration Monitoring Subsystem Reset/Calculate Trip Speed Reset/Calculate Trip Fuel Consumption Reset/Check Oil Maintenance
37
Collaboration diagram for Update Shaft Rotation Count use case «external input device» :Shaft «input device interface» :ShaftInterface «entity» :ShaftRotation Count Sh1: Shaft Input Sh1.1: Update Collaboration diagram for Update Shaft Rotation Count use case Subsystem
38
Collaboration diagram for Control Speed use case «external input device» :CruiseControlLever Collaboration diagram for Control Speed use case «input device interface» :CruiseControl LeverInterface «external input device» :Brake «external input device» :Engine «input deviceinterface» :BrakeInterface «input device interface» :EngineInterface «state dependent control» :CruiseControl «algoritm» :Acceleration «algoritm» :Cruiser «entity» :DesiredSpeed «algoritm» :Resumption «entity» :CurrentSpeed «output device interface» :ThrottleInterface «external output device» :Throttle C1: Accel Input, C2: Cruise Input, C4:Resume input, Off Input C1.1: Accel, C2.1: Cruise, C4.1:Resume, Off C3: Brake Input C3.1: Brake Pressed, Brake Released Engine Input Engine Off, Engine On C1.2: Enable Increase Speed, C2.2: Disable Increase Speed C2.6,C4.11: Enable Maintain Speed, C3.2: Disable Maintain Speed C2.7,C4.12: Read C2.3: Select Desired Speed, Celar Desired Speed C4.2:Enable Resume Cruising, C4.10: Disable Resume Cruising C4.9: Reaced Cruising C4.3: Read C2.8,C4.13: Desired Speed Value C1.5: Throttle Value C1.4: Current Speed Value C1.3: Read C2.11, C3.3, C4.16: Throttle Value C2.10,C4.15: Current Speed Value C2.9, C4.14: Read C2.5: Current Speed Value C2.4: Read C4.5: Read C4.4: DesiredSpeed Value C4.6: Current Speed Value C4.7: Throttle Value C1.6,C2.12,C4.8,C4.17: Throttle Position Subsystem
39
Collaboration diagram for Control Speed use case (dettaglio) «algoritm» :Resumption «external output device» :Throttle «output device interface» :ThrottleInterface «entity» :CurrentSpeed «algoritm» :Cruiser «state dependent control» :CruiseControl «external input device» :CruiseControlLever Collaboration diagram for Control Speed use case «input device interface» :CruiseControl LeverInterface «entity» :DesiredSpeed C4:Resume input C4.1:Resume C4.11: Enable Maintain Speed C4.12: Read C4.2:Enable Resume Cruising, C4.10: Disable Resume Cruising C4.9: Reaced Cruising C4.3: Read C4.13: Desired Speed Value C4.16: Throttle Value C4.15: Current Speed Value C4.14: Read C4.5: Read C4.4: DesiredSpeed Value C4.6: Current Speed Value C4.7: Throttle Value C4.8,C4.17: Throttle Position
40
Cruise Control statechart Idle Cruising OffInitial Accelerating C1.2,C2.2: Do/Increase Speed C2.3: Exit/Select Desired Speed Resuming C4.2,C4.10: Do/Resume Cruising Cruising C2.6,C3.2,C4.11: Do/Maintain Speed Engine On/Clear Desired Speed Engine Off Engine Running C1.1: Accel [Brake Off] Automated Control Accel C2.1: Cruise C4.9: Reached Cruising Off C3.1: Brake Pressed Off Resume [Brake Off] Accel [Brake Off] Cruise Control statechart Collaboration
41
Collaboration diagram for Determine Distance and Speed use case «external timer» :Clock «timer» :DistanceTimer «entity» :CurrentSpeed «entity» :Distance «entity» :ShaftRotation Count «entity» :Calibration Constant D1: Timer Event D1.1: Calculate D1.2: Read D1.3: Calibration Constant Value D1.4: Read D1.5: Shaft Rotation Count Value D1.6: Incremental Distance D1.7: Calculate (incremental Distance) D1.8: Read D1.9: Current Time Collaboration diagram for Determine Distance and Speed use case Subsystem
42
Collaboration diagram for Perform Calibration use case «external input device» startCalibration Button «state dependent control» :CalibrationControl Ca1: Start Calibration Input Ca1.1: Calibration Start Collaboration diagram for Perform Calibration use case «entity» :Calibration Constant «entity» :ShaftRotation Count Ca1.2: Start, Ca2.2: Stop Ca2: Stop Calibration Input Ca2.1: Calibration Stop «input device interface» startCalibration ButtonInterface «external input device» stopCalibration Button «input device interface» stopCalibration ButtonInterface Ca1.3, Ca2.3: Read Ca1.4, Ca2.4: Shaft Rotation Count Value Subsystem
43
Statechart for Calibration Control object Collaboration Not Measuring Measuring Mile Ca2.1: Calibration Stop / Ca2.2: Stop Ca1.1: Calibration Start / Ca1.2: Start Calibration Start / Stop Statechart for Calibration Control object
44
Collaboration diagram for Reset and Calculate Trip Speed use case «external input device» tripSpeedReset Button «algorithm» :TripSpeed S1: Trip Speed Reset Input S1.1: Trip Speed Reset Collaboration diagram for Reset and Calculate Trip Speed use case «output device interface» :TripDisplay Interface «external output device» :TripDisplay S1.6: Initialize, S2.6: Average Speed «input device interface» tripSpeedReset ButtonInterface S2: Timer event S2.1: Calculate «external timer» :Clock «timer» tripSpeedTimer «entity» :Distance S1.2, S2.2: Read Distance S1.3,S2.3: Cumulative Distance S1.5, S2.5: Current Time S1.4, S2.4: Read S1.7,S2.7: Mileage Display Data
45
Collaboration diagram for Reset and Calculate Trip Fuel Consumption use case «output device interface» :TripDisplay Interface «external input device» :GasTank «algorithm» :TripFuel Consumption F1.4, F2.4: Fuel Input F1.5, F2.5: Fuel Amount Collaboration diagram for Reset and Calculate Trip Fuel Consumption use case «external output device» :TripDisplay F1.8: Initialize, F2.8: Average Fuel Consumption «input device interface» :GasTankInterface F1: fuel Consumption Reset Input F1.1: Fuel Consumption Reset «external input device» fuelConsumption ResetButton «input device interface» fuelConsumption ResetButtonInterface «entity» :Distance F1.6, F2.6: Read F1.7, F2.7: Cumulative Distance F1.9,F2.9: Mileage Display Data «external timer» :Clock F2: Timer Event «timer» fuelConsumption Timer F1.3, F2.3: Read F1.2, F2.2: Read F2.1: Calculate
46
Collaboration diagram for Reset and Check Oil Maintenance use case «external timer» :Clock «algorithm» :OilChange Maintenance M2: Timer Event M2.1: Check Collaboration diagram for Reset and Check Oil Maintenance use case «output device interface» :Maintenance Display Interface «external output device» :Maintenance Display M1.4,M2.4: Oil Service Status «timer» oilChangeTimer M1: Oil Change Reset Input M1.1: Oil Change Reset «external input device» oilChangeReset Button «input device interface» oilChangeReset ButtonInterface «entity» :Distance M1.2,M2.2: Read Distance M1.3,M2.3: Cumulative Distance M1.5,M2.5: Maintenance Display Data
47
COMET object-oriented software life cycle model (Design Modeling) User Requirements Modeling 1 Analisys Modeling Design Modeling Incremental Software Construction Icremental Software Integration Throwaway Prototyping 2 34 5 6 7 System Testing 8 Incremental Prototyping 9 10111213 Customer 14 15 COMET object-oriented software life cycle model
48
Cruise Control Subsystem Use caseSubsystem Update Shaft Rotation Count Shaft Determine Distance and Speed Distance & Speed Perform CalibrationCalibration Control SpeedAuto Control
49
Shaft Subsystem Shaft Input Update «external input device» :Shaft «external device interface» :ShaftInterface «entity» :Distance Shaft Rotation Count Value «entity» :ShaftRotation Count «data collection subsystem» :ShaftSubsystem Read «subsystem» :Distance&Speed Subsystem Collaboration
50
Distance & Speed Subsystem Timer Event Calculate «external timer» :Clock «timer» :DistanceTimer «entity» :CurrentSpeed Read «entity» :Distance «data analysis subsystem» :Distance&Speed Subsystem Incremental Distance Calculate (Incremental Distance) Collaboration «entity» :Calibration Constant «entity» :ShaftRotation Count Read Shaft Rotation Count Value Calibration Constant Value
51
«state dependent control» :Calibration Control Calibration Subsystem Start Calibration Input «external input device» startCalibration Button «input device interface» startCalibration ButtonInterface «entity» :ShaftRotation Count Start, Stop «data analysis subsystem» :Calibration Subsystem Calibration Strat Collaboration «entity» :Calibration Constant Read Shaft Rotation Count Value «external input device» stopCalibration Button Stop Calibration Input «input device interface» stopCalibration ButtonInterface Calibration Stop
52
Auto Control Subsystem «external input device» :CruiseControlLever Auto Control Subsystem «input device interface» :CruiseControl LeverInterface «external input device» :Brake «external input device» :Engine «input deviceinterface» :BrakeInterface «input device interface» :EngineInterface «state dependent control» :CruiseControl «algoritm» :Acceleration «algoritm» :Cruiser «entity» :DesiredSpeed «algoritm» :Resumption «entity» :CurrentSpeed «output device interface» :ThrottleInterface «external output device» :Throttle Cruise Control Input Accel, Cruise, Resume, Off Brake Input Brake Pressed, Brake Released Engine Input Engine Off, Engine On Enable Increase Speed, Disable Increase Speed Enable Maintain Speed, Disable Maintain Speed Read Select Desired Speed, Celar Desired Speed Enable Resume Cruising, Disable Resume Cruising Reaced Cruising Read Desired Speed Value Throttle Value Current Speed Value Read Throttle Value Current Speed Value Read Current Speed Value Read Desired Speed Value Current Speed Value Throttle Value Throttle Position Collaboration «control subsystem» :AutoControlSubsystem
53
Monitoring Subsystem Maintenance Reset Oil Maintenance Check Oil Maintenance Reset Air Filter Maintenance Check Air Filter Maintenance Reset Major Service Maintenance Check Major Service Maintenance Trip Averages Reset Trip Speed Calculate Trip Speed Reset Fuel Consumption Calculate Fuel Consumption SubsystemUse case
54
Trip Averages Subsystem 1 «external output device» :TripDisplay «external input device» :GasTank «algorithm» :TripFuelConsumption Fuel Input Fuel Amount Trip Averages Subsystem 1 «output device interface» :TripDisplayInterface Initialize, Average Fuel Consumption «input device interface» :GasTankInterface Fuel Consumption Reset Input Fuel Consumption Reset «external input device» fuelConsumption ResetButton «input device interface» fuelConsumption ResetButtonInterface «entity» :Distance Read Cumulative Distance Mileage Display Data «external timer» :Clock Timer Event «timer» fuelConsumption Timer Read Calculate
55
Trip Averages Subsystem 2 «input device interface» tripSpeedReset Button «external output device» :TripDisplay Trip Averages Subsystem 2 «output device interface» :TripDisplayInterface «entity» :Distance Mileage Display Data «external timer» :Clock «timer» tripSpeedTimer «external input interface» tripSpeedReset ButtonInterface «algorithm» :TripSpeed Current Time Read Timer Event Calculate Initialize, Average Speed Read Cumulative Distance TripSpeed Reset Trip Speed Reset Input
56
Trip Averages Subsystem «input device interface» tripSpeedReset Button «external output device» :TripDisplay «external input device» :GasTank «algorithm» :TripFuelConsumption Fuel Input Fuel Amount Trip Averages Subsystem «output device interface» :TripDisplayInterface Initialize, Average Fuel Consumption «input device interface» :GasTankInterface Fuel Consumption Reset Input Fuel Consumption Reset «external input device» fuelConsumption ResetButton «input device interface» fuelConsumption ResetButtonInterface «entity» :Distance Read Cumulative Distance Mileage Display Data «external timer» :Clock Timer Event «timer» fuelConsumption Timer Read Calculate «timer» tripSpeedTimer «external input interface» tripSpeedReset ButtonInterface «algorithm» :TripSpeed Current Time Read Timer Event Calculate Initialize, Average Speed Read Cumulative Distance «data analysis subsystem» TripAverage Subsystem TripSpeed Reset Trip Speed Reset Input
57
Maintenance Subsystem 1 «input device interface» oilChangeReset ButtonInterface «external timer» :Clock «algorithm» :OilChange Maintenance Timer Event Check Maintenance Subsystem 1 «output device interface» :Maintenance Display Interface «external output device» :Maintenance Display Oil Change Status «timer» oilChange Timer Oil Change Reset Input Oil Change Reset «external input device» oilChangeResetButton «entity» :Distance Read Cumulative Distance Maintenance Display Data
58
Maintenance Subsystem «input device interface» oilChangeReset ButtonInterface «external timer» :Clock «algorithm» :OilChange Maintenance Timer Event Check Maintenance Subsystem «output device interface» :Maintenance Display Interface «external output device» :Maintenance Display Oil Change Status «timer» oilChange Timer Oil Change Reset Input Oil Change Reset «external input device» oilChangeResetButton «entity» :Distance Read Cumulative Distance Maintenance Display Data «timer» airFilter Service Timer «input device interface» airFilterService Reset ButtonInterface «external input device» airFilterService ResetButton «timer» major Service Timer «input device interface» majorService Reset ButtonInterface «algorithm» :AirFilterService Maintenance «algorithm» :MajorService Maintenance «external input device» majorService ResetButton Timer Event Air Filter Service Reset Input Timer Event Major Service Reset Input «data analysis subsystem» :Maintenance Subsystem Check Air Filter Service Reset Check Major Service Reset Air Filter Service Status Read Cumulative Distance Major Service Status Read Cumulative Distance
59
«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»
60
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» :Distance «entity» :Calibration Constant «entity» :ShaftRotation Count Read(out currentSpeedValue) Read(out calibration ConstantValue) Read(out shaftRotation CountValue) Read(out cumulativr Distance)
61
Refined Static Modeling
62
Class diagram for Cruise Control Subsystem «entity» Calibration Constant «entity» ShaftRotation Count «entity» Current Speed «entity» DesiredSp eed «input device interface» BooleanInputDeviceInterface «input device interface» BrakeInterface «input device interface» EngineInterface «input device interface» CruiseControlLeverInterface «state dependent control» CruiseControlStateMachine Notifies «timer» Timer «entity» Distance Triggers Uses «algorithm» SpeedControlAlgorithm Uses 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 Controls Uses «input device interface» ShaftInterface Updates Uses Class diagram for Cruise Control Subsystem
63
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» Distance Uses Triggers «algorithm» TripFuel Consumption «algorithm» TripSpeed «algorithm» Maintenance «algorithm» MajorService Maintenance «algorithm» AirFilter Maintenance «algorithm» OilChange Maintenance Triggers Uses Resets «output device interface» Maintenance DisplayInterface «output device interface» DisplayInterface Displays on
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.