La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

COMET Elevator Control System Case Study - Prima parte - Elevator Control System Case Study.

Presentazioni simili


Presentazione sul tema: "COMET Elevator Control System Case Study - Prima parte - Elevator Control System Case Study."— Transcript della presentazione:

1 COMET Elevator Control System Case Study - Prima parte - Elevator Control System Case Study

2 - Problem description - Use Case Model * Select Destination Use CaseSelect Destination Use Case * Request Elevator Use CaseRequest Elevator Use Case * Abstract Use CasesAbstract Use Cases * Stop Elevator at Floor Abstract Use CaseStop Elevator at Floor Abstract Use Case * Dispatch Elevator Abstract Use CaseDispatch Elevator Abstract Use Case * Select Destination Concrete Use CaseSelect Destination Concrete Use Case * Request Elevator Concrete Use CaseRequest Elevator Concrete Use Case Indice

3 - Static Model - Object Structuring - Dynamic Model * Collaboration Diag. per Select Destination Use CaseCollaboration Diag. per Select Destination Use Case * Collaboration Diag. per Dispatch Elevator Abstract Use Case - Statechart Model - Fusione dei Collaboration Diagrams - Subsystem StructuringCollaboration Diag. per Dispatch Elevator Abstract Use CaseStatechart ModelFusione dei Collaboration DiagramsSubsystem Structuring * Refined Static ModelRefined Static Model

4 Elevator Control System Case Study L’ Elevator Control System in oggetto deve controllare uno o più ascensori. In particolare il sistema deve: schedulare gli ascensori per rispondere a richieste degli utenti ai vari piani controllare il movimento degli ascensori tra i piani

5 Problem Description Per ogni ascensore: elevator buttons elevator lamps elevator motor elevator door Indice

6 Problem Description Per ogni piano : up and down floor buttons floor lamps direction lamps: direzione di eventuale ascensore in arrivo Indice

7 Problem Description Inoltre: un solo floor button, una sola floor lamp e una sola direction lamp per ascensore al primo e ultimo piano in ogni albero motore ad ogni piano un arrival sensor Indice

8 Problem Description Caratteristiche hardware dei dispositivi di I/O: elevator buttons, floor buttons, arrival sensors: asincroni altri dispositivi di I/O: passivi elevator lamps, floor lamps: accese dall’hardware, ma spente dal software direction lamps accese e spente dal software. Indice

9 Use Case Model Attività della fase di Requirements Modeling Attori: Elevator User e Arrival Sensor Dalla descrizione informale del problema si identificano: Select Destination: l’utente nell’ascensore preme un up (o down) elevator button per selezionare un piano di destinazione Request Elevator: l’utente a un piano preme un up (o down) floor button per richiedere un ascensore Indice

10 Request Elevator Select Destination Use cases e attori di Elevator Control System Elevator User Arrival Sensor Indice Message sequence description per Select Destination Message sequence description per Request Elevator

11 Use Case Model: Select Destination Use Case Attori: Elevator User, Arrival Sensor Precondizione: L’utente è nell’ascensore Descrizione: L’utente preme un bottone per salire. Il sensore del bottone manda al sistema una richiesta, identificando il piano di destinazione che l’utente vuole visitare. La nuova richiesta è aggiunta alla lista dei piani da visitare. Se l’ascensore è fermo, il sistema determina in quale direzione muovere per servire la successiva richiesta. Il sistema comanda la chiusura della porta, quindi comanda al motore di muovere l’ascensore su o giù. Indice Torna al diagramma

12 Use Case Model: Select Destination Use Case 1Quando l’ascensore si muove, l’arrival sensor si accorge che ci si sta avvicinando a un piano e lo notifica al sistema. Questo controlla se ci si doveva fermare a quel piano: se sì, comanda al motore di fermare l’ascensore. Fermato l’ascensore, il sistema comanda l’apertura della porta. 2Se ci sono altre richieste in sospeso, l’ascensore visita quei piani che si trovano sulla strada per il piano richiesto dall’utente. Infine l’ascensore arriva al piano selezionato dall’utente. Indice

