simulatore di gate allocation

22
1 LABORATORIO DI INFORMATICA Ingegneria Informatica a.a. 2002-2003 -2° Ciclo Modelli UML per il Simulatore di Gate Allocation

Upload: wyoming-irwin

Post on 31-Dec-2015

56 views

Category:

Documents


6 download

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 Presentation

TRANSCRIPT

Page 1: Simulatore di Gate Allocation

1

LABORATORIO DI INFORMATICA Ingegneria Informatica

a.a. 2002-2003 -2° Ciclo

Modelli UML per ilSimulatore di Gate Allocation

Page 2: Simulatore 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

Page 3: Simulatore di Gate Allocation

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.

Page 4: Simulatore di Gate Allocation

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.

Page 5: Simulatore di Gate Allocation

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.

Page 6: Simulatore di Gate Allocation

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.

Page 7: Simulatore di Gate Allocation

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.

Page 8: Simulatore di Gate Allocation

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

Page 9: Simulatore di Gate Allocation

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 ( )

Page 10: Simulatore di Gate Allocation

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 ( )

Page 11: Simulatore di Gate Allocation

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 ( )

Page 12: Simulatore di Gate Allocation

12

Simulatore di Gate Allocation

FlightDataFile

FlightStore (objList :FlightList &) FlightLoad (objList :FlightList &)

-Diagramma delle Classi

StandDataFile

StandStore (listObj :StandList &) StandLoad (listAl :StandList &)

Page 13: Simulatore di Gate Allocation

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

Page 14: Simulatore di Gate Allocation

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

Page 15: Simulatore di Gate Allocation

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

Page 16: Simulatore di Gate Allocation

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

Page 17: Simulatore di Gate Allocation

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

Page 18: Simulatore di Gate Allocation

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

Page 19: Simulatore di Gate Allocation

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

Page 20: Simulatore di Gate Allocation

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”

Page 21: Simulatore di Gate Allocation

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

Page 22: Simulatore di Gate Allocation

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