simulatore di gate allocation
DESCRIPTION
LABORATORIO DI INFORMATICA Ingegneria Informatica a.a. 2002-2003 -2° Ciclo Modelli UML per il Simulatore di Gate Allocation. Simulatore di Gate Allocation. . . New Flight Definition. New Stand Definition. . . Flight I&C. Stand I&C. Save Stand Data. - PowerPoint PPT PresentationTRANSCRIPT
1
LABORATORIO DI INFORMATICA Ingegneria Informatica
a.a. 2002-2003 -2° Ciclo
Modelli UML per ilSimulatore di Gate Allocation
2
Simulatore di Gate Allocation
- Modello dei Casi d’Uso
Real Time Gate Allocation
Daily Gate Allocation
Airport Manager
Apron Manager
<<uses>>New Stand Definition
Open Stand File
<<uses>>
Save Stand Data
Stand I&C
<<uses>>New Flight Definition
Open Flight File
<<uses>>
Save Flight Data
Flight I&C
3
Simulatore di Gate Allocation- Descrizione dei Casi d’Uso
Caso d’Uso: New Stand Definition
L’Airport Manager seleziona la nuova definizione degli Stand. Ciò comporta l’annullamento del Descrittore di Stand eventualmente presente in memoria centrale e la possibilità di utilizzare il Caso d’Uso Inspect & Change per gli Stand.
Caso d’Uso: Stand Inspect & Change
Il Caso d’Uso Stand Inspect & Change può essere direttamente selezionato dall’Airport Manager, oppure a seguito dell’attivazione dei Casi d’Uso New Stand Definition e Open Stand File. Esso permette all’Airport Manager di selezionare un elemento Stand in memoria centrale, di esaminarne il contenuto, di configurarlo completamente, sia se è stato già configurato o se non è mai stato configurato, o, infine, di correggerne la configurazione se è già stato configurato.
Caso d’Uso: Save Stand Data
L’Airport Manager seleziona di salvare su un file sequenziale della memoria di massa il descrittore degli Stand presente in memoria centrale.
4
Simulatore di Gate AllocationCaso d’Uso: Open Stand File
L’Airport Manager o l’Apron Manager seleziona di trasferire in memoria centrale il descrittore di Stand in precedenza salvato sul file sequenziale in memoria di massa. Ciò comporta la ricopertura del descrittore eventualmente presente in memoria centrale e la possibilità di utilizzare il Caso d’Uso Stand Inspect & Change.
Caso d’Uso: New Flight Definition
L’Apron Manager seleziona la nuova definizione dei Voli. Ciò comporta l’annullamento del Descrittore dei Voli eventualmente presente in memoria centrale e la possibilità di utilizzare il Caso d’Uso Inspect & Change per i Voli.
Caso d’Uso: Flight Inspect & Change
Il Caso d’Uso Flight Inspect & Change può essere direttamente selezionato dall’Apron Manager, oppure a seguito dell’attivazione dei Casi d’Uso New Flight Definition e Open Flight File. Esso permette all’Apron Manager di selezionare un elemento Flight in memoria centrale, di esaminarne il contenuto, di configurarlo completamente, sia se è stato già configurato o se non è mai stato configurato, o, infine, di correggerne la configurazione se è già stato configurato.
5
Simulatore di Gate Allocation
Caso d’Uso: Save Flight Data
L’Apron Manager seleziona di salvare su un file sequenziale della memoria di massa il descrittore dei Voli presente in memoria centrale.
Caso d’Uso: Open Flight File
L’Apron Manager seleziona di trasferire in memoria centrale il descrittore dei Voli in precedenza salvato sul file sequenziale in memoria di massa. Ciò comporta la ricopertura del descrittore eventualmente presente in memoria centrale e la possibilità di utilizzare il Caso d’Uso Flight Inspect & Change.
Caso d’Uso: Daily Gate Allocation
L’Apron Manager selezione di far operare l’algoritmo di Gate Allocation per i descrittori di Stand e di Voli attualmente presenti in memoria centrale. L’algoritmo viene fatto operare automaticamente per un istante di tempo simulato sufficientemente antecedente all’istante di arrivo del primo Volo del descrittore, in modo da poter considerare tutti i voli ancora non atterrati. La situazione di allocazione degli aerei agli Stand viene presentata sul terminale in chiaro subito dopo la fine dell’esecuzione dell’algoritmo.
6
Simulatore di Gate Allocation
Caso d’uso: Real Time Gate Allocation
L’Apron Manager seleziona di far evolvere per un tempo reale prestabilito lo scenario costituito dai descrittori degli Stand e dei Voli presente in memoria di massa. Nel corso dell’elaborazione viene simulata la ricezione di messaggi che, a scadenze prestabilite, comunicano il ritardo dell’arrivo di aerei attesi o il prolungamento delle operazioni di terra. La sequenza dei messaggi e i loro tempi di arrivo vengono definiti al momento dell’attivazione di questo caso d’uso e prima che venga avviata l’evoluzione del tempo reale. L’algoritmo di Gate Allocation, richiamato con la periodicità di un minuto, permette la riallocazione dinamica dei voli. La situazione di allocazione degli aerei agli Stand viene presentata sul terminale in chiaro, assieme al valore del tempo attuale, subito dopo ogni richiamo dell’algoritmo di Gate Allocation. L’elaborazione ha termine quando si esaurisce il tempo reale prestabilito.
7
Simulatore di Gate Allocation-Requisiti di dettaglio
Caso d’uso: Stand (o Flight) Inspect & Change
Il Caso d’Uso Stand (o Flight) Inspect & Change, quando viene selezionato un tipo di elemento (Stand o Volo), deve presentare il contenuto dell’elemento attualmente puntato. Se esso non è configurato, deve presentare il messaggio di elemento non configurato. Dopo la presentazione di un elemento deve essere possibile selezionare l’elemento precedente o il successivo (a meno che l’elemento puntato sia non configurato, nel qual caso si può solo andare al precedente).
Una volta selezionato un elemento deve essere possibile inserire tutti i suoi dati a partire dal primo, oppure, se l’elemento è già stato configurato, deve potersi presentare un dato alla volta con la possibilità, se richiesto, di cambiarlo.
8
Simulatore di Gate Allocation-Diagramma delle Classi
FlightDataFile FlightList
Dialog
StandDataFile StandList
Flight
Stand
Simulator
Proceding
DateTimeXcg
1
1
1
1
10..*
1
1
1
1
1
1
1 1
0..*
1
1
1
1
11
1
11
9
Simulatore di Gate Allocation-Diagramma delle Classi
Dialog
statoDialog :int indiceStand :int indiceFlight :int
activityDef ( ) flightDef ( ) newFlight ( ) openFlight ( ) inChaFlight ( ) saveFlight ( ) standDef ( ) newStand ( ) openStand ( ) inChaStand ( ) saveStand ( ) allocator ( ) simulator ( )
10
Simulatore di Gate Allocation-Diagramma delle Classi
Flight
nextPtr :Flight * sameStandFlight :Flight * siglaArr :char[6] oraArr :int minArr :int giornoArr :int meseArr :int annoArr :int timeArr :long siglaPar :char[6] oraPar :int minPar :int giornoPar :int mesePar :int annoPar :int timePar :long tipoAereo :int tipoStand :int tipoRampa :int assignStand :int
setFlight ( ) printFlight ( ) modifyFlight ( )
Stand
nextPtr :Stand * linkedFlight :Flight * identityStand :char[6] dimStand :int dotazStand :int tipoServizio :int
setStand ( ) printStand ( ) modifyStand ( )
11
Simulatore di Gate Allocation-Diagramma delle Classi
FlightList
firstPtr :*Flight lastPtr :*Flight
insertList (newPtr :Flight *) searchFlight (nuFlight :int) :Flight * deleteFlight (nuFlight :int, del :bool) deleteFlightList ( ) StandList
firstPtr :*Stand lastPtr :*Stand
insertList (newPtr :Stand *) searchStand (nuStand :int) :Stand * deleteStand (nuStand :int, del :bool) deleteStandList ( )
12
Simulatore di Gate Allocation
FlightDataFile
FlightStore (objList :FlightList &) FlightLoad (objList :FlightList &)
-Diagramma delle Classi
StandDataFile
StandStore (listObj :StandList &) StandLoad (listAl :StandList &)
13
Simulatore di Gate Allocation-Diagramma delle Classi
Simulator
gateAllocation (tempoAtt :long, fList :FlightList &, sList :StandList &) resetStand (tempoAtt :long, fList :FlightList &, sList :StandList &) :int deleteFlight (delePtr :Flight *, fList :FlightList &) check (actVolo :Flight *, prevVolo :Flight *) :bool gateAllocPrint (fList :FlightList &, sList :StandList &)
Proceding
startSim (fList :FlightList &, sList :StandList &)
startTime :long durationTime :long progresTime :long stopTime :long
14
Simulatore di Gate Allocation
DateTimeXcg
dateToTime (y :int, me :int, d :int, h :int, mi :int, s :int) :long timeToDate (t :long)
year :int month :int day :int hour :int minute :int second :int absTime: int
-Diagramma delle Classi
15
-Dialog: Diagramma degli Stati
Simulatore di Gate Allocation
do/ Level 1 Command Selection
Exit
do/ simulator
do/ flightDef
do/ standDef
do/ allocator
Flight Stand Allocator Simulator
16
Simulatore di Gate Allocation
-Dialog: Diagramma degli Stati
New Open I&C
Exit
do/ newStand
do/ openStand
do/ inChaStand
do/ saveStand
Save
do/ Level 3 CommandSelection
standDef
17
Simulatore di Gate Allocation
New Open I&C
Exit
do/ newFlight
do/ openFlight
do/ inChaFlight
do/ saveFlight
Save
do/ Level 2 CommandSelection
flightDef
-Dialog: Diagramma degli Stati
18
Simulatore di Gate Allocation
do/ Stand Display & Level
5 Command Selection Exit
Avanti/ Indietro
do/ nuovo Stand
do/ correggi
Stand
do/ cancella Stand
Nuovo Correggi Deleta
inChaStand
-Dialog: Diagramma degli Stati
19
Simulatore di Gate Allocation
do/ Flight Display & Level
4 Command Selection Exit
Avanti/ Indietro
do/ nuovo Volo
do/ correggi
Volo
do/ cancella
Volo
Nuovo Correggi Deleta
inChaFlight
-Dialog: Diagramma degli Stati
20
Simulatore di Gate Allocation
-Simulator: Diagramma delle attività di “Gate Allocation”
Disalloca i voli non atterrati e cancella i voli decollati (*)
Acquisisci il puntatore al primo volo in catena
Verifica se il volo è atterrato
[Volo atterrato]
[Volo non atterrato]
Stabilisci l’allocazione del volo (ad uno Stand)
Acquisisci il puntatore al volo successivo in catena
[Voli non finiti]
[Volo finiti]
(*) Funzione “Reset Stand”
21
Simulatore di Gate Allocation-Simulator: Diagramma delle attività di “Reset Stand”
Acquisisci il puntatore al primo Stand in catena
Verifica se lo Stand è linkato ad un volo
[Stand non linkato]
[Stand linkato]
Verifica se il volo linkato allo Stand è atterrato
[Volo non atterrato]
[Volo atterrato]
Verifica se il volo linkato allo Stand è decollato
[Volo decollato]
[Volo non decollato]
Acquisisci il puntatore allo Stand successivo
Annulla il link dello Stand al volo
[Stand finiti][Stand non finiti]
Annulla il link dello Stand al volo e cancella il volo
In tutti i voli annulla il link ai voli allocati sullo stesso Stand
22
Simulatore di Gate Allocation-Simulator: Diagramma delle attività di “Stabilisci l’allocazione del volo”
Acquisisci il puntatore al primo Stand in catena
Confronta le esigenze dello aereo e la struttura dello Stand
[Stand non compatibile]
[Stand compatibile]
Confronta la sovrapposizione del volo con gli altri sullo stand
[Volo in sovrapposizione]
[Volo non sovrapposto]
Linka il volo allo Stand e assegna lo Stand al volo
Memorizza il minore degli OBT dell’ultimo volo sullo Stand
Acquisisci il puntatore allo Stand successivo
[Stand non finiti]
[Stand finiti]
Poni l’IBT del volo maggiore dell’ultimo OBT memorizzato