13 Use Case Model: Select Destination Use Case Alternative: L’utente preme un bottone per scendere: la risposta del sistema è analoga alla sequenza principale. Se l’ascensore è a un piano, e non c’è nessun altro piano verso cui muovere, resta fermo a tale piano con la porta aperta. Postcondizione: L’ascensore è arrivato al piano di destinazione selezionato dall’utente. Indice

14 Use Case Model: Request Elevator Use Case Attori: Elevator User, Arrival Sensor Precondizione: L’utente è a un piano,vuole un ascensore Descrizione: 1L’utente preme un bottone per salire. Il sensore del bottone manda la richiesta al sistema, identificando il numero del piano. 2Il sistema seleziona un ascensore per visitare il piano. La nuova richiesta è aggiunta alla lista dei piani da visitare. Se l’ascensore è fermo, il sistema determina in quale direzione muovere per servire la successiva richiesta. Il sistema comanda la chiusura della porta, quindi comanda al motore di muovere l’ascensore su o giù. Indice Torna al diagramma

15 1Quando l’ascensore si muove, l’arrival sensor si accorge che ci si sta avvicinando a un piano e lo notifica al sistema. Questo controlla se ci si doveva fermare a quel piano: se sì, comanda al motore di fermare l’ascensore. Fermato l’ascensore, il sistema comanda l’apertura della porta. 2Se ci sono altre richieste in sospeso, l’ascensore visita quei piani che si trovano sulla strtada per il piano richiesto dall’utente. Infine l’ascensore arriva al piano in risposta alla richiesta dell’utente. Use Case Model: Request Elevator Use Case Indice

16 Use Case Model: Request Elevator Use Case Alternative: L’utente preme un bottone per scendere: la risposta del sistema è analoga alla sequenza principale. Se l’ascensore è a un piano, e non c’è nessun altro piano verso cui muovere, resta fermo a tale piano con la porta aperta. Postcondizione: L’ascensore è arrivato al piano in risposta alla richiesta dell’utente. Indice

17 Use Case Model: Abstract Use Cases Si individuano due sottosequenze comuni agli Use Cases descritti, da cui ricavare due Abstract Use Cases: Dispatch Elevator: la situazione in cui l’ascensore viene inviato in risposta a una richiesta dell’utente Stop Elevator at Floor: la situazione in cui l’ascensore si ferma Indice

18 Dispatch Elevator Stop Elevator at Floor Select Destination Request Elevator «include» Elevator User Arrival Sensor Use case model con abstract use case Indice Vai a Static Model Vai a Dispatch Elevator Vai a Stop Elevator at Floor

19 Use Case Model: Stop Elevator at Floor Abstract Use Case Attore: Arrival Sensor Precondizione: L’ascensore si sta muovendo Descrizione: Quando l’ascensore si muove, l’arrival sensor si accorge che ci si sta avvicinando a un piano e lo notifica al sistema. Questo controlla se ci si doveva fermare a quel piano: se sì, comanda al motore di fermare l’ascensore. Fermato l’ascensore, il sistema comanda l’apertura della porta. Alternative: L’ascensore non deve fermarsi a questo piano, quindi va oltre. Postcondizione: L’ascensore si è fermato al piano, con la porta aperta Indice Torna al diagramma

20 Use Case Model: Dispatch Elevator Abstract Use Case Precondizione: L’ascensore ha almeno un piano da visitare Descrizione: Il sistema determina in quale direzione muovere per servire la successiva richiesta. Il sistema comanda la chiusura della porta, quindi comanda al motore di muovere l’ascensore su o giù. Alternative: Se l’ascensore è a un piano, e non c’è nessun altro piano verso cui muovere, resta fermo a tale piano con la porta aperta. Postcondizione: L’ascensore si sta muovendo nella direzione comandata. Indice Torna al diagramma

21 Use Case Model: Select Destination Concrete Use Case Attori: Elevator User Precondizione: L’utente è nell’ascensore Descrizione: 1. L’utente preme un bottone per salire (o scendere). Il sensore del bottone manda al sistema una richiesta, identificando il piano di destinazione che l’utente vuole visitare. 2. La nuova richiesta è aggiunta alla lista dei piani da visitare. Se l’ascensore è fermo, si include Dispatch Elevator Abstract Use Case 3. Si include Stop Elevator at Floor Indice

22 Use Case Model: Select Destination Concrete Use Case 4. Se ci sono altre richieste in sospeso, l’ascensore visita quei piani che si trovano sulla strada per il piano richiesto dall’utente. Infine l’ascensore arriva al piano selezionato dall’utente. Alternative: L’utente preme un bottone per scendere: la risposta del sistema è analoga alla sequenza principale. Postcondizione: L’ascensore è arrivato al piano di destinazione selezionato dall’utente. Indice

23 Use Case Model: Request Elevator Concrete Use Case Attori: Elevator User Precondizione: L’utente è a un piano, vuole un ascensore Descrizione: 1. L’utente preme un bottone per salire. Il sensore del bottone manda la richiesta al sistema, identificando il numero del piano. 2. Il sistema seleziona un ascensore per visitare il piano. La nuova richiesta è aggiunta alla lista dei piani da visitare. Se l’ascensore è fermo, si include Dispatch Elevator abstract use case. 3. Si include Stop Elevator at Floor abstract use case Indice

24 Use Case Model: Request Elevator Concrete Use Case 4. Se ci sono altre richieste in sospeso, l’ascensore visita quei piani che si trovano sulla strada per il piano richiesto dall’utente, seguendo le sequenze di dispatching e stopping. Infine l’ascensore arriva al piano in risposta alla richiesta dell’utente. Alternative: L’utente preme un bottone per scendere; la risposta del sistema è analoga alla sequenza principale. Postcondizione: L’ascensore è arrivato al piano in risposta alla richiesta dell’utente Indice

25 Static Model Attività della fase di Analysis Modeling Static model: relazioni statiche Conceptual static model Context class diagram Indice

26 Floor FloorButtonFloorLampDirectionLamp Elevator ArrivalSensor 1...* 1 Notifies 1...* Stops at 1...* Indicates arriving/leaving 1,2 Switches on/off 1,2 ElevatorButton ElevatorLampMotorDoor 1...* 11 Conceptual static model per Elevator Control System Indice Refined Static Model

27 «system» ElevatorControl System «external output device» DirectionLamp Outputs to 1...* 1 «external output device» FloorLamp «external input device» FloorButton 1 1...* Outputs to 1 1...* Inputs to «external output device» Motor 1 1...* Outputs to «external output device» Door «external output device» Elevator Lamp «external input device» Arrival Sensor «external input device» Elevator Button 1... * 1 111 Inputs to Outputs to Context class diagram per Elevator Control System Indice Refined Static Model

28 Object Structuring - External device obj. Software device interface obj. Individuazione degli oggetti software: * Elevator Button Interface * Door Interface * Motor Interface * Elevator Lamp Interface * Floor Button Interface * Floor Lamp Interface * Arrival Sensor Interface * Direction Lamp Interface Attività della fase di Analysis Modeling Indice

29 Object Structuring Control objects: * Elevator Control state dependent control object * Elevator Manager * Scheduler Entity object: *Elevator Status & Plan status: informazioni sul movimento dell'ascensore (in su, in giù o fermo); il piano corrente (se si trova fermo a un piano) o l'ultimo piano visitato (se è in movimento) plan: lista di tutti i piani che l'ascensore deve visitare Indice

30 Dynamic Model Si definiscono le interazioni tra gli oggetti corrispondenti a ciascuno use case. Si utilizzano collaboration diagrams Attività della fase di Analysis Modeling Indice

31 «input device interface» :ElevatorButton Interface «coordinator» :Elevator Manager «coordinator» :Scheduler «state dependent control» :ElevatorControl «entity» :ElevatorStatus &Plan E1: Elevator Button Request E2: Elevator Request E3: Update E4: Acknowledge E5: Elevator Commitment E5a: Up or Down Collaboration diagram per Select Destination use case :Elevato rUser Indice

32 Dynamic Model: Collaboration Diagram per Select Destination Use Case Message sequence description E1: La Elevator Button Request arriva all'oggetto Elevator Button Interface E2: L'oggetto Elevator Button Interface manda all'oggetto Elevator Manager la Elevator Request E3: L' Elevator Manager manda la richiesta all'oggetto Elevator Status & Plan, che la aggiunge alla lista dei piani da visitare Indice Diagramma

33 Dynamic Model: Collaboration Diagram per Select Destination Use Case E4: Viene aggiornato l'elevator plan. Viene mandato un riscontro all'oggetto Elevator Manager, che verifica se l'ascensore è fermo E5: L' Elevator Manager manda un messaggio Elevator Commitment allo Scheduler, per informarlo che tale ascensore andrà a visitare il piano dato E5a: Se l'ascensore è fermo, Elevator Manager manda un messaggio Up (o Down) all'oggetto Elevator Control, indicandogli di muovere nella direzione desiderata. Questo caso è gestito da Dispatch Elevator use case Indice Diagramma

34 Dynamic Model: Collaboration Diagram per Dispatch Elevator Abstract Use Case Note: i messaggi Up o Down possono arrivare a Elevator Control da diverse origini, che verranno indicate con source object (considerabile come parametro di input al collaboration model). Nello scenario considerato viene inviata una Up Request Indice Collaboration diagram parziale Statechart

35 «state dependent control» :ElevatorControl «entity» :ElevatorStatus&Plan «output device interface» :FloorLampInterface «external output device» :FloorLamp «output device interface» :DoorInterface «external output device» :Door D1: Up Request D2: Close Door D3: Close Door Command D4: Door Response D5: Door Closed D2a: Off Up Floor Lamp D2a.1: Floor Lamp Output Collaboration per Dispatch Elevator - parziale Indice Message sequence description Statechart Collaboration completo

36 «state dependent control» :ElevatorControl «entity» :ElevatorStatus&Plan «coordinator» :Scheduler «output device interface» :DirectionLampInterface «external output device» :FloorLamp «output device interface» :MotorInterface «external output device» :Motor D10a: Departed (Floor#) D10: Departed (Floor#) D6a: Off Up Direction Lamp D6: Up D9: Elevator Started D6a.1: Direction Lamp Output D8: Motor Response D7: Start Up Motor Command Collaboration per Dispatch Elevator - parziale Indice Message sequence descriptionStatechart Collaboration completo

37 Elevator Idle Checking Next Destination Elevator Starting Up Door Closing to Move Up Entry/D2: Close Door, D2a: Off Up Floor Lamp Elevator Moving Entry/ D10, D10a: Departed D5: Door Closed/ D6: Up, D6a: Off Up Direction Lamp D1: Up Request D9: Elevator Started Use case Dispatch Elevator: statechart per Elevator Control Indice Collaboration completo

38 «external output device» :DirectionLamp «output device interface» :DirectionLampInterface «state dependent control» :ElevatorControl «output device interface» :DoorInterface «external output device» :Door «external output device» :Motor «output device interface» :MotorInterface «coordinator» :Scheduler «entity» :ElevatorStatus&Pla n «external output device» :FloorLamp «output device interface» :FloorLampInterface D2a.1: Floor Lamp Output D6a.1: Direction Lamp Output D2a: Off Up Floor Lamp D6a: Off Up Direction Lamp D1: Up Request D10: Departed (Floor#) D10a: Departed (Floor#) D6: Up D9: Elevator Started D7: Start Up Motor Command D8: Motor Response D2: Close Door D5: Door Closed D3: Close Door Command D4: Door Response Collaboration Diagram per Dispatch Elevator use case Indice Torna a parziale 1Torna a parziale 2 Torna a statechart

39 Dynamic Model: Collaboration Diagram per Dispatch Elevator Abstract Use Case Message sequence description Precondizione: l’ascensore si trova nello stato Elevator Idle oppure nello stato Checking Next Destination D1: { source object } manda un messaggio Up Request a Elevator Control, che effettua una transione allo stato Door Closing to Move Up Come risultato della transizione, ci sono due eventi in output concorrenti Indice Collaboration parziale 1Collaboration parziale 2Collaboration completo

40 Dynamic Model: Collaboration Diagram per Dispatch Elevator Abstract Use Case D2: Elevator Control manda un comando Close Door a Door Interface D2a: (sequenza parallela) Elevator Control manda un comando Off Up Floor Lamp all’oggetto Floor Lamp Interface, che spegne la reale floor lamp D3: Door Interface manda un Close Door Command alla porta reale D4: la porta reale manda una Door Response quando la porta è chiusa Indice Collaboration parziale 1Collaboration parziale 2Collaboration completo

41 Dynamic Model: Collaboration Diagram per Dispatch Elevator Abstract Use Case D5: La Door Interface manda un messaggio Door Closed a Elevator Control, che effettua una transizione allo stato Elevator Sarting Up D6: Elevator Control manda un comando Up all’oggetto Motor Interface D6a: Elevator Control manda una richiesta Off Up Direction Lamp all’oggetto Direction Lamp Interface, che spegne la direction lamp (D6a.1) D7: l’oggetto Motor Interface manda una Motor Response quando l’ascenore ha iniziato a muoversi verso l’alto Indice Collaboration completoCollaboration parziale 2Collaboration parziale 1

42 Dynamic Model: Collaboration Diagram per Dispatch Elevator Abstract Use Case D8: il motore reale manda una Motor Response quando l’ascensore ha iniziato a muoversi verso l’alto D9: l’oggetto Motor Interface manda un messaggio Elevator Started all’oggetto Elevator Control, che effettua una transione allo stato Elevator Moving D10: Elevator Control manda un messaggio Departed agli oggetti Elevator Status & Plan (D10) e Scheduler (D10a) Indice Collaboration parziale 1Collaboration parziale 2Collaboration completo

43 Statechart Model E’ necessario fondere gli statecharts parziali di Dispatch Elevator use case e di Stop Elevator at Floor considerare branch alternativi per creare uno statechart completostatechart completo Si avranno inoltre: Statechart gerarchico e top levelStatechart gerarchico top level Attività della fase di Analysis Modeling Indice

44 Elevator Moving A2: Approaching Floor/ A3: Check This Floor Entry/D10, D10a: Departed Elevator Idle entry/update idle status Door Closing to Move Up Entry/D2:Close Door. D2a: Off Up Floor Lamp Door Closing to Move Down Entry/Close Door. Off Down Floor Lamp D1: Up RequestDown Request Elevator Starting Up Elevator Starting Down D5: Door Closed/ D6: Up, D6a: Off Up Direction Lamp Door Closed/ Down, Off Up Direction Lamp D9: Elevator Started Elevator Started Elevator Stopping A4: Approaching Requested Floor/ A5: Stop/ A5a.1: On Direction Lamp Statechart per Elevator Control.... No Request D1: Up Request da Checking Next Destination Down Request da Checking Next Destination Indice Gerarchico Top level

45 .... Elevator Door Opening A8: Elevator Stopped/ A9: Open Door/, A9a: Off Elevator Lamp, A9b, A9c: Arrived Elevator at Floor A12: Door opened/ A13: Start Timer Checking Next Destination A14: After (Timeout)/ A15: Check Next Destination verso Door Closing to Move Up D1: Up Request No Request verso Elevator Idle Down Request verso Door Closing to Move Down Statechart per Elevator Control Indice GerarchicoTop level

46 Statechart Model Consideriamo il top level statechart, che mostra gli eventi ma non le azioni : 1. Elevator Idle: l’ascensore è fermo a un piano e non ha richieste in sospeso. Ha la porta aperta. 2. Preparing to Move Up: è un super-stato che comprende i seguenti sottostati Door Closing to Move Up: l’ascensore vi entra quando incomincia a chiudere la porta per soddisfare una richiesta di visitare un piano superiore Elevator Starting Up: un ascensore vi entra quando la porta è stata chiusa e sta aspettando che il motore inizi a farlo muovere Indice Top level

47 Statechart Model 3.Preparing to Move Down: superstato che consiste dei seguenti sottostati: Door Closing to Move Down Elevator Starting Down Sono analoghi ai due precedenti 4. Moving to Floor: questo superstato consiste dei seguenti sottostati Elevator Moving: un ascensore vi entra quando ha iniziato la sua salita o la sua discesa Elevator Stopping: un ascensore vi entra quando si sta avvicinando a un piano a cui si deve fermare Indice Top level

48 Statechart Model Elevator Door Opening: un ascensore vi entra quando si è fermato al piano e la porta si sta aprendo Elevator at Floor: un ascensore vi entra quando la porta si è aperta completamente 5. Checking Next Destination: l’ascensore controlla quale piano visitare e quindi in quale direzione muoversi, o se entrare nello stato Elevator Idle. Vi entra dopo un timer event nello stato Elevator at Floor Indice Top level

49 Elevator Idle entry/update idle status Door Closing to Move Up Entry/Close Door, Off Up Floor Lamp Door Closing to Move Down Entry/Close Door. Off Down Floor Lamp Up Request Down Request Elevator Starting Up Elevator Starting Down Door Closed/ Up, Off Up Direction Lamp Door Closed/ Down, Off Down Direction Lamp Elevator Started Statechart gerarchico per Elevator Control No Request Up Request da Checking Next Destination Down Request da Checking Next Destination Preparing to Move Up Preparing to Move Down Indice

50 Elevator Door Opening Elevator Stopped/Open Door, Off Elevator Lamp, Arrived Elevator at Floor Door opened/Start Timer Checking Next Destination After (Timeout)/Check Next Destination verso Door Closing to Move Up D1: Up Request No Request verso Elevator Idle Down Request verso Door Closing to Move Down Statechart gerarchico per Elevator Control Elevator Stopping Elevator Moving Entry/Departed Approaching Requested Floor/Stop On Direction Lamp Moving to Floor Approaching Floor/Check This Floor Indice Flat statechartTop level

51 Elevator Idle Preparing to Move Down Moving to Floor Preparing to Move Up Checking Next Destination No Request Up Request Elevator Started Elevator Started Down Request After (Timeout) Top-level statechart per Elevator Control Indice Descrizione degli stati

52 Fusione dei Collaboration Diagrams Attività della fase di Design Modeling. Si mostrano tutti gli oggetti che partecipano agli use cases e tutte le loro interazioni. Vengono incluse alternative che di solito non compaiono nei collaboration diagrams canonici. I nomi dei messaggi possono essere aggregati. Indice Fusione parziale 1Fusione parziale 2

53 «output device interface» : Elevator Lamp Interface Elevator Lamp Output «output device interface» : Motor Interface Motor Command Off Elevator Lamp «state dependent control» : Elevator Control Stop Down Up Elevator Started Elevator Stopped Motor Response «Output device interface» : Door Interface Open DoorClose Door Door OpenedDoor Closed Door Command Door Response «coordinator» : Scheduler Arrived (Floor#) Departed (Floor #) «input device interface» : Floor Button Interface Scheduler Request Elevator Commitment Service Request Floor Button Request Fusione dei collaboration diagrams – parte 1 Indice

54 «state dependent control» : Elevator Control «timer» : Door Timer After (Timeout) Start Timer «output device interface» : Direction Lamp Interface Direction Lamp Output «output device interface» : Floor Lamp Interface Floor Lamp Output «input device interface» : Arrival Sensor Interface Arrival Sensor Input Direction Lamp Command Floor Lamp Command Approaching Floor (Floor #) «entity» : Elevator Status & Plan Check Next Destination Check This Floor (Floor #) Arrived (Floor #) Next Destination Departed (Floor #) Approaching Request Floor UpdateAcknowledge «coordinator» : Elevator Manager «input device interface» : Elevator Button Interface Elevator Button Request Elevator Request Fusione dei collaboration diagrams – parte 2 Indice

55 Subsystem Structuring Si dà la precedenza alle linee guida: Geographical location Aggregation/composition poichè l’applicazione che consideriamo è potenzialmente distribuita Attività della fase di Design Modeling. Indice

56 Subsystem Structuring Elevator Subsystem: oggetto composto, control subsystem Contiene: Door Interface, Motor Interface, Elevator Button Interface, Elevator Lamp Interface, Arrival Sensor Interface, Door Timer, Elevator Control, Elevator Status & Plan, Elevator Manager Floor Subsystem: oggetto composto, data collection subsystem Contiene: Floor Lamp Interface, Floor Button Interface, Direction Lamp Interface Scheduler Subsystem: coordinator subsystem. Indice Struttura di Elevator SubsystemStruttura di Floor SubsystemStrutturazione in sottosistemi

57 «output device interface» : Elevator Lamp Interface «output device interface» : Motor Interface «state dependent control» : Elevator Control Stop Down Up Elevator Started Elevator Stopped «Output device interface» : Door Interface Open DoorClose Door Door OpenedDoor Closed «entity» : Elevator Status & Plan Check Next Destination Check This Floor (Floor #) Arrived (Floor #) Next Destination Departed (Floor #) Approaching Request Floor «timer» : Door Timer After (Timeout) Start Timer Off Elevator Lamp «coordinator» : Elevator Manager Acknowledge Update«input device interface» : Elevator Button Interface Elevator Request Arrived (Floor #) Departed (Floor #) verso subsystem Scheduler Up, Down «input device interface» : Arrival Sensor Interface Approaching Floor (Floor #) «control subsystem» :ElevatorSubsystem verso Floor subsystem Floor Lamp Command,Direction Lamp Command Struttura di Elevator Subsystem DescrizioneRefined Static Model

58 «external input device» : FloorButton Floor Button Request «subsystem» : Scheduler Floor Lamp Output «external output device» : DirectionLamp Direction Lamp Output «input device interface» :FloorButtonInterface «output device interface» :FloorLampInterface «output device interface» :DirectionLampInter face «subsytem» :ElevatorSubsystem Service Request Floor Lamp Command «external output device» : FloorLamp Direction Lamp Command «data collection subsystem» :FloorSubsystem Struttura di FloorSubsystem Indice Descrizione Refined Static Model

59 «control subsystem» : ElevatorSubsystem «external output device» : ElevatorLamp «control subsystem» : ElevatorSubsystem «external input device» : ElevatorButton «external output device» : Motor «external output device» : Door «external input device» : FloorButton «data collection subsystem» : FloorSubsystem Elevato r Lamp Output Arrival Sensor Input Motor Command Motor Response Door Command Door Response «coordinator subsystem» : Scheduler «external output device» : FloorLamp Floor Button Request Service Request «external output device» : DirectionLamp Floor Lamp Output Direction Lamp Output Floor Lamp Command Direction Lamp Command Arrival (Floor #) Depart (Floor #) Elevator Commitment Scheduler Request «system» :Elevator Control System Elevator Button Requst Strutturazione in sottosistemi Indice Descrizione Refined Static Model

60 Indice Rappresentato da un class diagram Derivato da: architettura generale dei sottosistemi struttura di ciascun sottosistema Mostra: classi da cui sono istanziati gli oggetti che partecipano ai collaboration diagrams relazioni tra le classi

61 «output device interface» Door Interface «output device interface» ElevatorLampInterface «output device interface» MotorInterface «inputdevice interface» ElevatorButtonInterface «input device interface» ArrivalSensorInter face «state dependent control» ElevatorControl «coordinator» ElevatorManager «entity» ElevatorStatus&Plan «timer» DoorTimer Controls 1 1...* Controls 1 1Requests 1...* 1 Updates 1 1 1 1 Updates,Checks 1 1 Commands 1 1 Controls 1 1...* Notifies 1 1 «control subsystem» ElevatorSubsystem «output device interface» Direction Lamp Interface «server» ElevatorStatus&Pl anServer «coordinator» Elevator Scheduler «input device interface» Floor Button Interface «output device interface» Floor Lamp Interface 1...* Controls «entity» OverallElevatorStat us&Plan 1 1 Updates 1 1 Selects 1...* Controls 1...* 1 1 1 1..* Updates 1..*Requests Notifies Requests «data collection subsystem» FloorSubsystem «coordinator subsystem» Scheduler * * * 1 *1 Refined static model per Elevator Control System Static model Struttura di Elevator Subsystem Struttura di Floor Subsystem Strutturazione in sottosistemi


Scaricare ppt "COMET Elevator Control System Case Study - Prima parte - Elevator Control System Case Study."

Presentazioni simili


Annunci Google