June 2013 

NASA/CR–2013-218008 

Upgrades to the Probabilistic NAS Platform Air 

Traffic Simulation Software 

George Hunter and Benjamin Boisvert 

Saab Sensis Corporation, Campbell, California 
NASA STI Program . . . in Profile

Since its founding, NASA has been dedicated to the 

advancement of aeronautics and space science. The 

NASA scientific and technical information (STI) 

program plays a key part in helping NASA maintain 

this important role. 

The NASA STI program operates under the 

auspices of the Agency Chief Information Officer. 

It collects, organizes, provides for archiving, and 

disseminates NASA’s STI. The NASA STI 

program provides access to the NASA Aeronautics 

and Space Database and its public interface, the 

NASA Technical Report Server, thus providing one 

of the largest collections of aeronautical and space 

science STI in the world. Results are published in 

both non-NASA channels and by NASA in the 

NASA STI Report Series, which includes the 

following report types: 

TECHNICAL PUBLICATION. Reports of 

completed research or a major significant phase 

of research that present the results of NASA 

Programs and include extensive data or 

theoretical analysis. Includes compilations of 

significant scientific and technical data and 

information deemed to be of continuing 

reference value. NASA counterpart of peerreviewed formal professional papers, but 

having less stringent limitations on manuscript 

length and extent of graphic presentations. 

TECHNICAL MEMORANDUM. Scientific 

and technical findings that are preliminary or of 

specialized interest, e.g., quick release reports, 

working papers, and bibliographies that contain 

minimal annotation. Does not contain extensive 

analysis. 

CONTRACTOR REPORT. Scientific and 

technical findings by NASA-sponsored 

contractors and grantees. 

CONFERENCE PUBLICATION. 

Collected papers from scientific and 

technical conferences, symposia, seminars, 

or other meetings sponsored or cosponsored by NASA. 

SPECIAL PUBLICATION. Scientific, 

technical, or historical information from 

NASA programs, projects, and missions, 

often concerned with subjects having 

substantial public interest. 

TECHNICAL TRANSLATION. 

English-language translations of foreign 

scientific and technical material pertinent to 

NASA’s mission.

Specialized services also include organizing 

and publishing research results, distributing 

specialized research announcements and feeds, 

providing information desk and personal search 

support, and enabling data exchange services. 

For more information about the NASA STI 

program, see the following: 

Access the NASA STI program home page 

at http://www.sti.nasa.gov

E-mail your question to help@sti.nasa.gov

Fax your question to the NASA STI 

Information Desk at 443-757-5803 

Phone the NASA STI Information Desk at 

443-757-5802 

Write to: 

 STI Information Desk 

 NASA Center for AeroSpace Information 

 7115 Standard Drive 

 Hanover, MD 21076-1320 
National Aeronautics and 

Space Administration 

Langley Research Center Prepared for Langley Research Center 

Hampton, Virginia 23681-2199 under Contract NNL10AC94T 

 

June 2013 

NASA/CR–2013-218008 

Upgrades to the Probabilistic NAS Platform Air 

Traffic Simulation Software 

George Hunter and Benjamin Boisvert 

Saab Sensis Corporation, Campbell, California 
Available from: 

NASA Center for AeroSpace Information 

7115 Standard Drive 

Hanover, MD 21076-1320 

443-757-5802 

The use of trademarks or names of manufacturers in this report is for accurate reporting and does not constitute an 

official endorsement, either expressed or implied, of such products or manufacturers by the National Aeronautics 

and Space Administration. 
Table of Contents 

	







	









	

























	







!

"#


$

	
#




%

&




&
'


 





'&
(







'&
)

'*'&
$+

'*',
$

'*''
-&,
$*

&



&
$.

&



,
$'




/01
,
$2
Introduction 

#
#

&

*.3**+456789.

**+64:;8#


&
<
=,&
#'
>>*'






?#
&

67
##
#
#
>9

#
#67


#

3

'*'&





&	
#




	








'*'&









'*'





	






'*'




,


	






'*'


/1





&














	






'*'"#



&	
#




	








'*'	
#







	






&




&
'


@466


&&

3=









!


&



?

@46@


&&

3=*A"
!


&,





8&




"#

?

'*'&
$

'*',
$

'*''
-&,
$

&



&
$

&



,
$





,
$

#67

9



A28
&8
#
&


14809-02 

PNP Separation Assurance Client and Display 

Enhancements Requirements and Engineering 

Design 

Ben Boisvert 

George Hunter 

Prepared for: 

National Aeronautics and Space Administration 

Langley Research Center 

Hampton, VA 23681 

Under: 

NASA BOA: NNL08AA17B 

December, 2010 
A-2 

Table of Contents

6


B

@9

;

@6'
>>*'
;

@@'


;

B

C

B6&







C

B@'*'




7

BB'*'&


5

;



64

;6&






#
64

;@

6D

;B


67

;;'*'


@6

D
@@

C

@:



B4

A-3 

1 Introduction 

#

>

#



&&
*





E&


&




&
@
>#







&



9##>




B
>#



#
&&
#&
*

E&

#


8


&

;
D


>






#


C#>&



#



8


&
A-4 

2 Background 

#

>
&


##>



2.1 Probabilistic NAS Platform 

 
#




#'
>>*'
/'*'1&




&



/1
&8
#








/!1
&

"&'*'F6A66G8



8

*8(


'



&
./('.18
!




/!1&
<

F6@A@6G!
6
'*'H
A


#


Probabilistic 

NAS Platform 

(PNP)

Probabilistic

NAS Platform 

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data Wea Weather Data ther Data

Reports Reports

MATLAB®

Scripting

Interface

MATLAB

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Client AC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Fl Flight Data ight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AOC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


2.2 Preliminary tests 

"#
&


&




'*'##
#



&
&&#*+

#

8#



!@
#&


#
I



&
648

#&#


#I
#&
A-5 

Figure 2

#
&
&
#'*'





#&





#'*'#
#*A

&



>
&



#I







A-6 

3 Requirements 

#
#



8
#'*'&




8

'*'

8
'*'&


3.1 Separation assurance client requirements 

6 #
#>

&



@ #
#&&


>
* 
#* 









#


"


B #
#
&

&

; #
#










D #
#'*'H.><' 




C #
#


#'*'

#



>#


>
#'*'





7 #
#
#
>
&
#'*'



&


#
>
##
>
&


#'*'





&



5 #
#




#'*'

#






#
8


&



: #
#

'*'##&

##
&



&#

64 #
#&



#

A&



9#


66 #
#

&&
&



/' 1#&&





#

6@ #
#
#

9#


6B #
#
#

&




6; #
#
#
#
I
&




6D #

' /A' 1#


&

/+.1&




8&
8
#A-7 

6C #

' /A' 1#



&

/$.1&




8&
8
#

67 #

' /A' 1#


#&
&&
#/'1



8&
8
#

65 #

' /A' 1#&;
<
&


6: #
#
+.J$.#&

'#'*'




I

#'-

@4 #
#




#

@6 #
#

&&
&



/' 1#&&








#

@@ #


' /A' 1#










#&
/#&

##1

@B #
#&










@; #
#&








@D #
#&




&



@C #
#>>
>
>





@7 #
#>>
>
>



@5 #
#>>
>
>&



@: #


' /A' 1#&#+.8$.
'


&>#

' /A' 1

B4 #


' /A' 1#&#&

#



<


B6 #
#
#&
#'*'



B@ #
#


#'*'

#
#



#

#'*'


#
#



#



3.2 PNP server requirements 

BB #'*'

#&



&
#&


#




B; #'*'

#&

>
#&
A-8 

BD #'*'

#&
&

>
#&


BC #'*'

#&#>
#&


B7 #'*'



#

<
'


#



<





&#&


B5 #
<
'

#&#

<
#
intended


projected8



&#
#

8#
<
'



##&
&
#

<

#&
<8#
<


'

#



&
#

<


B: #
<
'

H&
<
#>
&
A

&>



;4 #
<
'

H&
<
#
8
8

88

&9#/

1

;6 #
<
'

H&
<
#>


;@ #
<
'

H&
<

#>


;B #
<
'

H&
<
#>>


/+1

;; #
<
'

H&
<
#>
&


A&>/
/
1J


&
9
1

;D #
<
'

H&
<
#>

	'.%

3.3 PNP display requirements 

;C #'-#&#+.J$.#
>


;7 #'-#>>
>#&#+.J$.>


;5 #'-#>>>#&#+.J$.>


;: #'-#&#
I
&








>


*3#





>&

D4 #'-#&
&


#





>


*3#





>#


>
A-9 

D6 #'-#>>
>#&



D@ #'-#>>>#&

A-10

4 Design considerations 

#

>




#'*'&





'*'





4.1 Separation assurance maneuver architecture 

#



&#


#&



/1

#


!


8




>


/#

#

#
I
&
1##
#&

&

#

#&




8




>

>

##&

#


E&8#
#

#
&
=A&
8?#
#
E&

#
#
##
&
8##&


"

#
E&
#
8>
&E


&>&&





"#
&
<
&



#
#
#

#&
&>#
&






/8##J&


1
&

#

>
#

&

<
&

&

8##
I


#
&


!
B
#
&

>#&






#



8
#E&8



##


>#

&

8



#

&


9

#&
#

A-11

Predicted point of 

closest approach (PCA)

Four inserted waypoints and 

off-route resolution maneuver

Figure 3


##





#



#E
&



#





#




#


<


 


#


#

<
&
#
<
&


>



#


8
#



#




&



#
<
&

&#


"#
#
<
&
8&
##
I


&








&

#
&
&

&

#&J


#
>##&
#
!


8






#





&8
&#


*







>
8



>#


#

#>#>


#



##

/1

8/1

#

8
/1#
>#

###




&#
&#
>&

#

#

8
&


>

&



##8


#
#
&


<
&
8

>#&#I"&
#


#


!;A-12

Probabilistic

NAS Platform

SA

Client

Request

Data

TP

New FP

Trajectory

Predictor

Probabilistic

NAS Platform

SA

Client

Request

Data

TP

New FP

Trajectory

Predictor

Figure 4%#&






#


!;#8#

#&

'*'#
#
#


#&




###
&

&
#

&
#
#
<
'


>

<


>
##&
#
<

#&

<
&#!
D

#
#
#
#
A-13

Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Separation assurance client

Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Separation assurance client

Figure 5&






#


##&

#!D
#


>>

Step 1 #

##&
##
&



##



Step 2 '*'


#
#&
###

#
<


'




Step 3 #

##&
#









Step 4 #
<
'





#
<

##

&
#E

#&9#
#

#

#



Step 5 #




#&
&&
#/'1




&


###

#


A-14

'*'#

#
<
/&;1#









Step 6 #

&
A






#


#&

#

##&
#
<


'




Step 7 #
<
'





#
<

##

&
#E

#&9#
#

#

#

8
&



Step 8 #


#
#&C
7
*#

&

#
&
8#

&





#9>
##
#
#!


8#


8#
#
>#9
#
#
#&>



&


##9#


#
&




&
&8#





#&
#





#'*'
&




&


#


>6#
&
&#
<
'




Table 1 Trajectory Predictor API (TP-API) inputs and outputs. 

 
& .&

#&
 '

<
/&



1#
&



8>
#
&#

&


>@#
&
&#

' 

Table 2 Conflict Detection API (CD-API) inputs and outputs. 

 
& .&


<
&

N

##
&





+&


/8

&

#



9#




$
&


/8

&

#


#
I
&






'
/8&



#



&






+M##9/M 

#

N1A-15

>B#
&
&#

' 

Table 3 Conflict Resolution API (CR-API) inputs and outputs. 

 
& .&


<
/&



1
N ##


&



#&



#

!#&

#N#

+&




/
#

$
&




/
#

'
/8&



#



9#





#
I
&








&






	
>

>
#




4.2 Conflict detection module 

#


AA&


>
#





#


&#

9##AA&


#

#



#>
/1#&>M#


/1#N
&#!


8##
&#/M

KN18#
#

&


A
A#9
AA&




.
##
#
8

#&##/MK618

#
#

&


A
A#9
AA&




#M>
#

6N

+AA&



#
##
I
&

>
##


#
#
I
&


8
#
&

>
#A-16

#
#

&


!
C
#
#


&



*###
I
&

>



>

&






8





#



Minimum 

vertical 

separation

Minimum 

horizontal 

separation

Figure 6%#&






#


+AA&






8>
#


#
#


&

>
3#&
##&

8#&
&&
#8
#

&
##&


!
7
##
>


Point of closest 

approach

Loss of 

separation

Gain of 

separation

Figure 7%#&






#


#
&
<



&
"
#&



/+.1#
&
##&


"
#


&

/$.1#
&
##&







#&
&&
#/'1#
&
##&



#&
A-17



>8#





#AA&




#

#

9#


9#
8

AA&


>


#
#
8

&#


8

!5

Time

Current time Look ahead time

LOS PCA GOS

LOS PCA GOS

LOS PCA GOS

Figure 8%#&






#


!
5
#


AA&


.
&
#9#


8
>


#
#
8

E
>
#
8


#
#

#
8#'&
>

#




&8#

&
&

#>
#
#


#


!


8+.
&
8#
#
#



&



#>


#
/8#


1.
##


#
8$.
&
8#
#
#

&



#
#




8#&




8
#
#

8

#
#


#


"#
#
8
##


/8+.8

'
$.1
&>
#



4.3 Conflict resolution module 

!D
>B#8#

8#
#&




<
8

&#

' /A' 1#




#



#
.




#


/



<
&

1>#





#



#

#><

&
#


#


&&







##&





#



&
#




#




##&
<&8#



#

&E#><#
#


#&







#8E
#


8








#
&&
!A


A-18

 
#


8#&




&

!
#

&


8


#>#



>


#

#





6


#

8#

&

>&

#




8
#&




>
#$.
8#'


#
#



#
#8#
#




>#&8#
#


#
&

3

&#
8#

#
#


4.3.1 Speed change maneuver 

#
#&#


#&#





>>

#
8
#



#&E

##


&

#
I


#






8#&#


#
&







#




#
8








#



#&#


#

#>#&#





#

##


&##



&



&


#

#&#







#
#





#&#





!:
8#&

#




#A




#8&#




#'8>#'






#
#&

#



>#&

#&

#'8
#&

#
#>

Head-on Overtake Crossing

Figure 9%#&






#




6

#





##


A-19




&



#
&

##
&





&#

&



>#
&

#9




#&

#





!


8






&reduction#
#&

"#&



8>#>>

!
#

8##&




#
>8##

>#

#&




8
>

#
##




#&




#9#
"

#



9


>


##'8


#

#&#




8



#

#&#


!
64
##9

A

B

Figure 10%#&






#


"#


8
&##

8
##&#
8




#
&#

>#
;DL3

 BA  ;D /;61

#
8

 A K#



'/
1

"


&#


&

#
#
#





>


#&#


"#



&

/
9
13

 

 

T 

P V /;@1A-20

#
8

P K
#
I
&

M'#
I
&

/
18

T K'M


/#
1

"

V&#E&D8

<#&#






#
@49*##'
#
#9#


/!51

 #

&


&8#
#







&






&



&8






&
>V#
<

#



<
/

1
#

#

&#








#8



8
8

&#






4.3.2 Altitude change maneuver 

 #&#


&8#
##




!
8#

>
#

ED4N#



&

#
8#
#
&


&E#


/

1





#

/
1#



&


#&

#'8&>
6443

h MVS  	 hh BA 
 644 /;B1

#
8

MVS K

&

/18

A h K

'/1

"

h&#E&644#$.

#
#





8#


&





.#
#







#


#



>>9

#
8>


#$.

#
<

#

<
/

1
#



#

&#







4.3.3 Heading change maneuver 

 >##&#

#




<8#
#




&
#
#



#
#





&




#&




64

#

$.!


##



3



A-21


#
#8





##

8
##
#





#8E








&




/8





&


&


1#



&


#
#

8#
#
#




&
	#
&



3


&&
E;DL

/#
#
1
8


#
8


&&
E;DL

/#

#1


#
#


#
##
#



&



#
'

&



/
#
13

V

P T



  747 /;;1

#
8

P K
#
I
&

M'#
I
&

/
18

V K


&


/91

#



&#

#



8



#$.&>
B4


4.4 PNP server design 

#




#'*'

#

#>



&&
#


#




A-22

5 Testing 

#

>#


#'*'&




8'*'

8


'*'&
#

>;#'*'


Table 4 PNP SA client tests. 

'*'&






O

 2




>




>



6#
#>



&






6

@#
#&&




>


 * 
#* 













#


"





6

B#
#


&

&




6

;#
#















6

D#
#

'*'H.><' 






 
&
 6

C#
#




#'*'



#



>#




>
#

'*'






 6

7#
#


#
>
&


#'*'





&
#
>


##
>


&





 6
A-23

#'*'





&



5#
#








#'*'



#






#
8




&




6

:#
#



'*'##


# #
&





&#


6

64#
#&





#





A&



9#




 
&
6

66#
#



&&
&





/' 1#&&







#

 
&
6

6@#
#


#

9

#


 
&
6

6B#
#


#



&




 
&
6

6;#
#


#
#
I


&




 
&
6

6D#

' 

/A' 1#




&

/+.1&




8

&
8
#

 
&
6

6C#

' 
&


6
A-24

/A' 1#





&

/$.1&




8

&
8
#

67#

' 

/A' 1#&;


<
&


 
&
 6

65#
# 


+.J$.#&
#

'*'


I



#'-




6

6:#
#








#


 6

@4#
#



&&
&





/' 1#&&










#

 
&
 6

@6#


' 

/A' 1#












#

&
/#&



##1


 6

@@#
#&















 6

@B#
#&













 6

@;#
#&






&






 6

@D#
#>>


>
>










6
A-25

@C#
#>>


>
>








6

@7#
#>>


>
>&








6

@5#


' 

/A' 1#&#

+.
$.


&>#



' /A' 1

 
&
 6

@:#


' 

/A' 1#&#

&

#



<


 
&
 6

B4#
#


#&
#

'*'




 6

B6#
#




#

'*'

#
#



#



#'*'






#
#



#




6

>D#'*'



Table 5 PNP server tests. 

'*'



O

 2




>




>



B@#'*'

#>

>&





&
#

&


#


 6
A-26




BB#'*'

#&



>


#&



6

B;#'*'

#&


&

>


#&



6

BD#'*'

#&

#>


#&



6

BC#'*'



#



<


'


#





<





&

#&


 
&
6

B7#
<
'

H

&
<
#

>
&


A&>





 
&
6

B5#
<
'

H

&
<
#


8


888



&

9#/

1


6

B:#
<
'

H

&
<


#>


 
&
6

;4#
<
'

H

&
<



#>


 
&
6

;6#
<
'

H

&
<


#>>


/+1

 
&
6
A-27

;@#
<
'

H

&
<


#>


&
A&>

/
/
1J


&


9
1

 
&
 6

;B#
<
'

H

&
<
#

>



	'.%

 
&
 6

>C#'*'&

Table 6 PNP display tests. 

'*'&

O

 2




>




>



;;#'-#&

#+.J$.#


>





B

;D#'-#>>


>#&

#+.J$.>





B

;C#'-#>>

>#

&#+.J$.

>





B

;7#'-#&

#
I
&










>




*3#









>&




B

;5#'-#&


&




#







B
A-28


>




*3#









>#
>




;:#'-#>>


>#&








B

D4#'-#>>

>#

&






B

A-29

6 Conclusions 

#

>

#



&&
*





E&


&




&#
>#









#











8


&
#
&



#


#


8

>


A-30

References 

6$
%

8P

-
*E$

8P 







8#8+8@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#




8




&
8*.

8+8(

8@445

B)

#8$
%

8P#










3



8P;C# 
&


	E#>8


8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

88

>
8@447

D)

#8$
%

8P	
*

&'




 &

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8


808(

8

@447

7)

#8$
%

8P'
>>
!


#'



 

"#

.#
,


8P*!.


8'>
#8'8

*>
8@44C

5)

#8

8$
%

8PA'
>>!	


8P 



/18'

8.8.>
8@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*






/ *18
8

88@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 



/18


8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*

&


%"#
8P 
#
8



.&

/ .1!
8




8-8&>
@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+98,8

.>
8@464

6;%
$8$
%

8!

9


8)
%
8P&

	



9A
!


&8P 
#
8





.&

/ .1!
8808&>
@464A-31

6D%
$8$
%

8P	
,
$


#!
*



&8P 
#
8



.&

/ .1!
8808

&>
@464

6C$
%

8P




I




!

8P 



/18.

8!+8.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P 





/18.

8!+8.>
8@44:

65$
%

8P'








!






&


&>8P 



/18

'8*8.>
8@445

6:$
%

8P

	


I-

.&I
*


!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#
!



8P



8*






/ *18%


8-8

8@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@4476;54:A4@

PNP Separation Assurance Client 

Software Design Document 

Saab Sensis Corporation 

'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

8@466B-2 

Table of Contents 

1 INTRODUCTION ............................................................................................ 3

2 SOFTWARE ARCHITECTURE...................................................................... 4

3 PNP SERVER ................................................................................................ 5

3.1 FUNCTIONAL DESCRIPTION ...................................................................................................... 5 

3.2 SOFTWARE DESIGN ................................................................................................................ 7 

3.3 INTERFACES ......................................................................................................................... 10 

4 DYNAMIC AIRSPACE CLIENT ................................................................... 12

4.1 FUNCTIONAL DESCRIPTION .................................................................................................... 12 

4.2 SOFTWARE DESIGN .............................................................................................................. 12 

4.3 INTERFACES ......................................................................................................................... 12 

5 PROBABILISTIC TRAFFIC FLOW MANAGEMENT CLIENT ..................... 14

5.1 FUNCTIONAL DESCRIPTION .................................................................................................... 14 

5.2 SOFTWARE DESIGN .............................................................................................................. 14 

5.3 INTERFACES ......................................................................................................................... 14 

6 SEPARATION ASSURANCE FRAMEWORK CLIENT ............................... 16

6.1 FUNCTIONAL DESCRIPTION .................................................................................................... 16 

6.2 SOFTWARE DESIGN .............................................................................................................. 16 

6.3 INTERFACES ......................................................................................................................... 18 

7 CONFLICT DETECTION ............................................................................. 21

7.1 FUNCTIONAL DESCRIPTION .................................................................................................... 21 

7.2 SOFTWARE DESIGN .............................................................................................................. 21 

7.3 APPLICATION PROGRAMMING INTERFACE ................................................................................ 22 

8 CONFLICT RESOLUTION ........................................................................... 24

8.1 FUNCTIONAL DESCRIPTION .................................................................................................... 24 

8.2 SOFTWARE DESIGN .............................................................................................................. 24 

8.3 APPLICATION PROGRAMMING INTERFACE ................................................................................ 26 

B-3 

1 Introduction 

#

>



&&
*





E&


&




&B-4 

2 Software Architecture 

'*'
J


#
'*'&&
&

>


>

'*'H
#
&A
A&8'*'




9







E#

"#

<
#'*'
8

#'*'
&#&



8
#





&


&
#'*'

##


I





#
#*

&/*1#'*'


#



&




/ 13#

'*'




&
&




#


&

>




# 


>
#
#

#

&
/18#'
>>


!


/'
>!18
#&



!

9


/1

#'*'
#
>
&&


>

*#

#

>&

#
#&

&




>
!
6

!
6'*'
J


#


B-5 

3 PNP Server 

#

>#'*'

&






3.1 Functional Description 

#'*'


&
>
#E



##'*'






8
&
&J
8


J


/
J&J


&

18&&8#/
<


J&

18
#


'*'


&
>" 8




8


8


>'*'

*
&8
&




&8



#/!18




&


/'

#'*',






1

#'*'



#



#'*'

&



#
##E#
#
>#'*'






>
#




#'*'


&




#
>


#'*'

&#



8#8

A
I

FOB@G#'*'





#


#

9#&
#





&



>
#


##


#!#8
&
8



A>




8

A
I
FOBBABDG


&


&##
#&

<

&
8#





#'*'




<
#
<
&


#&
&

&
#
>#'*'





&&
>
6D


#
&&



3/61

8&
&

>


J



&


/@1
&

8&
&

>


	

#'*'


<
'

/'1&>
'


#'&
A&>



FOB7G#'





<
>
#

&3/61

&8/@1#&
8/B1


8/;1

&8/D1&

8/C1

8/71
8/51



&8/:1



8
/641;

FOBCG#'




<

8
888


/
/
1J


&
9
1FOB5A;BG

#'*'

#


#
A#'*'





" H
A

#


" H
A



#
&
*."8$ 8	8!8
 $	*

# 
D




>#B-6 

9
#A#'*'


#
#




>

9#

#
#8




8
&


8*."8$ 8	8!8


 $	*
&




>






#'*'

#'
-&/'-1#'-#
I

#*#'-
8


8
&


8



8
8	8!

#'-&#

+.J$.#
>
FO;;G#'-##9>E>


#&#+.J$.>
FO;DA;CG#'-&

#
I
&






>




FO;7G#'-&
&


#





>


FO;5G#'-&##9>E

#&

FO;:AD4G#>
>


#

&#'->



#



&

ED48444
>
!
@

Figure 2'
-&
&#

3.1.1 Services 

#

>#'*'


>
3

Sectorization 
B-7 

#'*'


#
I

&



I
#


I

3
8J
&&
8>
&&
8&8



JE



Airport Capacities 

#'*'


#
&
&
&
&
>


@&
'

>*&
'


>

#

&

City Pair Routes 

#'*'


&



&
'


Flight Plan Modifications 

#'*'

&#&

#
##&


Flight Delays 

#'*'

&##
##&


3.2 Software Design 

#

>#
##
#'*'

#'*'




#
.
#




#



&

#

#
><>
##
#
#

I




E#
#
>
!
B

Figure 3 '*'

#


3.2.1 Event Thread 

#'*'



#



#





#9


>
#>B-8 

&#






J
#



&



#
>
!
;

Figure 4 '*'	
#

!

Initialization 


&8#


##
#


I
#
##


&

&
&#




#
#

&#








#





#
#

&
/1&
#
I





#
#
#
#&#>
#



>3

9A##




##
&&
#9A#

#



#
#

#"#
&#




&
>
#



>&



Steady State 

 
#
&#
#



#A8



E&>	


#
&
E


#



#9E#



>3&>9



>
8#











E
#
#
#


#

#&

#
#
##&



#


#
#
##

#
#B-9 

&

#
	A##

#

&


&


#
H&

&
#









8#


E
#
#
#



#
&&

>
#


#



#"#


#




J
&




&


&



&







	J!
&
#
&

#



&>#
&&
3/61$	
	*.,	




/@1
&


&8/B1	
!8


/;1#



8#






9

>9
#
#

#
>9



>#

>3#
#


&
#







Shutdown 

#

E&



#

8#




&





#



3.2.2 Communications Thread 

#

#

&
>


#






E#
#
&
#

#


#



&










#




##





>>#8


8


##


&

#
>
!
D

Figure 5 '*'	
#

!
B-10

3.3 Interfaces 

'*'
J>
#
#'*'



#
#'J '

9#
(' 

>

&
>'*'#'*'' 


&#
#
##'*'


#'*'

##



#&#
&
!
C

Figure 6 '*'






Start-up

#
A&#



##


>

I


Steady -State 

 
#A&##


#


#



#



#
8&

###

>

#&
#
#




8
#&&
&
8
#
>#
8



#



&
.




#


&
#'*'






Shutdown 

##
&##

>#

#
##




E&

8#&>9
&8
#

#&

B-11

#

$, 
#
>





#




#

#

B-12

4 Dynamic Airspace Client 

#

>#

&
/1&








4.1 Functional Description 

#

&

&
>
&>#




#



8#

8&8





4.2 Software Design 

#

&

#

#'*'
9#



#&


>




#




&&

#




#


>

#&#









#




3


J

&&


>
J

&&



J>
&&





&






E

#
>
#&#&
<
>
9




4.3 Interfaces

#

&


##'*'#(' >

&


>'*'!

#





&

&+

>


#



>
!
7B-13

Figure 7 




B-14

5 Probabilistic Traffic Flow Management Client 

#

>#'
>>
!

/'
>!1&








5.1 Functional Description 

#'
>>!


&

>





##9

>*



#9

#



*&8
#



#


#




8'
>!

>E&

#*8




&

#9&

>




&&


>
#


&
>>
>
8

'
>!>



#

9E

&

5.2 Software Design 

#'
>>!

>
#&#&
<
>
9






5.3 Interfaces 

#'
>>!


##'*'#(' >

&


>'*'!

#





&

&+

>


'
>!





'
&!#


#

#' 

'
>!
>&
&

#


#
#'
&!#
><



' ><

#' 
##


#





#



>
!
5B-15

Figure 8 '
>!




B-16

6 Separation Assurance Framework Client 

#

>#&



!

9/1&








6.1 Functional Description 

#&



!

9
&


9
&







/1
#(

>



#




&

#(




&

>&&





6.2 Software Design 

#&




>

&

FO6G#


&
&
#









FO@G#
&

&










FOBA;G

#'*'H.><' 


FODG#.><

' &

#
#



##'*'



#


#'*'

FOCG#



>#


>
#'*'



#






#'*'

FO5G#






#



&

/
#&

J



1#


##&

#FO:G#

>#

##





"#


#
&

#
>
#

#
>#

#


#>


#



#
&
##
#

##




#&

<
###
<
>&#




##


#&
#
<


>

A&

9#
FO64G






#
+.J$.##'*'


I



#'-FO65G#
>&#





##



#&






#


>&>9##

#



>


A#

>
##


#
A#

>
>9#

>&
FOB4G.





#&
#

#&



#>

8#
#
>
&

>9#

FO7G

#

#E


#




#'*'

#
#

>
#



FOB6G#
>
!
:B-17

Figure 9 &







6.2.1 Separation Assurance Detailed Design 

#

>#
#&






Initialization 

##
&


>##/61
<


8

/@1

9#8/B1


#
I


&


8/;1



&


8
/D1








#>#

##



#




##



Steady-State 

#



&

#

"#
#


##

#9
&##&
##


#
##


#
<
&



&#
#
#

#

"#
#
>
8#
#&
#


<

##

>&









#




>
#

#
.


&
##
#
>
&
>
>9#




#


Shutdown 
B-18

##




&
##>


#
##E&



6.3 Interfaces 

#&



/1


##'*'#(' >



&
>'*'!

#





&

&+



>
#





'
&!#


#

#' 

#&









'
& 
!##



>
!
64

Figure 10 &








#




>&


#8>



#8
#&

#8

&#>


#




#8#ownship
#&
=

?
>#>



#8#ownship
#&


=,'?
>#

ownship

#8#ownship
#&







=+647C?
>#
&#>
8#
#&
#&


=&
?
#separationassurancepolygonJ


=BD6JA64678BD6JA:6B8B66JA:6B8B66JA6467?B-19

6.3.1 Pseudo Code 

#
&
#&





#&









##process##










8&

8

#


#clear#
I#getReroutes8getLosList8


getConflictList#&

#


&>

&



 



Q

&>process/

 



8



 



8


1R

&>clear/1R

&>&S 

8
'
TgetReroutes/1R

&>++getLosList/1R

&>
+getConflictList/1R

createSummaryReport/

E&

1R

U

&



&


>
#&







>#
#&&



&

8#

separationassuranceimplementation 
#&
=
#&?
>

#

&



&

8#

separationassuranceimplementation 
#&
=

?

&>&



!


Q

&>&



 

/



1

Q

/

+
/1/P
#&P11

Q




.
#&&



/1R

U

/

+
/1/P

P11

Q






&



/1R

U



Q




RB-20

U

U

U

B-21

7 Conflict Detection 

#

>#


#

7.1 Functional Description 

#


#&



>

#&



&
&

7.2 Software Design 

#

/1&##
#!#



#>
#&




E8#

>&


#
#&###
&
&3/61



9#8/@1


#
I
&


8
/B1





&


#
I
<



AA&


>
#


#

9

##&
#
#&&

#
#8




#


&
&

&

>#



9#
&




&

##
#&

#
#



#



#&



#



.
##>

I#
>




#
&


Figure 11 




B-22

7.3 Application Programming Interface 

#

>#&&
'










#FO66G#

&&
'




/A

' 1&
#
#/61

9#


FO6@G8/@1

&


FO6BG8
/B1


#
I
&


FO6;G#A' &
##

&

/+.1&


8&
8
#FO6DG#

A' &
##
&

/$.1&




8&
8
#FO6CG#A' &
#


;
<
&



>#FO67G#

&



#>
#
A&



9#


7.3.1 Pseudo Code 

#
&
#



#







#3








#

&


&>



 



Q



&>+SDetectedConflictTdetectConflicts/

#&!# 8

+S!#T#8


1R



U



&


>
#





>#


&

8#

conflictdetectionimplementation 
#&
=
?
>#




&

8#conflictdetectionimplementation 


#&
=
?

&>

!


Q

&>

 

/



1

Q

/

+
/1/P
P11

Q







/1R

U



Q







/1R

UB-23

U

U

#


&
8
&

8


&
&&
#8


&



&>


Q

&

V!# R

&

V.#
!# R

&

V
+.&

R

&

V
&&
#R

&

V
$
.&

R

&>
/
!# 8


#
!# 8



+8



&&
#8



$
.&

1

Q

V!# K!# R

V.#
!# K#
!# R

V
+.&

K
+R

V
&&
#K
&&
#R

V
$
.&

K
$
.&

R

U

B-24

8 Conflict Resolution 

#

>#


#

8.1 Functional Description 

#

&
#

&



#
#&88






8.2 Software Design 

#

/1#

###


#!#

##
&
&3




&

#&&88





#


>

8#



>

>





#

##
>&#



 
!#

##&
FO6:8@6G

Figure 12 





Right Turn Maneuver 

#
&

#



/	;BB1#


#
#



&
##
B-25

##

FO@@G#
&
#
#






<
##



#






>

#
&
#


#


&
>:4o

>
#
#
I


&


#E&
>
#
#&


&&
#>:4o

>9#


<


Left Turn Maneuver 

#&



/	;BB1#
E#


#



&
##


##

#
&
#






<
##



Speed Reduction Maneuver of Trailing Aircraft 

#&&



#



/	


;B61#
E#
#&



&
##
##

FO@;G

#
&
#&


<
##





#&



>
#

#
&#



>#
;DL#&
&&
##
#
#





>


#&



"


&





&



#
&##"



9


>

&>


"#



&

/
9
13 

 

T 

P V 

#
8

P K
#
I
&

M'#
I
&

/
18

T K'M


/#
1

"

V&#E&D8

<#&







#
64N#
&

Altitude Descent Maneuver 

#&


/	;B61#
E#



>E
#
#&#



#


#
#

&
##


##

FO@BG#
&
#




<
##



##


>
#

#



/
1#

&


#

&

#'8&>
6443

h MVS  	 hh BA 
 644 B-26

#
8

MVS K

&

/18

A h K

'/1

"

h&#E&644"


#








#
&## "

9




>

&>




8.3 Application Programming Interface 

#

>#&&
'











#FO@4G#

&&
'




/A

' 1&
#&



8&8


FO@DA@7G

#A' &#+.
$.
&
#A' FO@5G

#A' &
#
#&

#



<
FO@:G

8.3.1 Pseudo Code 

#
&
#





#








#3&

.&





&


&

.&


#



#
>
#
#&
E#&

&>



 



Q

&>+SResolutionT&

.&
/!#
#&8

!#E#&8



8


1R

U




&


>
#






>#



&

8#

conflictresolutionimplementation 
#&
=
?
>#





&

8#conflictresolutionimplementation 


#&
=
?

&>

!


Q

&>

 

/



1

QB-27

/

+
/1/P
P11

Q







/1R

U



Q







/1R

U

U

U

#


&8
<
8
&
#&
>#



/
#

8

8&

8
#
1#
<


#


#


#&

#'*'



&
#


#

&>Resolution

Q

&
	.+, .*VW'	V&R

&

<BFGV
<
KR

&
ReroutePlanV'
K
'
/641R

&>
/	.+, .*VW'	&1

Q

V&K&R

U

U

#

&

&

8#&
8#&
&
8

#&
&
8


#&







&

##

#
#


&



##

#

##&
8&
8
&



>#

>&
>##


>#



>&
>#

&>ReroutePlanE
&
<
I>

Q

&

V'

K::::R

&


V!#'
KPPR

&


+S

TV!#'
"&
*K

+S

T/1R

&


+S
<@TV!#'
"&
K

+S
<@T/1RB-28

&


+S

TV

K

+S

T/1R

&>
'
/
&

1

Q

V'

K&

R

U

U

B-29

#
6

)
 
&
 -






 #


##'*'




#


6


#
I
&

 #
#
I









&



64



&

 #
#
I






&



6444



&

#

&





&




X





&

#


&










X


&



&

#&



&



&





X


&




#

##





&
E

64

&



 #9#
##





&
E

6@


>
 #

##







&



65444


<
&

 #&
##
<






64




 #


##






&


#




64

&&# #


##&
&
YY
&
6;54:A4;

PNP Required Time of Arrival Requirements and Engineering Design 

$
%



'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

(8@466

C-2

Table of Contents

6


B

@9

;

B

C

;



5

D!

#

:

C
64

7

66



6@

C-3

1 Introduction 

#

>

#



&&
*





E&




&/*1
&


@
>#





&


#





/1
&


B
>#



#
#

'*'


#
8
8


;
D
>








#


C#>&



C-4

2 Background 

#

>
&


#





/1
&

2.1 Probabilistic NAS Platform 

 
#




#'
>>*'
/'*'1&






/!18&



/18
&








##




&

"&'*'F6A66G8



8

*8

(
'



&
./('.18
!






/!1&
<F6@A@6G!
6
'*'H
A


#


Probabilistic 

NAS Platform 

(PNP)

Probabilistic 

NAS Platform

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data

Reports Reports

MATLAB®

Scripting

Interface

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Clien DAC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Flight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AOC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


2.2 Overview of the required time of arrival concept 









####


&#AE&

##&


&
>





#8
#

##&
#

##&

>



.

&




##
I

#
8
#


#

8

>#&


#&


/.1

#
8

#

/

#1&



"#
#'*'
#
&

#




9


#


##&

#C-5





##
!
@####


#



PNP

Client RTA utility

● Flight plan request

● Modified flight plan

● Flight plans

● Flight plan, RTA request data

● Modified flight plan and FOM

6 

#&

'*'

@ '*'


#&



B 
&
&
8



&

&

; !
#8
&#&



/
J&&
8

1#



D 


#&

!.

C 

&&;


7 
###&
#
8


#&
'*'
#


Use Case

1

2

3

5

7

4

6

PNP

Client RTA utility

● Flight plan request

● Modified flight plan

● Flight plans

● Flight plan, RTA request data

● Modified flight plan and FOM

PNP

Client RTA utility

● Flight plan request

● Modified flight plan

● Flight plans

● Flight plan, RTA request data

● Modified flight plan and FOM

6 

#&

'*'

@ '*'


#&



B 
&
&
8



&

&

; !
#8
&#&



/
J&&
8

1#



D 


#&

!.

C 

&&;


7 
###&
#
8


#&
'*'
#


Use Case

6 

#&

'*'

@ '*'


#&



B 
&
&
8



&

&

; !
#8
&#&



/
J&&
8

1#



D 


#&

!.

C 

&&;


7 
###&
#
8


#&
'*'
#


Use Case

1

2

3

5

7

4

6

Figure 2#'*'##
#






#
#&



#

!
#

8#
#>
#
>&
&
#

##



&
8
##

&
&
#9&#


#

8&
&

8


!
8#




#

&&



##.
8##

##


##&


#
&

8>
#

C-6

3 Requirements 

#
#



8
#'*'
#
8
8





3.1 PNP architecture 

6 #>&>


#
#


@ 	##>
#&
&





B #
##>
#&


<








#



&

#&
8


#

&
8



>


#




&




#


&


; 
#3#'*'#&

#
#
#
#


##
#
##>
##&


#




8#
##
8#&#

#




##


3.2 PNP client 

D 
#>

3.3 PNP RTA utility 

C ##&
&#&
8#

8
#


&#
##&
&




##




&!







8


8#
&

&#




#

E
#

/8

#=

>

?1

7 ##&#
&#
/
#



>


#1

/1#&
&
8/1




#


&
8
/1

#


&
#




&



##H


9

5 ##


&#&
#&

#

: ##




/!.1
8



#
#>8





/8

##&


#&
&#
>
#

1#>

!.

#>



&!.
#

8#!.#>&#&





MC-7

64 ##&
&


#

.




>>#
&


66 ##&





###

&
#
I

#

6@ 
#3##&



#

#
&&
#

6B 
#3##&



#

#&
#

C-8

4 Design considerations 

#





#

C-9

5 Future enhancements 

#

>
#

#
#&#
>>

&

#


5.1 PNP architecture 

6 #'*'#&

#
#
#
#
##


#
##>
##&


#


8#


##
8#&#

#


##


5.2 PNP client 

#



#

#

5.3 PNP RTA utility 

@ ##&


&
##


&##
#
>#
&








B ##&&
#

<
##

#
<
#'*'!


8#

<


>>



#
#
#


C-10

6 Testing 

	##




B>
#
>


8




&


C-11

7 Conclusions 

#

>

#



&&
*





E&



&

C-12

References 

6$
%

8P

-
*E$

8P 







8#8+8@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#






8


&
8*.

8+8(

8@445

B)

#8$
%

8P#










3



8P;C# 
&




	E#>8
8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

88

>
8@447

D)

#8$
%

8P	
*

&

'


&

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8




808(

8@447

7)

#8$
%

8P'
>>
!


#

'



"#

.#
,


8P*!.


8

'>
#8'8*>
8@44C

5)

#8

8$
%

8PA'
>>!

	
8P 



/18'

8.8.>
8

@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*








/ *18
888@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 





/18
8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*



&
%"#
8P 
#
8



.&



/ .1!
8


8-8&>
@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+98

,8.>
8@464C-13

6;%
$8$
%

8!

9


8)
%
8P&



	

9A
!


&8P 
#
8

 



.&

/ .1!
8808&>
@464

6D%
$8$
%

8P	
,
$


#!


*

&8P 
#
8



.&

/ .1

!
8808&>
@464

6C$
%

8P




I




!

8P 



/18.

8!+8

.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P

 



/18.

8!+8.>
8@44:

65$
%

8P'








!






&


&>8P 





/18'8*8.>
8@445

6:$
%

8P

	


I-

.&I


*
!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#


!

8P



8*








/ *18%


8-88@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@4476;54:A4C

PNP RTA Conformance Monitor Utility 

Requirements and Engineering Design 

$
%



'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

.>
8@466D-2 

Table of Contents

6


B

@9

;

B

C

;



5

D!

#

:

C
64

7

66



6@

D-3 

1 Introduction 

#

>

#



&&
*





E&




&/*1
&


@
>#





&


#





/1





&


B
>#



#
#

'*'


#
8



;
D
>








#


C#>&









&



E8

#&3

6 &

#

@ 

##H




B &


>##





; 
#
&
>#

"
&6!

#!

I&#



8


##>
>
##





#


"
&@
B#






&;


#
!



&6
;#!

&@
B

#




8#


&
>

&

#/




18
#

&
>




#

D-4 

2 Background 

#

>
&


#





/1





&

2.1 Probabilistic NAS Platform 

 
#




#'
>>*'
/'*'1&








"&'*'F6A66G8



8



*8(
'



&
./('.18


!




/!1&
<F6@A@6G!
6
'*'H


A


#


Probabilistic 

NAS Platform 

(PNP)

Probabilistic 

NAS Platform

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data

Reports Reports

MATLAB®

Scripting

Interface

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Clien DAC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Flight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AOC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


2.2 Overview of the RTA conformance monitor concept 






####
&#AE

&

##&


&
>



#

8
#

##&
#8


#&
##H


&
#
&#


##

#>

I#

>
#

##&
H
<


'*'
8##!
8#









##




'*'







#
#


##







8
>'*'
"

#&>

#




#




'*'
"

#

#
&&


#

#

D-5 

#



3#




'*'




>#
'*'
!
@####
#




#








PNP

RTA Conformance

Monitor client

● Data request

● Modified data

● Data

6 


'*'

@ '*'





B 
#9


8




>#


#
&>8











; 

'*'
#




Use Case

1

2

3

4

Figure 2###
#


#










!
@####
#


#









PNP

TFM client RTA Conformance

Monitor utility

● Data request

● Modified data

● Data

● Flight plan, RTA request data

● Modified flight plan

6 !


'*'

@ '*'


!


B !


















; 









#&







D !





#
*

8

#&




C !

'*'
#




Use Case

6 !


'*'

@ '*'


!


B !


















; 









#&







D !





#
*

8

#&




C !

'*'
#




Use Case

1

2

5

4

6

3

Figure 3###
#


#









D-6 

3 Requirements 

#
#



8
#'*'
#
8







J8
#




3.1 PNP architecture 

6 #>#'*'#&

##


#&


8
>

@ #
#
#>#'*'#&

##


#
#
##
##
8#


##
8#&#
8
#


##
&#


#
38

A#



#
#


3#

8&



8
8




8





B '*'#
#9

>


#


9





###/#




##
##1##=


?

3.2 PNP RTA Conformance Monitor utility 

; #




#>>>'*'


D ##&
&


C ###9




#
#
&


7 ##




5 ##&





#9

##

#






: ##&





#9

###


#
#
&


64 ##&





#9
#



##&


66 ###9




>


#H&




#&


#>
#
#





6@ ##&#&

##

#
#&


6B ##&##

>>
#



/


1

#>

8
&
&
D-7 

3.3 Other PNP clients 

6; 

##&
####




8

###>




D-8 

4 Design considerations 

'*'#&

#&



&
#




&
.
#&


#


	



#


#

<



#
<
#'*'#





#


<
&

#




#'*'
<
#



#

&#


<
&


>
#

'*'!


8#


#
#


#8

8



#

!
'*'


###



8&


#





"##

8&!









#&
>8#9

#

<
&









#<



#'*'


##







#&



&&


#








&8>#


&




8


/8



1
>9



#




#
#


#
##







##
#

8>&
#








#/#=


?1>

>'*'#>

##
##&
>
#
8



8
#

8

#

#

#



3#&


&


#





##



&






 
#
8#







##

#
##
#
&
#






#


#####



<
&

8#

##&



##&



>&

8

#




#
#9




#

#


#
>


#&E
&








#
&E8

#
#


&E




8


#


#




#

#
>#
#



D-9 

5 Future enhancements 



@@8##H


&
#
&#


##

#>

I#

>
#

##&
H
<




;8

#

#
#





###&


#








@@8#




>#


>
>'*'


D-10

6 Testing 

	##




B>
#
>


8




&


D-11

7 Conclusions 

#

>

#



&&
*





E&


!
&
&

8#
&

&
#8














#

#!
###

>



D-12

References 

6$
%

8P

-
*E$

8P 







8#8+8@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#






8


&
8*.

8+8(

8@445

B)

#8$
%

8P#










3



8P;C# 
&




	E#>8
8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

88

>
8@447

D)

#8$
%

8P	
*

&

'


&

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8




808(

8@447

7)

#8$
%

8P'
>>
!


#

'



"#

.#
,


8P*!.


8

'>
#8'8*>
8@44C

5)

#8

8$
%

8PA'
>>!

	
8P 



/18'

8.8.>
8

@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*








/ *18
888@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 





/18
8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*



&
%"#
8P 
#
8



.&



/ .1!
8


8-8&>
@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+98

,8.>
8@464D-13

6;%
$8$
%

8!

9


8)
%
8P&



	

9A
!


&8P 
#
8

 



.&

/ .1!
8808&>
@464

6D%
$8$
%

8P	
,
$


#!


*

&8P 
#
8



.&

/ .1

!
8808&>
@464

6C$
%

8P




I




!

8P 



/18.

8!+8

.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P

 



/18.

8!+8.>
8@44:

65$
%

8P'








!






&


&>8P 





/18'8*8.>
8@445

6:$
%

8P

	


I-

.&I


*
!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#


!

8P



8*








/ *18%


8-88@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@4476;54:A4:

PNP Required Time of Arrival (RTA) 

Conformance Monitor Concepts 

Interface Control Document 





'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

*>
8@466E-2 

Table of Contents 

1 INTRODUCTION ...................................................................................................... 3

2 SOFTWARE ARCHITECTURE ................................................................................ 3

3 INTERFACES .......................................................................................................... 3

3.1 Flight Change Record ............................................................................................................3 

3.2 Delay Plan ................................................................................................................................4 

3.3 Reroute Plan ............................................................................................................................4 

3.4 Flight Details ............................................................................................................................4 

3.5 RTA Non-Conformance List ..................................................................................................5 

3.6 RTA Spacing Maneuver .........................................................................................................5 

4 CONCLUSION ......................................................................................................... 6
E-3 

1 Introduction 

#

>#






&&
*





E&

#



/1







&

2 Software Architecture 

#




,#
>

#
>

I>

#

#'*'

&
#9



>




3 Interfaces 

3.1 Flight Change Record 

#!##


9#&
#

#








#

!##

####






>
#
##

!##



!&
&


V



#
#>##

#




V&
#####







V
#



#

###




V!##

,####




-3

, 	8

 '+		*	8

' . WV.*!+ $%V '+		*	8

' . WV.*!+ $%V $*.	8

.-	.	VWV	-	*

V
!##

	.*#

###







-3

"	%	V- .*	8

	' .*V,*	8

 *  +V8

V.*!.*	8

.*$	 .*V*$		*

V&!##

W'	#&#

###
E-4 





-3

$	V	+W8

'		',	V	.,	8

 *!+ $%V*	,-	8

 *!+ $%V	.,	

3.2 Delay Plan 

#'

##'*'



#

'


!&
&


V 



#




#

V!##

!##


#8#
8
#

#>


3.3 Reroute Plan 

#
'

##'*'





#


'


!&
&


V!#'



# #&


V!#'
"&
*

+S

T+#&
&





V!#'
"&


+S
<@T+@
<
#&


&


V



+S

T+



V!##

!##


#8#
8
#

#>


3.4 Flight Details 

#!##>
&

#
&&
#


#



!#

!&
&


V!#
!#
+ !  .*
#


#

-3

-!8

 !8

!8

,E-5 

V
#







V!##
%
&S+
8!##

T+##




>

3.5 RTA Non-Conformance List 

#*
A


+#9

>






'
&*



+

!&
&


V!#+S!#T+
A




#

3.6 RTA Spacing Maneuver 

#&




#

#

&




!&
&


V &




#
##





&


V



#





V&	
>&


W'	&



-3

, 	V8

		*V'.! +	8

.$+	$
E-6 

4 Conclusion 

#

>




&&
*





E&


!
&
&

8#

&


#6@6;54:A4B

RTA Assignment Client Requirements and 

Engineering Design 





$
%



'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567J9.

**+64:;


#8@46@

F-2 

Table of Contents

6


B

@9

;

@6'
>>*'
;

@@'


D

B

C

;



7

;6,
&
7

;@



#
7

;B


5

;;




64

;D#

64

;C#


66

;7



6@

;5!

#

6@

D
6;

C

6D



6CF-3 

1 Introduction 

#

>

#



&&
*





E&


89&A>8





&

&




@
>#







&



9##>




B
>#



#
&&
&
*

E&


;
>






#




D#>&



C#



F-4 

2 Background 

#

>
&


##>





2.1 Probabilistic NAS Platform 

 
#




#'
>>*'
/'*'1&







/!1
&

&





/1

"&'*'F6A66G8



8

*8

(
'



&
./('.18
!






/!1&
<F6@A@6G!
6
'*'H
A


#


Probabilistic 

NAS Platform 

(PNP)

Probabilistic

NAS Platform 

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data Wea Weather Data ther Data

Reports Reports

MATLAB®

Scripting

Interface

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Client AC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data FFlight Data light Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AAOC Client OC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


 
#&
<"#





'*'

!@#8#
>##
'
>!
F-5 

PNP

SA Weather 

Avoidance

RTA 

Assignment ProbTFM

RTA Utility Trajectory 

Predictor

High-to-low priority

Figure 2%#E&


#




&










2.2 Preliminary tests 

 
&

#


#
'
>!
"




####













F-6 

3 Requirements 

#
#




#




6 #


##


>



#


&


@ #


#





>

#

B #


#&

#


#

#


; #




#8#


#>#

D #


#


##&

##


'*'


F-7 

4 Design considerations 

#

>




#



'*'





4.1 Use case and assumptions 

#

>#

#@46@E&

###




8
##8"#


'
>!


'*'




##






#


>#
&

#
#

#&#


&



&>#&


#





A



&

8>#
&
#

8
#
8&

 

6D
>
'*'#

38"#

8




'
>!#


#



&








#"#
-


#&
&

8
&




&
&

#
&




##


&




>E

#






###

&

#
#







###
&


#
#



*E#&



&



#

#

#

&

##
!
>##



&

8
##



##&
##

>


&



#




#
#
#




&##







!
##





8#
&
>#




!
#'
>!










.





&







>


#
&>



4.2 RTA Assignment client architecture 

!
B###




&


&




9!
8#

#

#8

8

#






&


#




F-8 

RTA 

Assignment

Initial RTA 

Assignment

Conformance 

and

Reassignment

Figure 3


##
#


4.3 Initial RTA assignment 

!###


#
#


&>




#


&
.
8
##

8#




>


#


&
#






#
>&>

#8&


&




!
E&8
#
#
>


>


#

8>>

#&

#

#
#

8'*'8>
>#
##

#!##&
#


>

##&






>

#

#

!;!
>#/8###

##




#

#






18#



>


8


>#



#


&



&

/

&#

1
&>&

/@4
1

#>
#	

#
#E&
#
8



#
&



&
#
&

&


&

8

&
#
&
8#
&
6DA


&>

:44
8>
#


8

8>
&



"#

&
8#&
&




&

#


&
>
&



&

&
#
&








8



8#&
&







##
&




8#6DA




,8#&
&




#

&
8#


&

#

&
F-9 

#
#&

8
#
&
##



#8&
###
#

#&



/&




1##
#
&
H
&
#&


"#

&

8
##>
##&


#
&
H#&#&


#
#8#
#






Loop through all 

flights

Has flight 

departed?

RTA already 

assigned?

In RTA window?

RTA Utility: 

Compute earliest 

ETA using speed 

control. Add 20 

minutes to obtain 

latest ETA.

Loop from earliest to 

latest by MinSpacing 

parameter

Is candidate RTA 

within MinSpacing of 

any existing RTA for 

this airport?

Pass 5% test?

Assign this RTA. 

Modify flight plan 

using RTA utility. 

Update schedule.

Continue

End of 

loop

End

Log RTA 

assignment 

failure

Y

Y

N

N

N

Y

Y

Y

Continue

N

Y

N

Figure 4




*#
#
#

&
8##





#



#
##
A#&

#


#=DN?#&
&#>


##
&
#>




#
>

#


#

8##644N&9##


&&
>
#
&


#DN







8

#
#




#8

>





/*$1
9&
&
8#
&



&>
&#
#&##
&
##

&#*$&
#E#
&#
#!


8#

*$&



>

>




44648#
F-10

#
#44D
##>&:DN#8
9

DN#

4.4 RTA conformance monitor 

#




#


##
#




#




#&

3#



&


#


&



 
#E&

8#>


>





&

/>#
1
#
/>#"#




1

E&

#
>#

!


8






#







#








*#
###




##


8
>
&#


#9
#


&#	
##

#




 
#E&

8>




>>

/


"#


18&>9
###





#&
#
	!


8#





#



8#
##





##


#
&
#"##



#
#>









<>#
#	
#>



#

&>#
#&



#


&


#




>/
;B1

4.5 Schedule creation 

 
#

>8&##
#
#
&
8



#&




8##






#


##




&





&

8##>&
###

>





##&
##8



#
&
H##

8

#





#


8#





#

#
#
&


#
&
#>


>#


#'*'



#

8#
A

##
#
#


&
#


8
>

8







%
9




##F-11

!
&

8##&

/1
>
#



#

#
&
#>&&##

&


#

#>


#
.
#&
>








#
8#
#
#E
8

#


6D


8&&
###
#

&


#






 


8!D
8#
&


#


#

&
8#



.
##
#
8&


#


&

8
#

8#&


8







"#&&8#
&

&

8#


#&
E&&
E
A#
&

&

#



>


##
&



Departures have 

higher priority

Departure time

Arrivals have 

higher priority

Figure 5




&
#
&




&



*##




##8


#

>

;6#>#>





#&

/&




1



##

!


8##

/1
>
#




##


8#&
>>#>




#
&
#
8
##>


8


>>

;6#&
#


#
&


#8

!;

4.6 Schedule maintenance 

 

#



#&




/
8


&1
#
&
#8##>

#


&

8
&




8>





##
&
#8


#
&
!


8

#

;6&

##
/&

1


#



8>
#&


#
&
#8
#
#&



#






 
#


E&

8&



>#'
>!
8


#

#
8#

##

&





/.1
#
&




#

"#

###


&






F-12

4.7 Discrete time versus continuous time 

#
&
#>






#



8E
&



#
&

&


&

#


8
##
#
8






8
>

&




#



##
&



&
!
C
#


Open

slot

Open

slot

Open

“slot”

Discrete time

Continuous time

Figure 6



#

!C
8
#


EI#
&


&#
8#
##
#&#&
#




8
##
#
8#

&9
&






#
#&9
E
8
8
###




&
8

#
#&

#


8#
8&&

>
&

&
#





'


&
#&8







&
#
&
&#



&
&
&&


##



##








4.8 Future enhancements 

#



#

#>&

#
%





#

3

#&

#
&
#




E





#



#
F-13

A


&
&'



#




&
#

#

F-14

5 Testing 

#

>#


#&

>6#

Table 1 PNP SA client tests. 

'*'&






O

 2




>




>



6#




##




>



#


&





6

@#




#







>

#




6

B#




#&




#


#

#







6

;#








#8

#
#>

#




6

D#




#


##

&

##
'*'




 
&
 6

F-15

6 Conclusions 

#

>

#



&&
*





E&


89&A>8!
&#&





#
>#







#


&



#


#
8

>


F-16

References 

6$
%

8P

-
*E$

8P 







8#8+8@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#






8


&
8*.

8+8(

8@445

B)

#8$
%

8P#










3



8P;C# 
&




	E#>8
8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

88

>
8@447

D)

#8$
%

8P	
*

&

'


&

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8




808(

8@447

7)

#8$
%

8P'
>>
!


#

'



"#

.#
,


8P*!.


8

'>
#8'8*>
8@44C

5)

#8

8$
%

8PA'
>>!

	
8P 



/18'

8.8.>
8

@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*








/ *18
888@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 





/18
8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*



&
%"#
8P 
#
8



.&



/ .1!
8


8-8&>
@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+98

,8.>
8@464F-17

6;%
$8$
%

8!

9


8)
%
8P&



	

9A
!


&8P 
#
8

 



.&

/ .1!
8808&>
@464

6D%
$8$
%

8P	
,
$


#!


*

&8P 
#
8



.&

/ .1

!
8808&>
@464

6C$
%

8P




I




!

8P 



/18.

8!+8

.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P

 



/18.

8!+8.>
8@44:

65$
%

8P'








!






&


&>8P 





/18'8*8.>
8@445

6:$
%

8P

	


I-

.&I


*
!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#


!

8P



8*








/ *18%


8-88@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@4476@6;54:A4@

PNP Weather Avoidance Client and Display 

Enhancements Requirements and 

Engineering Design 





$
%



'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567J9.

**+64:;


#8@46@

G-2 

Table of Contents

PNP WEATHER AVOIDANCE CLIENT AND DISPLAY ENHANCEMENTS 

REQUIREMENTS AND ENGINEERING DESIGN................................................ 1

1 INTRODUCTION ............................................................................................ 3

2 BACKGROUND .............................................................................................. 4

2.1 PROBABILISTIC NAS PLATFORM .............................................................................................. 4 

2.2 PRELIMINARY TESTS.............................................................................................................. 4 

3 REQUIREMENTS ........................................................................................... 6

3.1 WEATHER AVOIDANCE CLIENT REQUIREMENTS ......................................................................... 6 

3.2 PNP SERVER REQUIREMENTS ................................................................................................. 6 

3.3 PNP DISPLAY REQUIREMENTS ................................................................................................ 6 

4 DESIGN CONSIDERATIONS ......................................................................... 7

4.1 WEATHER AVOIDANCE MANEUVER ARCHITECTURE ................................................................... 7 

4.2 ROUTING .......................................................................................................................... 10 

4.3 DETAIL DESIGN......................................................................................................................... 12 

4.4 FUTURE ENHANCEMENTS ....................................................................14

5 TESTING ......................................................................................................15

6 CONCLUSIONS ...........................................................................................17

REFERENCES ...................................................................................................18
G-3 

1 Introduction 

#

>

#



&&
*





E&


"#


&
#
E

#A9A>



@
>#







&



9##>


B
>#





#
&&
#&
*E&


;


>






#


D#>

&

#
##



C8>






G-4 

2 Background 

#
#
>
&


##>





2.1 Probabilistic NAS Platform 

 
#




8#'
>>*'
/'*'1&




"#


&

'*'#>
&&

*
&6A@6'*'*A

"
#
>







'*'>

##

#



&#*#
#&
8

&
!
6

Probabilistic 

NAS Platform 

(PNP)

Probabilistic 

NAS Platform

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data

Reports Reports

MATLAB®

Scripting

Interface

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Flight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AAOC Client OC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


2.2 Preliminary Tests 

 
&

8#
&


#

8


8





'*'#

>#



&



8#

!
@G-5 

Figure 2

##




#'*'





#&





#'*'#
#

*A&



>
&



#

I







G-6 

3 Requirements 

#
#



8
#'*'"#




8'*'

8
'*'&


3.1 Weather Avoidance Client Requirements 

6 #
#

&


#'*'


@ #
#
####&


#

A

&>&



##&
<
>

#
#


B #
#

###&
##


; #
#


&
A&






=#?
A&


&&
#

D #
#


C #
#


A#


=#?
A

&


&&
#

7 #
#




5 #
#

&


###




#

: #
#&

#

#


3.2 PNP Server Requirements 

64 #'*'

#
&



>
#




8&



8
"#



3.3 PNP Display Requirements 

66 #'*'&#

&




#!#

&"


6@ #'*'&#

&


&


/&





8

8
"#

1
#!#&"


G-7 

4 Design Considerations 

#

>




#'*'"#





'*'



4.1 Weather Avoidance Maneuver Architecture 

#"#


>

#'*'
A


#




!
B#"#



##'*'




#.><' 

PNP

Server

Weather

Avoidance

Network

Client

!
B%#A"#


#


#"#



#

&/*."1


#

8>
#

&

*."


D


8


#
D


#"#




&
#


&#
&


#>



#
>

>#"#






#'*'


&

8

!;

Weather

Avoidance

Client

Reroutes

Flights

NOWRAD

PNP

Server

!
;"#

G-8 

#'*'

&

>
#



&




>6

Table 1 Reroute Precedence. 

& .



&



 %#

"#

 %#




 




 +

4.1.2 Weather Forecasting 

#"#



&


&


#
##




&

#


#

#


&
#>
&
#>
>

#
#


#&


#





#

#
&
	#
#
&>&





#
#
##'*'


/;61>



#
&&

##
>#E




#
>
8

!D

!
D'*',

$

"#
G-9 

4.1.3 Weather Cell Management 

#>#
>

#&


>#



#
#&





E#


#
#8

!C##
#E
#
&&
E

67D#

&&
E75

&
#
#







&&#>#
#



>I



#
;4>I

!
C"#


4.1.4 Weather Clustering 

#>#
>


#

8

!7

#>

>#


98#
##

#



>#

#
&



8###

>

G-10

!
7"#



4.2 Routing 

#"#


>#




#&




#



#

&###



&



&



4.2.1 Tactical Routing 

#>





9
#&


#
I




>#
#&


#
I



&>
&

/


#&


#
I
1

#&


>#

#&


#
I
8

#
#
>#





##



##>

#
##

>




#
>&


<9

#

##
&###
&##


&
#


#&




##8



!5&I
>
#



8

&#
#
&EG-11

!
5


"#



4.2.2 Strategic Routing 

'
A&

#>





#

9
&




>#
#



##



#


>#
>
#&


#
8#





##

#


>

#








>##


>

#
8#



&A&


>

##


>#
8#
##

#>#
8



!:#A&

>

&>

&






&>&
8#


#=A&
?
#&
G-12

!
:



"#



4.3 Detail Design 

#

>#
##


. 

4.3.1 Main Executive Thread 

#"#





8#

!
64#

"#


H
EE
(#
##

I

&




##

#
#
#.><

' 





><




#Heartbeat8Command8

NOWRAD8pre-departure
en-route flight#
#


>9

#



##
>>9#&
#

*."


>
#
&





#
#



>8##

&
&
A

&

#






>8##



&

A
#


#NOWRAD>9#
#




*."
&

#pre-departure
en-route flight>9

#
##
##

#Command>9#&







>#



8#
#





&


#'*'


&

G-13



!
64"#




4.3.2 Strategic Routing Manager 

#







8
>#

&
A&



#8#

!
66#

##

>#
>


#

##
8#



A&


##

#


##

>#
8





&
E##

>#
8##


>

#


&
>
#=A&
?#A&




#


&>

	
&
A&

#

>#





!
66

G-14

4.3.3 Tactical Routing Manager 

#





8
>#


A
#8

#

!
6@#




##

>

#
>
#

##
8#




>
>



#<9

##
#

##



#&




#
I

#>
##
#











#<9

##

>

#


#>


9#


9
#<9

##

<9

#E8
#

&#

#<9
&#

#
#


#&
	

A
#>#






!
6@


4.3.3.1 Route Optimization 

#


>#<9

#>&#
>#

>
#

##>
>
#

#

#

#

#
>
#


>#
#





>#
8#

<
#&I
&




4.4 Future Enhancements 

#

>
#

#
#&#
>>

&

#


4.4.1 Perfect Time Varying Forecast 



4.4.2 Strategic Reroutes Post Departure 

G-15

5 Testing 

#

>#


#'*'"#


8'*'



8
'*'&
#

>@#'*'


Table 2 PNP SA Client Tests. 

'*'"#




O

 2




>




>



6#




&


#'*'








&
 
&
 6

@#

#

###&




#

&>

&





##

&
<
>

#
#






&
 
&
 6

B#


#

##&


##






&
 
&
 6

;#







=#?
A

&


&&
#

 
&
 
&
 
&
 6

D#






 
&
 
&
 6

C#





A#




=#?
A

&


&&
#

 
&
 
&
 
&
6

7#








 
&
 
&
 6

5#




&




###



 
&
 
&
 6
G-16



#

:#
#

&

#



#






&
 
&
 6

64#'*'

#
&





>


#




8&





8
"#









&
 
&
 6

66#'*'&#



&






#

!#&"






&
 
&
 6

6@#'*'&#



&


&




/&





8

8


"#

1


#!#&"






&
 
&
 6
G-17

6 Conclusions 

#

>

#



&&
*





E&


"#


&#


>#







#
&





#


#
8

>


G-18

References 

6$
%

8P

-
*E$

8P 







8#8+88@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#






8


&
8*.

8+8(

8@445

B)

#8$
%

8P#










3



8P;C# 
&




	E#>8
8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

88

>
8@447

D)

#8$
%

8P	
*

&

'


&

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8




808(

8@447

7)

#8$
%

8P'
>>
!


#

'



"#

.#
,


8P*!.


8

'>
#8'8*>
8@44C

5)

#8

8$
%

8PA'
>>!

	
8P 



/18'

8.8.>
8

@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*








/ *18
888@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 





/18
8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*



&
%"#
8P 
#
8



.&



/ .1!
8


8-8&>
8@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+98

,8.>
8@464G-19

6;%
$8$
%

8!

9


8)
%
8P&



	

9A
!


&8P 
#
8

 



.&

/ .1!
8808&>
8@464

6D%
$8$
%

8P	
,
$


#!


*

&8P 
#
8



.&

/ .1

!
8808&>
8@464

6C$
%

8P




I




!

8P 



/18.

8!+8

.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P

 



/18.

8!+8.>
8@44:

65$
%

8P'






>

!






&


&>8P 





/18'8*8.>
8@445

6:$
%

8P

	


I-

.&I


*
!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#


!

8P



8*








/ *18%


8-88@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@4476;54:A@@

PNP Enhanced Terminal Area Modeling 

Requirements and Engineering Design 

$
%



'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

*>
B48@46@

H-2 

Table of Contents

6


B

@9

;

B

5

;



:

D!

#

@6

C
@@

7

@B



@;H-3 

1 Introduction 

#

>


#



&&
*





E&




&/*1


&
&

8#

>#
#


&







#'
>>*'
/'*'1


@
>#





&


#





/1
&
B
>#



#



;
D
>






#

8
&


C
>#>&



H-4 

2 Background 

#
&


#
#



>&



#'*'


2.1 Probabilistic NAS Platform 

 
#




#'
>>*'
/'*'1&



#



"&'*'F6A66G8



8



*8(
'



&
./('.18
!






/!1&
<F6@A@BG!
6
'*'H
A




#


Probabilistic 

NAS Platform 

(PNP)

Probabilistic 

NAS Platform

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data

Reports Reports

MATLAB®

Scripting

Interface

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client ATC Client TFM Client TFM Client DAC Clien DAC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Flight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AOC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1'
>>*'

A


#


2.2 Overview of terminal area modeling 






&
>
8


8.*

/




1

8
&&
#E
9
E&
8



&
8

8
#
&8
&



8&





8
&E&

8


<
8

<


&




8






&!
@
I#



&
#>H-5 

Modeling Functionality

Candidate Metrics

Figure 2.








!
B#
E&
#
##




Figure 3%&#

I


#&>





 
9&
#
=>AA8AA?&
&&
#8#




&&



'*'
8#






##
&

9
8>8

&>#




#

.*

##
H-6 

#


E
#&
8




9
E

&
#
9
#

*&

<





&&#
>




#

>##



&
&&
#
#

#

#

8#
&#





#


%
8

#




E


8


##

##


9
##


"

#

&&
#
&


#



&
!


8&






#


9B8>



>


2.3 Limitations 


@@8



E

#
>
#

#&

8





&

"8

#
8

#.*#

3

*
#&
#






#

.*
#E





+
A&



8###

<



&

>



&



*
&






#

#




*


&



*



>



*







*








*


&


*
#

&#



8#




#
#
#&

#
9

#

3

#
&E





#


>#


&

#

6D




#
&







#6D
>


>

H-7 

#
&





>
;D


&






#<#
#
#
B4




/B4

I#
I
1

H-8 

3 Requirements 

#
#




8
#<
9




3.1 User-specifiable terminal area routes 

6 '*'#>
#
&
##





&&






3



8

&




#


8

>


9
E


&&
#&


@ 




/1
&




/1

#>





#
<

&


3.2 Merge en route and terminal routes 

B !##>



8##
#
#

&


; '*'
#>>#
/

1
#8




#




D 
#>
>###&
###

&





#

#&
8
#



#
<


3.3 Runway assignments 

C '*'
#>









&

8


#




3.4 Enforce wake spacing 

7 '*'
#>
#


&
>
#






&

8
#



5 9
E
&
#>


9


E&




3.5 Operational terminal area data 

: 
&
&#>8&


I&&
#










H-9 

4 Design considerations 

#

>#




#<
9

4.1 User-specifiable terminal area routes 

 
#98'*'#
&


&





#





&

#
#9


#
>93


'*'
&
&&





9
E

&


'&#'*'
&
8
&


&
8##




4.1.1 Airport runway model 

 
'*'8
&
#>

8#
#
&
&

'



##


&

&

8






"



#

#
&
###

&



&
"

#

#node model8
#


#runway model


&


>
#8>
8



&
H>
##

#

8#




&

#



"##

&
Z,








#
&

'*'">#

>&


#




&
8>9>&


#

&
8


9



>

&
#

89#



&
>/1>


#

&



/1

#
#


&




"##


#
#
#

&Z	




E


&
8#
>
#&


&





#>#
>

#




>#&




!&


8


#

#

#
8

&


8


##&





9


9
&






#

>

E
#

#


>
&


8##'
>!
8
#



>&


8##



&



/
;;1*##
><
##



8
&


8#'
>!8

!

&
###

H-10

#
&



#

8

&
#








#


8




#





8




/1
&




/1





#'*'
8





#






&











&







>
/

#


E

1

.>#








8#
##


8
##

+9#





&



8#
##
8
##











>&
3#

9

#



#
##

9
D&

#

#
#



##

9



#
#&
8#

#

##
##&
8
#
#




&
#

8

##
&
&

&
#
&&
#

+98&





>&
3&

#



8##

#
#8
&

E&&
EB


#

8
#

###&
>6
I#

&


#



Table 1 Airport runway model parameters. 


&



*>






!
#


8>




!
#

8#>



!
#8#
 /
;B61

!
#8# /
;B61

!
#
8#>
&


!
#
8#
E


#



!
#&
8#8

&
#



*#


E#&##&&

8E&

#
#
#



9
J

>

8




E#&###

9
J

8

>


#
H-11

!

&#&&
&8#






#
&




8##

>


.*>



4.1.2 Candidate route construction methods and method selection 

#
#





"
>#



#








E&
#

>

#

'>#
'>#




8##

&







/8 
1
>




##

&&
#
&
<

&
#
8#
8
&
#

&
<

#
&
#


&!
E&8!;#

# 

#A!"
#/!"1
&


Figure 4!"/
1
 />1

!
;### 
8

&

#8&
#

.*


#!"
&


'

#







#&


##

#


&
&
>A
#

>
#


&

8

#



!
D

#
E&#

>#!"


&

#



H-12

Figure 5	E&&

!"

/
1
&

/>1



##


F@;G

"##!D


#&&
&









8#


#E&

#
#
#







#>#&>#

&>#



8
#



&

"#
>







#<

&
8##!D8



#<



"#&

9

&



8#
#!"E&8






"





&








9
#

<
#
##

&&
#3



#
<







.



9


 
	A08#
##&


&


9

&


#.*>

 
9



#.*
#
#




<
8#8

8#

#
8


8#








##
I
8#
>





9




	A0
9
8
##
#
8
#
##
#


&
>
##.*

#

8


&


9

&


#.*

>

8
#
#	A0
 
9
8#

#
#


8
>
#


9




9.
8


8#




9
&8
#


&>
##&
>

#


9&H-13

#
#



#8

>





9



&



9

# 
	A0


9
8





&






#

#



.
#
#


#


98
#




9#
#
#



#





8#
#
>

.
###>
#



#
>
/1#
&

/1#


&
8#
&
9#&
&

#




&#
#&


.
#
9#>

8#


9#

#


9###




##

9


#


#


&
#

#!
8#A
A


>&>
#


9*E#>
E&


>
#
>
>



>
<








9#




#
#

8
E&8#>


&





&





>
8#



9>#

.




###


#>









8>##&


>9#

&>#

&
&.*
'






8


#




&


&E


E

##
&>#8
##>&&
#



#



A
&&
#'



&
>
&



&
8>

>


&&
#
#I#&># 
#









 
#&&
#E
/1#&>#

/1
#



9
>#




<






&



&

#&


&

#&&
#

&

##
#



&###
&##

&

&

8

#
###
&






&



8
&#




&

8



&


&#!
C#
E&DA#

!"#




9


H-14

Figure 6!"&




9
 86C344A@63448DJ65J@46@








#
&#
>#




&


&


8
#





#
8
E&#
#
&#


#



&


&#

"#


<

#

#&>#

#I
&

8
8








"

&#
&




#





J&

&&
#E&


 
#&&
##

fixed route#variable route




#
!


8#







#8##


#
&&
#
#
>

#



9



#
&&
#&
8



##


#>

-
>
#&E>#

#



&

#
#
#
!
E&8







&#

#



#
>


!E
8
##
#
8#
>
#
E








8##
&&
#E

<


>8
&E


#

8




&



8
>#/1#



#
#



E
/1#





#&



#!
#



8






#


&
#
#
8##

&&
##
&
!
E&8&


&&
#H-15

E

88
&


#
8


&
&

#



#
8&&

#
 &&
/
;B61

.


8#
>
'*'>


#&



##&

##.>#>

#>




##&

8
##
.
8



#


8

&

>


##&


##





#&
8#&



#
8&
#


#&
#



#&







8



>


&


4.2 Merge en route and terminal routes 

 
#98&#




<
##






<



#



&






<
8##


>
##
####

#



8

#





#

#&


&
#
8
&&&8

<
>



#


>
#




<

#.*
<
"

#

&
>

4.2.1 Great circle routes 


#




&##&



 
8#




8


#


4.2.2 Filed flight plan routes 

$




#


#

&
>8>


##&

>&



#8
#
#

#
>

#
##&

8
8

#
&##


"#>


##


8
#
&
8#
&

##&
6D

#
8
#
&
8#
&

#


8##



##
8
#
&
8#


&

##&
6D#
8
#
&
8#H-16


&

#@#
#


8#
##

&



#



*#

A
>
#8###
&


#8#
#

&#
&








&
###&
&
#>




8#
#

&

#
#&

8#
#



#;@6




4.3 Runway assignments 

 
#98
#




#
#>
#





&

/
;;1

4.3.1 Arrivals 

!
#
&



8##


8#

E!


E&8
N#
E#6#
#N8##



>
6#
#N#
'*'#

#H



A
8&

#'*'

8


#
&



>

#>
##!


8##

##H


>



#'*'
8
#
#H




#
8

#
&#
>
E

/ 1# 

E#&
&



##




8

#'*'
8
#H #

#&




"#
#H 
Z# 
###

#
	
# #3#strategic RAI


#tactical RAI
>##8
>>

"## Z#&
&#
 >#

&

!


8


#
#
#


>



#



>




>


&

#

#

8
#

#/
#&&


#.*1#>


8

9

#>

##

##

&

#

8#
 

#





@

#6D
H-17


8
E&8&
##

#
#
#8>

#


#
##
#


&
/##
##





#

.*18#



#>





#

#


#
!


8#




>
#

#



8E&




#
#
8#
&&
#

E


##>



# &
#


#

8#
#&
&#
 >#

&

8# ##
&
&


A



#



I8



# 8#
 
#

 #
 &
#

#
#


# &
#

#
#



"#
#




# Z


8


&
>







>#



#!


8



#H





#


&
#

#
#

#
&

/8##


=
?#18#
#

#&
>>#>##


8#

 #
&


!
#


 8&
#
>#
##H




#


&


#
D4!
# 8&
#


>#
##H


#


&


#


@4B



 
#




'*'&
>##

 

/
;618>
#

# 
#



9
# 
>


#


#



9


4.3.2 Departures 

!
#
&



8#8##


#



E!
N8#
E#6#
#N#
'*'

#

#H

A
8&

#'*'

8




#
&

>

#>


##!


8####H


>



#'*'
8
#
#H





B

#@4
D4

H-18

4.4 Enforce wake spacing

 
#98&
#&

>#




&



>#


&



&
#
H





&

&



&





&
!


#
<#


9


!


&

#
<#&






#&








#
>



#<



>
#




&
&

&&
#&








&

&



#



&





#
&



&
&






>
&>

&8
#



B4


;D
#

#

##
>

#


/

8#
>

#


>
1;

#
##


&

##




&
8
&8#
&
8
#
NArrivals#>





NDepartures#>
&



#
##
&





#








#>

>
8#




##


>


#




NRunways#>






#

#

>#




&



!
8

&#>




&



3

NArrivalRunways = ( float(NArrivals)/float(NDepartures+NArrivals) )*NRunways; 

if(NArrivalRunways >= NRunways) NArrivalRunways = NRunways – 1; 

NDepartureRunways = NRunways – NarrivalRunways; 

*E#

#

>#




&



8##

#>




NArrivalRunways
#>


&



NDepartureRunways&





>





#
&
!
89#

&









;

*#&>#
#
#&

#B4

H-19

*#




>


&
#

#





#
&

/###



>

1

#
&#
#

#8


#
#

#



9
D!
##8

##





&



8#
#
H
 


##






##
##8#
&


>8
#>

!
#


8#&
>
##
#&

#/


#

1&8#

9


!
#


&8#


9
E&
&

 #
&

/8#&&


#
#




&
18#
E
>9#&#&8
#E#





 #
&

8#
#
H
 





#&

.#>

8###

###


#

9
C

 #

>/8#

#&



18#
###&

/8#



>
#&&

#


&
18#
#

#####

9
&
#




&


 #8#
&###&



	E
>9#&#&8
#E

#



*E#
&#
#&

#8


#
#&



#

!
##8

##










8#
##
&



#8#


&


>8
#

>
#8


#

8
#
#





/8####H


<
1

!
#


8#&
>
##
#&

#/


#

1&8#





D

##

>



#

8
#
#
#

9
8





C

#

>



#

8
#
#
#

9
8



H-20

!
#


&8#


9
E&

&



&!
8
#&
&





 #
&

/8#&&


#
#




&
18#
E
>9#&#&8
#E&



#



 #
&

8#
##
&






8
#

#&



#>

#
#
&



/8#&&


#
#


&
1

#

>


8

&

#







 #



>/8#



#&



18#
#

##&

/8#



>
#&&

#


&
18#
#

#H&

###

&
#




&

8

&

#





	E
>9#&#&8
#E&

#



*#
>##


&

8#
/
1


&

8

#

8

#

&

#
#&
>
8




&#&
*##

##
&








8

8












#
8#
#
&

#

*#8


#>
#8










#>

>
>
8#


#&>







#





>


;D


8#
##





9#

!
8#9
E
&








&#




&




&







8
#9
E
&







&






4.5 Operational terminal area data 

 
#98
&
#

&




#





#
>

#&

H-21

5 Future enhancements 

#

#

#
#&#
>>

&

#
#


#
#

%
#<


###
#

&&
3


E

/8>#


&


#

>
1

<.*
<
/8<

&&&




1
##



#
#.*&&



&&
#&



J

&



#
#

.*

#&
#






#.*


#E







&
A&



8#




E




&




>

&
A&




<







&






>



















&E






&





&#

H-22

6 Testing 

	##




B>
#
>


8




&


H-23

7 Conclusions 

#

>

#



&&
*





E&






&
*A
E

H-24

References 

6$
%

8P

-
*E$

8P 







8#8+8@44:

@$
%

8)

#8P 





&
>>




*A



9
8P6B#






8


&
8*.

8+8(

8

@445

B)

#8$
%

8P#










3



8P;C# 
&




	E#>8
8*-8(

8@445

;$
%

8

8)

#8P

!




	E&


-
8P@447"





8"#

8

8>
8@447

D)

#8$
%

8P	
*

&'




 &

"#!



<
8P 





/18808.>
8@447

C$
%

8

8)

#8P,
#





*8P#57#





8




808(

8@447

7)

#8$
%

8P'
>>
!


#

'



"#

.#
,


8P*!.




8'>
#8'8*>
8@44C

5)

#8

8$
%

8PA'
>>!

	
8P 



/18'

8.8

.>
8@44C

:)

#8$
%

8P
<
A'
>>!	



	E&

8P



8*








/ *18
888@44C

64)

#8$
%

8P

*

&
#




!






"#
8P 





/18
8-8.>
8@44D

66$
%

8)

#8('8P	
#!
*

&


%"#
8P 
#
8



.&

/ .1

!
8


8-8&>
@44D

6@$
%

8P'
>>!


&
&8P 





/18+98,8.>
8@464

6B'

9
#
8$
%

8P'


*E$
>







8P 



/18+9

8,8.>
8@464H-25

6;%
$8$
%

8!

9


8)
%
8P&

	



9A
!


&8P 
#
8

 



.&

/ .1!
8808&>
@464

6D%
$8$
%

8P	
,
$


#!
*



&8P 
#
8



.&

/ .1!
8

808&>
@464

6C$
%

8P




I




!

8P 



/18.

8

!+8.>
8@44:

67%
$8$
%

8P!
*A",
$
'




8P

 



/18.

8!+8.>
8@44:

65$
%

8P'








!






&


&>8P 





/18'8*8.>
8@445

6:$
%

8P

	


I-

.&I


*
!8P  .


8
#
8)8&>
8@445

@4$
%

8P
#*

&'


"#


!

8P



8*








/ *18%


8-88@445

@6)

#8

8$
%

8P


!





"#


8P



8*








/ *18%


8-88@447

@@$
%

8

8P









!


&



8PAIAA Modeling and Simulation Conference8

'

8.8@466

@B$
%

8

8

8(

#8/
&
1P
!




&




	E&

8PAIAA Digital Avionics Systems 

Conference (DASC)8">
8-8.>
@46@

@;>

8*8=	A	)!"


&


8?

>A

&

8
14809-01

Upgrades to the Probabilistic NAS Platform 

Air Traffic Simulation Software 

Software Development Plan 

Ben Boisvert 

Sensis Corporation 

Prepared for: 

National Aeronautics and Space Administration 

Langley Research Center 

Hampton, VA 23681 

Under: 

NASA BOA: NNL08AA17B 

November, 2010 
I-2 

TABLE OF CONTENTS

1 SCOPE ..................................................................................................................... 3

1.1 SOFTWARE DEVELOPMENT PLAN ..........................................................................................................3 

1.2 PROJECT OVERVIEW ...........................................................................................................................3 

1.3 SYSTEM OVERVIEW ............................................................................................................................3 

1.4 DOCUMENT OVERVIEW .......................................................................................................................3 

1.5 SOFTWARE MANAGEMENT/ORGANIZATION ...........................................................................................4

1.6 SOFTWARE PROCESSES ........................................................................................................................4

1.7 SOFTWARE PROCEDURES...............................................................................................................5

2 SOFTWARE DEVELOPMENT (LIFE-CYCLE MODEL) .......................................... 6

2.1 REQUIREMENTS DEVELOPMENT ............................................................................................................7 

2.2 SOFTWARE DESIGN ............................................................................................................................7 

2.3 SOFTWARE TESTING ........................................................................................................................ 10 

2.4 SOFTWARE OPERATIONS, MAINTENANCE, AND RETIREMENT .................................................................. 11 

3 SUPPORTING SOFTWARE LIFE-CYCLE ............................................................ 11

3.1 SOFTWARE CONFIGURATION MANAGEMENT ....................................................................................... 11 

3.2 RISK MANAGEMENT ........................................................................................................................ 12 

4 CONCLUSIONS ..................................................................................................... 12

I-3 

1 Scope 

#

#



#
#*'



/*'1


76D4@#*'&



&

8



8

8
9
8&8
8








>

*&



1.1 Software Development Plan 

This Software Development Plan (SDP) establishes the plan for software implementation, test, 

and qualification for the Upgrades to the Probabilistic National Airspace System(NAS) Platform 

(PNP) Air Traffic Simulation Software under the NASA BOA: NNL08AA17B. 

1.2 Project Overview 

The objectives of this effort are to upgrade and enhance the functionality of PNP to support the 

research requirements of the Systems and Portfolio Analysis (SPA) Research Focus Area (RFA) of 

NASA’s Airspace Program Systems Analysis Integration and Evaluation (SAIE) Project. The 

milestones supported by this work are: 

1. SAIE.SPA.4.01 Portfolio Analysis 

2. SAIE.SPA.3.03 System Level Benefits Assessments of Combined Concepts 

3. SAIE.SPA.4.02 Design Study 2 

4. SAIE.SPA.2.05 System Constraints, Demand/ Capacity Analysis 

1.3 System Overview 

The Probabilistic NAS Platform (PNP) is both a research tool and a decision support platform to 

analyze air traffic and traffic flow management (TFM) issues. Real-time PNP provides 

meteorological data and traffic advisories in which an operator or Air Traffic Manager can make 

more informed and accurate decisions. Playback PNP evaluates current or future TFM concepts 

using projected or actual traffic demands sets with recorded historical meteorological data. The 

PNP system is to be upgraded to support Separation Assurance procedures. A Separation 

Assurance client is to be created to test and demonstrate separation assurance functionality in 

PNP. 

1.4 Document Overview 

This SDP defines the processes to be followed for all software activities necessary to accomplish 

the development. 
I-4 

1.5 Software Management/Organization 

Sensis management/organization is a matrix of many professionals from different organizations. 

System Engineering will be responsible for the algorithmic and system design of this project. 

Network & Hardware Support will be responsible for the setting up of the repository and any 

hardware acquisitions necessary to complete this project. Integration and Test will be 

responsible for the project integration and test into the baseline PNP system. Software will be 

responsible for the development, documentation, test, quality, and delivery of the products on 

this project. 

Figure 13

E.

I

#,&
#'
>>*'








1.6 Software Processes 

Sensis will follow the following processes in line with the SDP described in NPR-7150.2A. 

1.6.1 Requirements Phase 

System Engineering will develop an Engineering Design Document (EDD). The EDD 

conforms to an internal Sensis template which has been used for several years. 
I-5 

Software Engineering will develop a Software Requirements Document (SRD) 

and Software Requirements Specification (SRS) according to the guidance provided by 

NPR-7150.2A. 

SRD and SRS will be peer reviewed and delivered to NASA for approval 

1.6.2 Design Phase 

Software Engineering will develop a Software Design Document (SDD) including a 

Interface Design Description (IDD) according to the guidance provided by NPR-7150.2A 

Software Engineering will review SDD for EDD compliance 

SDD will be peer reviewed and delivered to NASA for approval 

1.6.3 Coding Phase 

Software Engineering will develop code according to the SDD 

Software Engineering will generate the software reports and update the software users 

manual as needed 

1.6.4 Testing Phase 

 System/Software Engineering will develop a Software Test Plan with Software Test 

Procedures 

1.6.5 Delivery Phase 

Software Engineering will package the software, manuals, and reports into a deliverable 

package 

Software Engineering will deliver deliverable to NASA for deliverable acceptance. 

1.7 Software Procedures 

Sensis will follow the following procedures in line with the established Sensis processes. 

1.7.1 Requirements Phase 

All requirements documents will be identified in the SDP 

All documents will be developed in MS-Word adhering to any required contractual 

format requirements. 

All documents must be peer reviewed 

1.7.2 Design Phase 

All design documents will be identified in the SDP 
I-6 

All documents will be developed in MS-Word adhering to any required contractual 

format requirements. 

All documents must be peer reviewed 

1.7.3 Coding Phase 

Software code will be developed in the IntelliJ IDE using the Sensis template. 

Software code will be controlled by subversion. 

Software unit tests will be written in JUnit. 

Software issues will be tracked using JIRA. 

Software performance issues will be analyzed with the YourKit profiler. 

Software quality will be monitored with Sonar. 

All software documents/reports will be identified in the SDP 

All software documents/reports will be developed in MS-Word adhering to any required 

contractual format requirements. 

1.7.4 Testing Phase 

All testing documents/reports will be identified in the SDP 

All testing documents/reports will be developed in MS-Word adhering to any required 

contractual format requirements. 

1.7.5 Delivery Phase 

Software Engineering will package the software, manuals, and reports into a deliverable 

package 

Software Engineering will deliver deliverable to NASA for deliverable acceptance. 

2 Software Development (Life-Cycle Model) 

Sensis will use an incremental (Multi-build) development life-cycle. The incremental 

development life-cycle is a variation of the traditional waterfall development life-cycle. 

Incremental development determines user needs and defines system requirements up front, 

then performs the rest of development in a sequence of builds. The first build incorporates part 

of the planned capabilities, the next build adds more capabilities, and so on, until the system is 

complete. The approach is best suited to projects in which the requirements are well defined 

and understood and the design and technology are proven and mature. 

Table1: Build Schedule 

Build Description Date 

1 SA Client Mar 2011 

2 Stratway integration Jun 2011 

3 Final Delivery Sep 2011 

The advantages of the incremental development life cycle include: 

Reduced risk of schedule slips, requirements changes, and user acceptance problems 
I-7 

Increased manageability 

Feedback from early builds can be incorporated into later builds 

End user / requirements changes can be incorporated before final version is delivered 

User validation of the product as it is being developed 

Deferred implementation of unstable requirements until after issues have been resolved 

Early operational training on interim versions of the product 

Early validation of operational procedures 

Well-defined checkpoints with customer and end users 

2.1 Requirements Development 

Sensis will create a Software Requirements Document (SRD). Sensis will identify, develop, 

document, approve, and maintain software requirements based on analysis of customer 

requirements, customer feedback, and the operational concepts. Sensis will perform software 

requirements analysis based on the requirements. The software requirements analysis 

determines the requirement's correctness, consistency, completeness, feasibility, and 

verifiability. The software requirements analysis activities include the allocation of functional, 

non-functional, and performance requirements to functions in a requirements matrix for 

tractability. 

2.1.2 Software Requirements Specification 

The SDD will include a Software Requirements Specification (SRS) Section. The SRS contains: 

CSCI requirements 

Qualification provisions (e.g., demonstration, test, analysis, inspection). 

Bidirectional requirements traceability. 

Requirements partitioning for phased delivery. 

2.1.3 Requirements Management 

Sensis will manage changes to the software requirements via versions of the Software 

Requirements Document. Cost, technical, and schedule impacts will be analyzed and reflected in 

the software schedule as needed. Sensis will identify and initiate corrective actions, and track 

requirements until inconsistencies are resolved. Sensis will perform requirements validation to 

ensure that the software will perform as intended. The acceptance test plan will be the vehicle 

to perform requirements validation. 

2.2 Software Design 

Sensis will create a Software Design Document (SDD) that defines the software architecture, 

components, modules, interfaces, and data for the software to satisfy the requirements. The 

Software Design Document will consist of software architectural and detailed design. Computer 

software configuration items (CSCIs) will be identified and requirements will be mapped to 
I-8 

these CSCIs. Sensis will perform and maintain bidirectional traceability between the software 

requirements and the software design. 

2.2.1 Software Design Document 

The Software Design Document describes the design of a CSCI. It describes the CSCI-wide design 

decisions, the CSCI architectural design, and the detailed design required to implement the 

software. 

The SDD will include a Software Design Description Section. The Software Design Description 

contains: 

CSCI architectural design. 

CSCI decomposition and interrelationship between components. 

2.2.2 Interface Design Description 

The SDD will include an interface design description section. The Interface Design Description 

describes the interface characteristics of CSCI's developed on this project. The Interface Design 

Description contains: 

Type of interface to be implemented. 

Specification of individual data elements. 

Specification of communication methods that the interfacing entities will use for the 

interface. 

2.2.3 Software Implementation 

Sensis will implement the software design into software code. Sensis will ensure that Sensis 

software coding methods, standards, and/or criteria are adhered to and verified. Sensis will unit 

test the software that is developed for this project. Sensis will perform and maintain 

bidirectional traceability from the software design and the software code. Sensis will perform 

software peer review/inspection on developed code and unit tests. Sensis will create a user 

manual for the separation client. Sensis will create Software Version Document (SVD) for each 

software release. Sensis will release software reports for every software release. 

Existing tools that Sensis will utilize in its development: 

IntelliJ IDEA IDE – IntelliJ automates coding standardization and syntax checking for the 

Java programming language. 

JUnit – A unit test framework for the Java programming language. 

YourKit Profiler - A profiling framework to analyze CPU and memory usage. 

JIRA – An issue and project tracking framework for software development teams to 

improve code quality and the speed of development. 

Sonar - An open source quality management platform, dedicated to continuously 

analyze and measure technical quality, from the project portfolio to the class method. 
I-9 

2.2.4 Software Peer Review/Inspection Report 

Sensis will perform and create software peer review/inspection reports. 

The Software Peer Review/Inspection Report contains: 

Identification and review/inspection time and date. 

Summary on total time expended on review/inspection. 

Participant information. 

Total number of defects found. 

Peer review/inspection results summary (i.e., pass, re-inspection required). 

Listing of all review/inspection defects. 

2.2.5 Software User Manual 

Sensis will update the software user manual. 

The software user manual contains: 

Software summary. 

Access to the software: first-time user of the software, initiating a session, and 

stopping and suspending work. 

Assumptions and limitations. 

2.2.6 Software Version Description 

The software version description identifies and describes a software version. The description is 

used to release, track, and control a software version. 

The Software Version Description contains: 

Full identification of the system and software. 

Executable software. 

Instructions for building the executable software. 

Software product files 

Change requests and/or problem reports implemented in the current software version 

since the last Software Version Description was published. 

2.2.7 Software Reports 

Sensis will provide software reports at the end of each software release. The software metrics 

report provides data to the project for the assessment of software cost, technical, and schedule 

progress. 

The software metrics report contains: 

Number of requirements included in a completed build/release (planned vs. actual). 

Number of software Problem Reports/Change Requests (new, open, closed, severity). 

Number of requirements verified. 
I-10

Results from static code analysis tools. 

2.2.8 Software Quality 

Sensis will provide software quality reports at the end of each release. The software quality 

report provides data to the project for the assessment of quality. 

The software quality report contains: 

Lines of code/Classes 

Rule of compliance/Violations 

Comments/Duplications 

Complexity 

Package tangle index 

Code coverage 

2.2.9 Software Safety 

#&

+

#

&
>

&

2.2.10 Software Security and Privacy 





	E&



#

>






#

2.3 Software Testing 

Sensis will perform testing to verify the software functionality and remove defects. Sensis will 

perform software testing as defined in the Software Test Plan. The Software Test Plan will 

consist of Software Test Procedures that verify requirements. Sensis will evaluate test results 

and document the evaluation. Sensis will document defects identified during testing and track 

to closure. Sensis will update Software Test Plan(s) and Software Test Procedure(s) to be 

consistent with software requirements. Sensis will perform and maintain bidirectional 

traceability from the Software Test Procedures to the software requirements. Sensis will ensure 

that the software system is validated on the targeted platform. 

2.3.1 Software Test Procedures 

The Software Test Procedures describe the test preparations, test cases, and test procedures to 

be 

used to perform qualification testing of a CSCI or a software system or subsystem. 

The Software Test Procedures contain: 

Test preparations, including hardware and software. 

Test descriptions 
I-11

Requirements traceability. 

Identification of test configuration. 

2.3.2 Software Test Report 

The Software Test Report is a record of the qualification testing performed on a CSCI, a software 

system or subsystem, or other software-related item. 

The Software Test Report contains: 

Overview of the test results. 

Detailed test results. 

Test log. 

2.3.3 Verification and Validation 

Sensis will perform verification and validation at the unit level. Unit tests will be automated 

through the use of JUnit. JUnit forces a complete test to be identified automate the verification 

and validation of the outputs. 

2.4 Software Operations, Maintenance, and Retirement 

Sensis will complete and deliver the software product to the customer with appropriate 

documentation to support the operations and maintenance phase of the software's life cycle. 

3 Supporting Software Life-Cycle 

This section describes the processes and procedures in place to support the software life-cyle. 

3.1 Software Configuration Management 

Sensis will develop a Software Configuration Management Plan that describes the functions, 

responsibilities, and authority for the implementation of software configuration management 

for the project. Sensis will track and evaluate changes to the software. Sensis will use version 

control to manage all configuration items developed for this project. Sensis will establish and 

implement procedures controlling each type of configuration item developed for this project. 

Sensis will prepare and maintain records of the configuration status of configuration items per 

software release. Sensis will establish and implement procedures for the storage, handling, 

delivery, release, and maintenance of deliverable software products. Sensis will create Software 

Change Request/Problem Reports. 

3.1.1 Software Change Request/Problem Report 

The Software Change Request/Problem Report shall contain: 
I-12

Identification of the software item. 

Description of the problem or change to enable problem resolution or justification for 

and the nature of the change, including: assumptions/ constraints and change to correct 

software error. 

Originator of Software Change Request/Problem Report and originator's assessment of 

priority/severity. 

Description of the corrective action taken to resolve the reported problem or analysis 

and evaluation of the change or problem, changed software configuration item, 

schedules, cost, products, or test. 

Life-cycle phase in which problem was discovered or in which change was requested. 

Approval or disapproval of Software Change Request/Problem Report. 

Date problem discovered. 

Status of problem. 

Configuration of system and software when problem is identified (e.g., system/software 

configuration identifier or list of components and their versions). 

Any workaround to the problem that can be used while a change is being developed or 

tested. 

3.2 Risk Management 

Sensis will identify, analyze, plan, track, control, communicate, and document software risks 

that put contract milestones at risk. 

3.2.1 Software Peer Reviews/Inspections 

Sensis will perform and report on software peer reviews/inspections for: 

Software Requirements Document. 

Software Design Document. 

Software Test Plan. 

Software code as developed on this project. 

4 Conclusions 

This document serves as the software development plan for the implementation, test, and 

qualification for the upgrades to the PNP Air Traffic Simulation Software under the NASA BOA: 

NNL08AA17B. 
(A6

Modeling and Simulation of Interactions Between 

Traffic Flow Management and Separation Assurance

$
%

7


5

Sensis Corporation, Campbell, CA, 95682 

The integration of strategic and tactical actions in simulations of the 

national airspace presents several challenges. Yet such an integration is 

important for design evaluation and assessment of interactions between 

strategic and tactical decision making. Here we describe our modeling and 

integration of traffic flow management and separation assurance decision 

making in a national airspace simulation. We also present preliminary 

simulation results regarding the interaction between these two decision 

makers. 

Nomenclature 

ATCK





ATMK





CPMFK&&
>>



DAC K

&




LPMFK+
&
>>



NASK*

&

NextGenK*E


*

PMFK'
>>



PNPK'
>>*'


SAK&





TFMK




TPK
&


I. Introduction 











###A




E

8#
>

A






#
I
#

###





8
#

&8



9
#
&
#
9
8



#

#
#
#&
89

#&



7




86744
8&>88>
8 

5



	


8@467


#
8O;478%&
8-@BCCC(A@



&

>


#

#&
89



#&

#




8

&#
&





"##&





&&

&
>




8#
&

&E#

&&






!


8

8
#




8





8







!





&


&
#&&

&
&




&
>##!

&&





#


8#
&


>


>9



F6G




>



9


&

&&



!


8



>
&

#>

#





8*E$
&




&&

#F@A6@G#

&

9
#
!
9
>



>#
#&
&!





>#!
#
&
#
#






>8#

!&>&>

#


#&#&
&&

>
#




9
###&




8#


&

#

#


##
8!
9



&

##

#


!&



#


#E&
AA&

#*#!&8


##
#
8






#E&
AA&



#*

###
&!&

&9
8


#

#
&


#


#
>





AA

&&
<

#
!&



/8E#

#
1

#




>#

&
9

&




&


&#

##
&

#


&#



>#
&


&&8
#






!


8#



#








#


>

8






#

#



8










#
&

8##
&
>



#

&


$
#>




#&
<


8#

>







#

AA&
8
congestion#

I




!&/8##!&18
##
!





I
&
>>


8>

>E&




#>
>>



#
#
A



&










#

I


!&
H
&
	#
#






>


!&


#

8



&


9>&
8











#>A

9
&
#








9
8


8>




&

&
(AB

.
##
#
8H*

A#
&






###




&

>
>#



#

I


/8open-loop1!&
H

&


$
#
8#*&!&#*!&



#
#I


&*
#*!&

#

I


&8


#





#

*H!&
#

&
>>

#

>#
>!





9
3"#
#
>
!&
#
Z


&>

##
I
8>#&&

#&

#


Z&8#
*E$
&>


!&Z8#


#
!
>E&Z
#

#!

&
#>#
&>Z

%
>#


&



#



#
E&
&


>##




9
8
8*A8
#







#



8
#
#&
>>




&#


#
>

#&
8

A

/*A1

>


#&






 
#&&
&




&

*A
#

&

>##


9

#





8>


#

>#&




.

#>#
A
A!
8&



&


E&





>




#


&
>>



&&

&&







II. Probabilistic NAS Platform Simulation 

!


#'
>>*'




F6BAB6G!
6

####'*'
#
#'*'
#




#
>8

!6#8
9



###'*'

'*'

#*

8>9

&
*#


A9

8
&

#
(A;

Probabilistic 

NAS Platform 

(PNP)

Probabilistic

NAS Platform

(PNP)

Probabilistic 

NAS Platform 

(PNP)

Weather Data Wea Weather Data ther Data

Reports Reports

MATLAB®

Scripting

Interface

MATLAB

Scripting

Interface

MATLAB®

Scripting

Interface

NAS

D taabase

NAS

Database

ATC Client AATC Client TC Client TFM Client TFM TFM Client Client DDAC Client DAC Client AC Client Decision 

making

PNP is a 

NAS-wide 

Simulation

Performance Data Performance Data

Flight Data Flight Data

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

Graphical User Interface

Plan View Display

AOC Client AOC Client

Sensis ProbTFM

Metron C2

UARC

SUNY

Market-Based TFM

Gaming

Langley SA

Figure 1. High level PNP architecture including typical decision making clients. 

'*'
>



A
&>9
#
A8




&&





#'*'#

#*&
&


<
8'*''
8FB@G




<
&



 
&>9'
>!


A

##


#

#


#

###
#

>

##
8
##
#
8#

&


#
8




!
E&8
#
@46;
>

8##&#E

#



#
#<

#
&


>#'*'&

#&


8&
8


&
#

#&

8#'*'




#&
&

#8

##
#
A
#A



8





#'*'
A
>


A8!
#

#
A
#A
>&









#
E&




&&

#
#








#




#
9
&'*'#
&

"


*
&



R#
8
A

&



>
&'*'#

8



#

E&

#

&
8







&


III. Traffic Flow Management Client 

!
#!
&&
'
>!###>#

&


8

>##





#

&



&
>>

/'!
+'!8


&1'
>!&'!
+'!
*&
8
6D




8
#
#
##'!
+'!8
&



&


8
&







(AD

#


##


#*&






#

&





	
/61###




/1



#'!
+'!

   

    
 
1/1/1/ i C L jSCC ji LPMF i CPMF j /61

!
E&8!@


+'!###
&

&



'!#


&#
#&
	/61>I
##


&8#
8



Figure 2. Notional LPMF and CPMF with slight overlap. 

 
!@#
>
#+'!

'!



&

!B#8#

#
&#

#

#


#+'!


8
8#'!


Figure 3. Congestion cost model from Eq. 1. 
(AC

 
#





#

8
>##'!
+'!

#

>
'!8
#
#
>
#

'!#

#





#
>



9#/+1




/#
#'!>&9#9



1

"#
##
&
*&8#	/61



#


&


#*
&8



"

#8


8#

#&

#%#



#&



#




#8#*






>

####
!
;
###A

'
>!

Evaluate all 

upcoming NAS 

departures

Sort departures by 

congestion cost

Resolve highest 

cost flight

Reevaluate 

remaining 

departures

Highest cost 

> Threshold?

Done

No

Yes

Figure 4. ProbTFM high-level logic for managing demand in congestion scenarios. 

!;#8
#


#'
>!!&
!#



8&
	/618
&
##
###
#
A

&
&#
#!&#
#

#!&8










###
#8
##


#
8

!&8














IV. Separation Assurance Client 

 

'*'&






#

<
&


#
<
&
>



#


8
#





#


&



#
<
&

&#





"#
#
<
&
8&
##
I


&








&

#
&
&

&

#&J


#
>##&
#
!


8






#





&8
&#


*







>
8



>#


#

#>#>


#



##

/1

8/1

#

8
/1#
>#

###




&#
&#
>&

#

#

8
&


>

&



##8


#
#
&



<
&
8

>#&#I"&
#


#


!D(A7

Probabilistic

NAS Platform

SA

Client

Request

Data

TP

New FP

Trajectory

Predictor

Probabilistic

NAS Platform

SA

Client

Request

Data

TP

New FP

Trajectory

Predictor

Figure 5. High level separation assurance maneuver architecture with trial plan 

capability. 

!D#8#

#&

'*'#
#
#


#&




###
&

&
#

&
#
#
<
'


>

<


>
##&
#
<

#&

<
&#!
C

#
#
#
#


Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Separation assurance client

Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Conflict

resolution

Conflict

detection

Trajectory

predictor

PNP

Initial

Trial run

Modified flight plans

Flight

plans

Traj

data

Initial flight plans

Trial flight plan

1

2

3

4

5

6

7

8

Separation assurance client

Figure 6. Detailed separation assurance maneuver architecture. 

##&

#!C
#


>
>6

>6<
&
'*'&








&6

#

##&
##
&



##

(A5



&@

'*'


#
#&
###

#
<


'






&B

#

##&
#











&;

#
<
'





#
<

##

&
#E

#&9#
#



##





&D

#




#&
&&
#/'1




&


###

#




'*'#

#
<
/ &;1#











&C

#

&
A






#


#&

#

#
#&
#


<
'






&7

#
<
'





#
<

##

&
#E

#&9#
#



##

8
&





&5

#


#
#&C
7

*

#&

#
&
8#

&





#9>
##
#
#!


8

#
8#
#
>#9
#
#
#

&>

&


##9#




#
&


&
&8#







#&
#



#'*'
&






&


#


"#
#
&
&



#
&
&



#!A



>

.




#

#


>##





8















#









#
#





>#



"#


#



#
I##



8

#A

8

!7

Merging Crossing Head-on

Figure 7. Conflict resolver encounter geometry categories. 

#


#

&


&

#




&

#
&


8>


8>
#




(A:

Speed maneuver Altitude maneuver Heading maneuver

Figure 8. Candidate maneuvers in order of preference, left to right. 

#&






.#
8#





&>
#


8

!:

Merging

Crossing

Head-on

Speed Altitude Left turn Right turn


 
 
 



 
 



 
 


Merging

Crossing

Head-on

Speed Altitude Left turn Right turn


 
 
 



 
 



 
 


Figure 9. Encounter geometries and permissable candidate maneuvers. 

V. Experiment Results 

"#
!

>>
#'*'*A
9

&




#


>
#


9




!
#E&

*>
6C8@44C8#
8


#



#
#

/C48;4;#1#


#



#

*8#

!64

Figure 10. November 16, 2006: NexRad Reflectivity, 1600Z. 

 
#E&


&
&



#







#





6D
#
I


"#
#
I
&

D
#

&



6444

!66#8##
64N#


&


#






#>





(A64

Figure 11. Frequency of the four different SA maneuver types. 



8#!&

#
AA&###



#

###
#

E





&

!
6@###



#!'
#E&





Loose TFM Policy Tight

Figure 12. NAS congestion, accounting for weather impacts on capacity, versus TFM 

policy. 

!
6@###

&
&#!

&
A

&&

&#







#

AA&

##






##8#
8
#

9>










#
>

!
6B###




##!&#


##E&

#!&
#


#

!6@








#





(A66

Loose TFM Policy Tight

Figure 13. SA conflict resolution count versus TFM policy. 

###>






#!&
8!6B

###


.
#&
64

!8#





>>DN#


>@49








#
#

#!&8#


&

#
#
!
#!&


8#



#
>
#
!
#.



#

>#


#
!




#


##>



#
#


!8!6;#

Loose TFM Policy Tight

Figure 14. SA tactical delay for positive and total delay cases, versus TFM strategic 

delay. 

"#

3

#&/[1




#
#&>
#8(A6@



#


>4B
&
>
#/C48;4;





18#

!6;#

&
#
!



#


##
>

!





#

#

#

#

>
!6;#8#
#8#

8




8#

>4B>46
8




#


VI. Conclusion 

 
#&&


!
&##
#!&
A

A&
#*



#
9"##

!&
#


>

!

9



#*
#!A


8&









!A


E&

8
&



#

"#
&

&




#

!A





&8
*E$
&>


!&8#
#


#
!
>

E&Z
##!

&
#>#

&>Z!
8##



>*E$


Z

.

##
!


>
!&


>


#
#




!


8





!&
#!>
&
#

#






>4B
&
#8





#&
#







8#&
#
>46
&
##

#




>



#
#



#

8


&
&8

#



!&&





.>#




#




&

#*E$


#&

8

&



##

8



#>

&


*##


#

>
##


#


"#
#


H8
J&>
8


!

8

#!##&



8>!&



&>>
#



!
#






#&!

#
>

###
#

#

##
I

#
#




##






#

!




8

#







D




8



Acknowledgments 

##
9#
9(
#8


'
$>
#



8


##&
<##
9#
9" 8


&&
#





98
(A6B



>
##
9#
9



>
#'
>!

+'!

References 

6$
%

8=




I


!



8?AIAA Digital Avionics Systems Conference8.

8!+8.>
8@44:

@>
-
8)

88='

A$

#

>





8?AIAA Guidance, Navigation and Control Conference8)
8.88@44C

B

I89
8
#
*
9I8(

8$
%
8=








3-

$


#A&


*E$
8?*A@464A@6C5C@8

.>
8@464

;"
8(



#8(#>

8

8#
%8%>>8

#'
8=!


#
>

A&

	
'
8?International 

Congress of the Aeronautical Sciences8@464

D%>

8(#
>

8

8=





&8?Journal of 

Guidance, Control, and Dynamics8B;3@8&&;4BA;6B8
#A&
8@466

C+
8


8#8=


<
'

	






&




#8?Ninth USA/Europe Air Traffic Management Research and Development 

Seminar8@466

78#&&#
89
8W%80"
8	>#'A

8=


#

&
&



8?AIAA Guidance, Navigation, and Control 

Conference and Modeling and Simulation Technologies Conference8

8
88@464

5#&&#
8=





#

&


&8?10th AIAA Aviation Technology, Integration, and Operations Conference8!
"
#808&>
8@464

:'8=


-



	


&8?AIAA Journal 

of Aircraft8;D3C8*>
A>
8@445

64%
I	
I>

8=#
&
&8?!
#,J	
&






#
&


8@446

66

+#
8

8

\
8,






M#




	
#8?
8(@445

6@

\
8#+#
8=&



,




8?

25th Digital Avionics Systems Conference8'

.8.>
@44C

6B$
%

8='
>>!


&
&8?AIAA Digital Avionics Systems Conference8

+98,8.>
8@464

6;'

9
#
8$
%

8='


*E$
>







8?AIAA Digital Avionics Systems Conference8+98,8.>
8@464

6D%
$8$
%

8!

9


8)
%
8=&

	

9A


!


&8?AIAA Aviation Technology, Integration and Operations Forum88

08&>
@464

6C%
$8$
%

8=	
,
$


#!
*

&8?

AIAA Aviation Technology, Integration and Operations Forum8808&>
@464

67%
$8$
%

8=!
*A",
$
'




8?AIAA Digital 

Avionics Systems Conference8.

8!+8.>
8@44:

65$
%

8='








!






&


&>8?AIAA Digital Avionics Systems Conference8'8*8.>
8@445

6:$
%

8=

	


I-

.&I
*
!8?

AIAA Aviation Technology, Integration and Operations Forum8
#
8)8&>
8@445

@4$
%

8=
#*

&'


"#
!

8?

Integrated Communications, Navigation and Surveillance Conference8%


8-88@445

@6)

#8

8$
%

8=


!





"#


8?Integrated Communications, Navigation and Surveillance Conference8%


8-8

8@447

@@$
%

8=

-
*E$

8?AIAA Modeling and Simulation 

Conference8#8+8@44:

@B$
%

8)

#8= 





&
>>




*A



9
8?13th Conference on Aviation, Range and Aerospace 

Meteorology8*.

8+8(

8@445(A6;

@;)

#8$
%

8=#








3





8?46th AIAA Aerospace Sciences Meeting and Exhibit8
8*-8(

8@445

@D$
%

8

8)

#8=

!




	E&


-
8?2007 Winter Simulation Conference8"#

88>
8@447

@C)

#8$
%

8=	
*

&'


&



"#!



<
8?AIAA Digital Avionics Systems Conference8808.>
8@447

@7$
%

8

8)

#8=,
#





*8?The 87th American Meteorological Society Annual Meeting8


808(

8@447

@5)

#8$
%

8='
>>
!


#'





"#

.#
,


8?INFORMS Annual Meeting8'>
#8'8*>
8@44C

@:)

#8

8$
%

8=A'
>>!	
8?AIAA 

Digital Avionics Systems Conference8'

8.8.>
8@44C

B4)

#8$
%

8=
<
A'
>>!	



	E&

8?Integrated Communications, Navigation and Surveillance Conference8
888@44C

B6)

#8$
%

8=

*

&
#


!








"#
8?AIAA Digital Avionics Systems Conference8
8-8.>
8

@44D

B@('#&8=


!E>
<

8?World Aviation Congress8
#88

.>
86::7)A6

NAS-WIDE TRAFFIC FLOW MANAGEMENT CONCEPT USING REQUIRED 

TIME OF ARRIVAL, SEPARATION ASSURANCE AND WEATHER ROUTING

George Hunter and Benjamin Boisvert Sensis Corporation, Campbell, VA 

Jeremy Smith and Ty Marien, NASA Langley Research Center, Hampton, VA 

Abstract 

>


#




#



&




&&



#*

&#




##









8#




8
&
8#







8

&


8






#
#


##

&>


9#
%


A


#
&
&
&&


8

8
#






#

A

&


.

E&


#



&



8
&







8#


8







8
#












Introduction 


&


#

&/*1






###A





>##
8&
&
8


>

####A








#





*&9









*
#

#&E&



#

#
#



&##9
#

A

>

&




#






&

!


8#


#










>

>
#
8&




#A9
&&
8

&

&>8





/!1F6G8

&




F@G8#A&#


8

#&






8

A



&




&





#
FBADG

#
#





8
#



&8



9
#
&
#


9
8



##


#
#&
8


9
#&

&



>


#

#&
8


9
#&

#






8

&#


&



"##



#


&


>


8#&



#



!
8#



8
#




8







8







!


8








&




&
#&&

&


&


&


>##!

&&





#


8

#
&


>




>9

#!A




#><
A


#








FCA7G

 


>
8#&





8
#





#


#





&

8

#






##
8

&
A



,8#
8






8



>
#




>

!




8#
8!


&&



&


&&
&

#


&




#8>

&



8


#

&


#

>



&



#&

##
)A@


#>
E





>
#&

"
8




8#&



&



&>>


A#
!




E&








#8!>
>

>644#

>#

&



F5G

%

>
#





###&E&

#




3
&
##





/1
#A&



#



#

&>
>#A9>


9
##

#

A

>
#&&
&




#&>.
E&E




#&


#

&>>
##

&&


!


E&

#

'
>>*'
/'*'1
.



E&


#

/1


&
>>!
#&
&

&#




&

8/1


#




#&
&

&#

<
#
8/1#





9
>
&


#

#
8/1



&




/1
&
#

&






E


!
6


.



#>#
A
A

Figure 1. PNP Architecture 

#
#
&##




&



#





#

&





&




&








E


#

&

&

&##
#






#



##

!




>

&
>>
&


&












&
#






&







RTA-based Traffic Spacing Concept 

#A>
&

&&



&




&
#

E

&

&

&
A&

8#



&


A
)A@

Metering Spacing 

#A>
&





#>
&








&


Departure Spacing 

#
&
&

>
#

>#&



E

#

#

&
E
&





E

#>


#

E


8#E

>
#

E&
A

&


<#





!
@
##&



&

&#

&

#8##

#


E

#

8
" +

Figure 2. Departure Spacing 

Arrival Spacing 

#A>
&

&




>
#>#



E



#
#
#

#


I#
I
I
#
I#
I
I




>

#


&


##

&
E









E

#

>
#

E




8


&

>

#



E
#




3
&

8&

8


&#
#

#
&


&<#

&&
>
#

###





E
>
+9#

&



<#
&


#&#
#

A



!
B#&#
#



&#
" +##



#


E



Figure 3. Path Stretch Maneuvers 

##
>














>#
>

#

#

#*##


>
#
&



#
#


&#E>



Conformance Spacin 

#A>
&

&&









8>
#





E

#H






#
#

#
A
>
#



#E>



Separation Assurance Concept 

#&




&F5G
A



#&&


>


&



#&






#


>3



9A#8
#
I


&


8

&




8











&#>
NA



##
#




8
#>
&
>#

#



8#
#E
)AB


*#&


#
#

&

/+.18&
&&
#/'1



&

/$.1

>


#

H


&

&



<
8

!;

Figure 4. LOS, PCA, and GOS 


&








#
&

3&

8#
8


#

8


#&






#


&#



##


#
#





#

#

#
#

#
I
&##
8



!D#

#&
#




##









8#
#



##








<


Figure 5. Left Turn Conflict Resolution 

Probabilistic TFM Concept 

#'
>>!
&F:A6;G




&>
9
8






*




#

###

#



&
>8
#>!





*



#'
>!
#
#
##



#
#





#*



&8
#
#





&&
E
#&

>#



&

#>





'
>!


#






#'
>>!


&&

>

&




8

!C

Figure 6. Newark (EWR) Airport Congestion 

'
>!>#&






>##







#&





&
>>



/'!
+'!8
&1'
>!

&'!
+'!
*&


8
6D


8
#


#
##'!
+'!8


&

&


8


&











#

&




#'!
+'!8#



	/61#


##




#*&






   

    
 
1/1/1/ i C L jSCC ji LPMF i CPMF j /61)A;

!
E&8!7


+'!

###
&

&

'!

#


&#
#&


	/61>I
##
&8#
8





Figure 7. Notional LPMF and CPMF with slight 

overlap. 

!5#8#

#
&#



#

#
#

+'!


8
8#

'!


Figure 8. Congestion cost model from Eq. 1. 

 
#





#



8
>##'!
+'!

#

>
'!8
#


#
>
#'!

#

#









"#
##
&
*

&8	/61#




&


#*
&8





"#8


8

#

#&

#%#



#&





#




#8#*






>



####
!
:
#

##A'
>!

Evaluate all 

upcoming NAS 

departures

Sort departures by 

congestion cost

Resolve highest 

cost flight

Reevaluate 

remaining 

departures

Highest cost 

> Threshold?

Done

No

Yes

Figure 9. ProbTFM high-level logic for managing 

demand in congestion scenarios. 

!:#8
#


#'
>!

#
#!#

8&


	/618
&
###
#

##
#
A&
&#


#!&#
#



#!&8










##

#
#8
##
#
8

!

&8














Weather Rerouting Concept 

##




&&


&#

#

#
&


>AI&
#
&

#



8
nowcast8
&



#
#

#


&


#
&
#>


#I
A#
#


#
&

#


#


&
	#
#
&>&





#
#
##'*'




/;61

#


&&

##
#E




#
>
8

!64)AD

Figure 10. PNP Universal Grid and Weather Cells 

##I
#



#

&


#I
#



#
#&







E#
#
#8



!66
#E
##


#E
I

>#







&&##I


#
#








#
;4>I##I
#






#

8



!66#>

#I
#




98#
##

#



#I
#

#
&





8###

>##>




<9

#

##
&#

#

8



!66>#E


!
66"#



Routing 

##




&##



&>#





#



#



&###



&



&



Tactical Routing 

#





9


#&


#
I


#I
#


#&


#
I

&>


&

/


#

&


#
I
1#&




#I
#

#&


#
I
8#


#
#I
#







##

##>




#
##







#



&
<9

#

#

#
&###
&##
&


#


#&




#

#8

!6@&I


##




#



#>
&>
&




>#&



&#
#


&E)AC

Figure 12. Tactical Rerouting 

Strategic Routing 

'
A&

#









#

9
&




#I
#
#





##

#




#I
#
>
#


#
#



##



#


#I


#




8



!6B



>##




#I
#
8#





&A&




>##


#I
#
8

#
##

##
8



!6;#A&






&>&









>&
8#


#=A&
?
#&


Figure 13. Strategic Rerouting 

#A&



>
 




#




#

I
&

>#





Figure 14. Strategic Reroute Selection 

Probabilistic NAS Platform 

!


#'
>>*

'




F6DA67G#'*'
#






#
>8!6#8


9



#

##'*'

'*'#*



&
*#


A9

8
&



#


'*'
>



A
&>9


#
A8




&&





#'*'

##*&
&




<
8'*''
8




<
&

F6C865G

 
&>9'
>!


A



##


##




#

##

#
#>

##


8
##
#
8#

&




#
8


###

>
!
E&8
#
@46;


>

8##&#E#





#
#<

#
&


>#'*'&



#&


8&
8
&
#



#&

8#'*'




#&


&

#8

##
#)A7


A
#A

8







#'*'
A
>




A8!
##
A


#A
>

&







#


E&




&&



#
#








#




#
9
&'*'#
&



"


*
&

R

#
8
A

&





>
&'*'#

8

#



E&

#
&
8






&


#'
>>*'

&
>





&








#
&#





!6D

#'
>>*'

#

&
#
&


#

#

####&E#

#&&

&



8#



8&
8






Conclusions 

#&&

>
A>
&



#




&
##

#


#
##


&









8#





8









Figure 15. Sector CongestionAcknowledgements 

##
9#
9" 8


&&
#







98


>
#

#
9#
9





>
#'
>!+'!

References 

F6G!




8



.

I
8=
!


#

*

&8?.>
@44:

F@G')&
9
8)
8
#
8= 



&


&


8?7th 

AIAA Aviation Technology, Integration and 

Operations Conference88*
#



8

&>
@447

FBG"
8(



#8(

#>

8

8#
%8

%>>8#'
8=!




#
>

A&

	
'


8?International Congress of the 

Aeronautical Sciences8@464

F;G%>

8(#
>

8

8

=





&8?

Journal of Guidance, Control, and Dynamics8B;3@8

&&;4BA;6B8
#A&
8@466

FDG+
8


8#8

=


<
'



	




&






#8?Ninth USA/Europe Air Traffic 

Management Research and Development Seminar8

@466

FCG$
%

8='





 




!






&


&>8?AIAA 

Digital Avionics Systems Conference (DASC)8

'8*8.>
8@445

F7G$
%

8=






I




!

8?AIAA Digital Avionics Systems 

Conference (DASC)8.

8!+8.>
8@44:

F5G$
%

8

8=









!




&



8? 







8'

8.8

8@466

F:G)

#8

8$
%

8

=A'
>>!	
8?)A5

 





/18'

8.8.>
8@44C

F64G$
%

8

8)



#8=,
#





*8?#57#







8




808(

8@447

F66G$
%

8)

#8= 







&
>>




*A





9
8?6B#




8




&
8*.

8

+8(

8@445

F6@G%
$8$
%

8!

9


8

)
%
8=&

	



9A
!


&8?

 
#
8





.&

/ .1!
8808&>


@464

F6BG$
%

8='
>>!




&
&8? 





/18+98,8.>
8

@464

F6;G)

#8$
%

8=



	&
	
"#
&

&


&8? 
#
8





.&

/ .1!
8

&8*8

&>
@46@

F6DG)

#8$
%

8=	


*

&
'





8? 





/18808.>
8@447

F6CG$
%

8

8)



#8=

!




	E&


-
8?@447

"





8"#

88

>
8@447

F67G$
%

8=

-


*E$

8? 







8#8+8@44:

F65G('#&8=


!E>


<

8?World Aviation Congress8


#88.>
86::7

31st Digital Avionics Systems Conference 

.>
6;A658@46@
PNP Developer’s Guide 

Creating and Using Clients with the SimObjects API 

8/17/2011 

Sensis Corporation 
+A@

Table of Contents 

INTRODUCTION ............................................................................................................. 3

PNP OVERVIEW ............................................................................................................. 4

SW ARCHITECTURE ........................................................................................................................................ 4 

PNP SERVER ................................................................................................................................................. 5 

Data........................................................................................................................................................ 5 

PNP CLIENTS................................................................................................................................................. 6 

THE PNP COMMUNICATIONS CYCLE ................................................................................................................. 7 

THE SIMOBJECTS API .................................................................................................. 8

MESSAGING .................................................................................................................................................. 8 

DYNAMIC CLIENTS .......................................................................................................................................... 8 

CREATING A PNP JAVA CLIENT ......................................................................................................................... 9 

Required Libraries .................................................................................................................................. 9 

Connecting to PNP from a Java client .................................................................................................. 10 

Sending data from your client .............................................................................................................. 13 

Responding to PNP heartbeat messages ............................................................................................. 13 

INTERACTING WITH PNP ............................................................................................................................... 13 

The BatchResponse Message ............................................................................................................... 13 

Delaying Flights .................................................................................................................................... 14 

Rerouting Flights .................................................................................................................................. 14 

BEST PRACTICES FOR DEVELOPING PNP CLIENTS ................................................................................................ 15 

GLOSSARY ..................................................................................................................16

APPENDIX A: CONFLICT DETECTION AND RESOLUTION ......................................17

+AB

Introduction 

#'*'&
H$

#&
'*'
#'*'
*


9
#



8
&





&

#'*'


>


&

8





#





E#

+A;

PNP Overview 

SW Architecture 

'*'

8






E

#

8
#'*'







8




'*'
8

#&





&/
1



+AD

PNP Server 

#'*'

&


#.><' #


>#




'*'
#&#>
>


Data 

'*'
&#

&
>" 8




8


8


>'*'*
&8
&


&8





#/!18


&


'

#'*',










+AC

PNP Clients 

'*'
*&




#





#'*'8




#*&



9



>


#
(
+8
>








&

&

#8#


#

'*'8


E

&



&
#8

#
>9'*'

"##

(
+8



8##
>&3

+A7

The PNP Communications Cycle 

#'*'


#


#

'*'

#
8

&

###>

#&
#
#'*'




8
#&&
&
8
#
>#
8



#



&
.




#
&
#'*'






#
#






&>#
8




!
@

Figure 2. The PNP Communications Cycle 
+A5

The SimObjects API 

.><#'*'' 'J '


>
'*'



Messaging 

#.><' 


8##



>
'*'






'*'ESerializable (
##



PnpFlightDetails8
E&8

#



&


##

E
#&9pnp.share.network.messages

'

#.><' 



' 

Dynamic Clients 



'*'




>#


#

"#





'*'8#
&


&

8
#


#&



E>
J


#
8#
#




9

8>


&

#
>



+A:

Creating a PNP Java Client 

Required Libraries 

#
>

>
>(


Library Use

pnp_common.jar 

#
' 

commons-logging-api.jar ,






commons-logging-av.jar ,






log4j-1.2.9.jar ,



seagull-common.jar 




I>
' 

seagull-position.jar 




&


seagull-units.jar ,>&

&
&



+A64

Connecting to PNP from a Java client 





'*'



#
&

Step 1: Register for Messages 

 







#'*'8




'*'#


&#'*'#
#
8#
##>




8&



#MessageRegistryManager

#


&






3

##' ><

#

8


8##'*'
##



><&

#&+




9#
#
&




#&+







#8##>#
#



#
&

#actionPerformed##><#

##

3

 void actionPerformed(Object o); 

Example 

#
E&


#
6D
3/** 

 * Register for messages desired to be received from PNP 

 */ 

 private void registerForMessages() 

 { 

 // We'd like to receive all messages at 15-minute intervals 

 int interval = 15; 

 

 MessageRegistryManager registry = MessageRegistryManager.instance(); 

 

 // Register for messages 

 registry.register(PnpEnrouteFlightDetails.class, interval, m_MessageHandler); 

 } 

 

 
#E&8m_MessageHandler
ApiListener><


8#ApiListener

#

8


ApiListener





&

Step 2: Create a Client Configuration Object 

*8
ClientConfiguration><'*'>>











8##

8#'*'9
#


#



.#


#


><
&
8
#

>






&
##
ClientConfiguration>
#(
#' 8>
#

doc/


'*'



>ClientConfiguration><8&#


ClientConfiguration##



#
&



 // Create a configuration object for this client 

 ClientConfiguration config = new ClientConfiguration("My First Client"); 
+A66

Step 3: Initialize the Connection

.
#



><#>

8#


##


>



#


8&
PnpFlightDetailsDescr><
#init#
#






#PnpFlightDetailsDescr><&#'*'


#






#

#

#
##

&I
9>



#
##

H

Example

#
E&
PnpFlightDetailsDescr#

#
#
#>


#><
>#

// Set up the flight details descriptor 

 PnpFlightDetailsDescr flightDetailsDescr = new PnpFlightDetailsDescr(); 

 flightDetailsDescr.setSectorScheduleFlag(true); 

 

#&
8



#'*'

#8&init3// Connect to PNP 

 init(pnp_server_name, config, flightDetailsDescr); 

%
8pnp_server_name#
9##&

##'*'



8
config#

ClientConfiguration><+A6@

Real-world Example 

#

A
E&


#'*'

8
###

&#
>##
A






 public LpThread(String serverName) 

 { 

 m_ServerName = serverName; 

 

 registerForMessages(); 

 initPnpConnection(); 

 } 

 /** 

 * Connect to the PNP server 

 */ 

 private void initPnpConnection() 

 { 

 // Obtain the name of the PNP server to connect to 

 String pnp_server_name = m_ServerName; 

 

 // Create a configuration object for this client 

 ClientConfiguration config = new ClientConfiguration("LP Solver Gateway"); 

 

 config.setDataLookaheadTimeBinOffset((int) m_LookaheadTime.as(Units.Minutes) / 15); 

 

 // Set up the flight details descriptor 

 PnpFlightDetailsDescr flightDetailsDescr = new PnpFlightDetailsDescr(); 

 flightDetailsDescr.setSectorScheduleFlag(true); 

 

 // Connect to PNP 

 init(pnp_server_name, config, flightDetailsDescr); 

 } 

 /** 

 * Register for messages desired to be received from PNP 

 */ 

 private void registerForMessages() 

 { 

 // We'd like to receive all messages at 15-minute intervals 

 int interval = 15; 

 

 MessageRegistryManager registry = MessageRegistryManager.instance(); 

 

 // Register for messages 

 registry.register(PnpAtGateFlightDetails.class, interval, m_MessageHandler); 

 registry.register(PnpEnrouteFlightDetails.class, interval, m_MessageHandler); 

 

 registry.register(Heartbeat.class, interval, m_MessageHandler); 

 registry.register(Sync.class, interval, m_MessageHandler); 

 

 registry.register(SectorIdMap.class, interval, m_MessageHandler); 

 registry.register(SectorNameMap.class, interval, m_MessageHandler); 

 registry.register(SectorMxMap.class, interval, m_MessageHandler); 

 registry.register(SectorCount.class, interval, m_MessageHandler); 

 registry.register(SectorWxCoverage.class, interval, m_MessageHandler); 

 registry.register(SectorRxReduction.class, interval, m_MessageHandler); 

 
+A6B

 registry.register(AirportCapacities.class, interval, m_MessageHandler); 

 registry.register(AirportFlightRules.class, interval, m_MessageHandler); 

 

 registry.register(TerminalConditions.class, interval, m_MessageHandler); 

 } 

Sending data from your client 





#'*'

#.

send###



'*'#>Serializable><
#pnp.share.network.messages&9

'*'

,
#
#&

8#
#>
>9'*'3

private void send(Object message) 

{ 

m_Client.send(message); 

} 

Responding to PNP heartbeat messages 

.
#'*'

#




#


8


Heartbeat

8

&
>

#


#

&
	&#

#



&>#
#

&

#

&
##

#




&
##
>8#


HeartbeatResponse#

3

send(new HeartbeatResponse())

Interacting with PNP 





#'*'>
#'*'




#8
#



E&
#<#

The BatchResponse Message 





&


##&
##&



&##/
1#


##>
'*'
#


#
%
>
#
&



##&


#



3

 public BatchResponse(int dstId, 

 Map<Integer, Short> delayMap, 

 Map<Integer, ReroutePlan> rerouteMap, 

 Map<Integer, ReroutePlan> inflightRerouteMap) 

 { 

 m_DstId = dstId; 

 m_DelayMap = delayMap; 

 m_RerouteMap = rerouteMap; 

 m_InflightRerouteMap = inflightRerouteMap; 
+A6;

 } 

Delaying Flights 

#&
##&
&#

>#	##&short

&
#>

>####'*'&&#&##


#delayMap&


Rerouting Flights 

!#



3

'
A&



8&&###&



#

8&&##





#8#&&



9>##
'
&
&



#BA

&
8
A


8
###rerouteMap

&
&
A&




>#
#inflightRerouteMap&

#




>#





>#

&
>'*'

+A6D

Best Practices for developing PNP clients 

 


9#>&>'*'
.><8#
#>

>

&
#




'*'3

Create separate threads for processing vs. connection management 

'*'
&

#

9
&&
&

"#&


#

&

8



'*')&
#

#




&
#

#&

>


##

&





#E>


#
#&>



&
#

Send all processing results to PNP before sending a HeartbeatResponse

HeartbeatResponse'*'#

#
#&

.
'*'#


#8



8






&

#
#
#


'*'>

#8#


&>#
>8#


##





#
#




8#
H






>
#

8#

&#





#8#


#




>


#HeartbeatResponse+A6C

Glossary 

Term Definition

API &&
'






NAS *

&

OCMM .><


,



H




#'*'

PNP '
>>*'


SimObjects #'*'' 

+A67

Appendix A: Conflict Detection and Resolution 


&&

&
8


&

>


#'*'

'
-&/'-1&>&

8&

8#

#



&&>


Conflict-related API Messages 

#'*'' 

#>>

&


&



&

#
3

 ConflictList

#ConflictList

Conflict ><8#
&







&

>




 LosList

#LosList

LossOfSeparation><8#
&







&

>




##


#' (




#doc/



'*'


Display of CD&R Information 

"#


&



#
#

8#

&#



#'-
#

#>
#



>#

#
#>
8

##E&

A
>#
#>#
E>



&

>


#>
#

8
#

&



/+.1

A


+.



>


###




Probabilistic NAS Platform 

v1.5 

User Guide 

8/16/2011 

Sensis Corporation 

'
>>*'
,
$

-

6D

M-2

TABLE OF CONTENTS 

INTRODUCTION........................4

SCOPE ........................................................ 4

SOFTWARE ................................... 5

ARCHITECTURE ............................................. 5

DESIGN ....................................................... 6

Server.................................................... 6 

Clients ................................................... 7 

Probabilistic TFM (ProbTFM) Client ...... 7 

weather avoidance (WAC) Client ......... 7 

Airline Operations (AOC) Client ............ 7 

Ground Delay Program (GDP) Client .... 7 

Separation assurance (SA) Client ......... 7 

Required time fo arrival (RTA) Client .... 7 

Dynamic airspace (DAC) Client ............. 8 

WSI Client ............................................. 8 

MESSAGES .................................................. 7

Request Messages ................................ 8 

Response Messages ............................ 10 

INPUTS ......................................... 10

DATA SETS ................................................. 10

Directories .......................................... 10 

FILES ........................................................ 12

Flight Data Sets .................................. 12 

Sector Geometries and Monitor Alert 

Parameters ......................................... 13 

AIRSPACE Data SetS ........................... 14 

Base of Aircraft Data (BADA) ............. 14 

PNP SERVER PARAMETERS.......................... 15

Control Parameters ........................... 15 

Knob Parameters ............................... 16 

Weather Parameters ......................... 18 

Display Parameters............................ 19 

Dataset Parameters ........................... 21 

Airspace Parameters ......................... 22 

Output Parameters ............................ 23 

OUTPUTS .....................................25

REPORTS .................................................. 25

Summary Report ................................ 25 

Sector Information Report ................. 12 

AtGate Sector Loading Report ........... 28 

Enroute Sector Loading Report .......... 28 

Delay Report ...................................... 30 

Departure Report ............................... 31 

Reroute Report .................................. 33 

MxMap Sector Capacity Report ......... 33 

WxMap Sector Capacity Report......... 34 

Airport Capacity Report ..................... 35 

TAF Report ......................................... 35 

METAR Report ................................... 36 

RUNNING PNP .............................38

EXPERIMENTS ........................................... 38

Simulation Parameter Files................ 38 

Client Parameter Files ........................ 38 

Experiment Definition Files ................ 38 
'
>>*'
,
$

-

6D

M-3

Schedule Definition Files ..................... 38 

INITIAL STARTUP......................................... 39

Navigation: File Selection ................... 39 

Navigation: Menu Usage.................... 40 

Navigation: Toolbar Usage................. 42 

Navigation: File Manipulation ............ 42 

CREATING A NEW EXPERIMENT ..................... 45

OPENING AN EXPERIMENT ............................ 46

SAVING AN EXPERIMENT .............................. 47

DELETING AN EXPERIMENT .......................... 48

RUNNNING AN EXPERIMENT ........................ 49

SCHEDULING EXPERIMENTS ......................... 50

ANALYZING EXPERIMENTS ........................... 51

APPENDICES ............................................. 52

APPENDIX A: TRAJECTORY MODEL 

INITIALIZATION .......................................... 52

APPENDIX B: MATLAB SUPPORT ................. 54

APPENDIX C: CLEANUP ............................... 55

'
>>*'
,
$

-

6D

M-4

INTRODUCTION

#'
>>*'
/'*'1>#

#

&&
&

I







/!1A'*'&








##
&







9







'>9'*'




!
&
&
<




#

#



SCOPE 

#
#'*'

#

E
'*'


&

3

 
.


 


'*'

 


'*'

'
>>*'
,
$

-

6D

M-5

SOFTWARE 

ARCHITECTURE 

The PNP software has a client/server architecture. PNP supports multiple clients. Clients may be distributed locally 

or remotely. As Figure 3. PNP Architecture illustrates, these processes communicate with one another via the 

SimObjects API. 

SimObjects coordinates the exchange of data between the PNP server and its clients in the form of serialized Java 

objects. Data integrity is assured through the use of TCP/IP communications on dedicated socket channels. PNP 

clients may dynamically join a simulation, and use a subscribe mechanism to request periodic, customized data 

updates from PNP. 

Clients may be developed in Java or MATLAB. Additionally, external, third-party software may be integrated into a 

PNP simulation through the use of a dedicated middleware client, which communicates both with the external 

software using any desired mechanism, and with PNP server using the SimObjects API. 

Figure 3. PNP Architecture 
'
>>*'
,
$

-

6D

M-6

DESIGN 

SERVER 

The PNP executive is the server. It is responsible for the execution and flow control of the system. The PNP 

executive manages communications, airport capacities, sector definitions (geometries/capacities/monitor alert 

parameters), display updates, flights (trajectory models/persistence), and weather models. 

Figure 4. PNP Server Design 
'
>>*'
,
$

-

6D

M-7

CLIENTS 

The PNP architecture is scalable and supports an unlimited number of clients. Clients may be created using Java or 

MATLAB, and communicate with PNP using the SimObjects API. PNP’s client-server architecture is plug-and-play, 

so PNP requires no advance knowledge of clients. Clients are added to a PNP simulation by specifying the 

configuration file for each client to be run. Each client’s configuration file specifies how to run the client, so once 

the configuration file is specified, PNP requires no knowledge about the client. 

When a client joins the PNP simulation, it registers with PNP and specifies what types of data it will require, and at 

what intervals. Clients may request many types of airspace data, including traffic and weather data. See the 

SimObjects API documentation for details. 

Clients may process data received from PNP and take action that directly affects the simulation. Clients may delay 

or reroute flights, or modify the airspace. See the SimObjects API documentation for details. 

PROBABILISTIC TFM (PROBTFM) CLIENT 

The Probabilistic TFM Client determines delays and reroutes to reduce congestion by creating a probabilistic 

distribution based on sector and airport congestion. 

WEATHER AVOIDANCE (WAC) CLIENT 

The Weather Avoidance Client determines delays and reroutes to avoid congestion and weather based on sector 

loading and reflectivity data. (Work in progress)

AIRLINE OPERATIONS (AOC) CLIENT 

The Airline Operations Client determines delays and reroutes based on airline schedules and operational mode. 

GROUND DELAY PROGRAM (GDP) CLIENT 

The Ground Delay Program Client determines delays based on airport congestion. 

SEPARATION ASSURANCE (SA) CLIENT 

The Separation Assurance Client determines reroutes based on loss of separation events. 

REQUIRED TIME FO ARRIVAL (RTA) CLIENT 

The Required Time of Arrival Client determines reroutes based on meeting scheduled RTAs. (Work in progress)
'
>>*'
,
$

-

6D

M-8

DYNAMIC AIRSPACE (DAC) CLIENT 

The Dynamic Airspace Client determines sectors (subsectors) definitions and capacities. 

WSI CLIENT 

The WSI Client sends live weather products to the PNP Server. 

MESSAGES 

The messages in the system are serialized objects. The following section identifies the current messages in the 

system. 

REQUEST MESSAGES 

Request Messages 

Message Type Source

PNP Flight Details Server

Sector Loading Server

Airport Loading Server

Airport Conditions Server

Airport Capacities Server

Reroute Request Client

Sector Geometries Server
'
>>*'
,
$

-

6D

M-9

Heartbeat Server

 
'
>>*'
,
$

-

6D

M-10

RESPONSE MESSAGES 

Response Messages 

Message Type Source

Delays Client

Reroutes Client

Reroute Response Server

Sector Data

 See SimObjects API documentation for complete details 

Client

INPUTS 

DATA SETS 

PNP requires the following data sets to define its airspace and aircraft. 

DIRECTORIES 

The PNP directory structure contains six sub-directories, as shown in Fig. 4. The bin directory contains the 

command files necessary to run the software. The log directory contains the runtime output and error logs. If a 

user wants to report a problem with the system, it is necessary that all the log directory files be forwarded to the 

PNP maintenance staff. The lib, pnplib, and resource directories contain the files necessary to run the PNP 

application. 
'
>>*'
,
$

-

6D

M-11

DATA 

The data directory contains information necessary for PNP to run, as well as data required to seed the PNP 

application. 

BADA 

The bada subdirectory contains all the files necessary for the trajectory engine to fly aircraft. The trajectory engine 

uses these BADA performance data to calculate the exact position of each aircraft at every minute of the 

simulation, giving a high-fidelity representation of all the traffic in the NAS. 

CONFIG 

The config subdirectory contains information necessary to configure PNP. This information includes specifications 

on available clients, as well as other data required to run PNP. When adding a client to PNP, the clients.cfg file 

must be updated to reflect changes to the list of clients. 

DISPLAY 

The display subdirectory contains initialization files used to configure the PNP displays. 

INI 

The ini subdirectory contains initialization files used to configure the PNP server as well as its clients. Each client 

has a unique set of configuration commands. Please refer to the documentation for each client for instructions on 

how to properly configure it. 

PVD 
'
>>*'
,
$

-

6D

M-12

The pvd subdirectory contains all the files necessary to display objects on the PVD. 

REPORTS 

The reports subdirectory holds all the runtime reports that are generated. The runtime reports use the commaseparated values file format (.CSV) that stores tabular data. This format is commonly acceptable by any 

spreadsheet application, word processor, and MATLAB. 

SECTORMAPPING 

The sectormapping subdirectory contains all the files necessary to define the sectors of the system. PNP is 

installed with sector data from January, 2007. However, the user may provide a different set of sector data, and 

configure PNP to use those data. Please refer to the Airspace Parameters section of this document for details on 

how to configure PNP sector data parameters. 

FILES 

FLIGHT DATA SETS 

The FDS Analysis is used to analyze future and current air traffic modeling. AvDemand is used to generate flight 

data sets for PNP experiments. The flight data set format is tabular data used to capture a flight with the following 

fields: 

FDS Fields 

Field Name Used by PNP? Example Value

Flight ID 34

Airline √ AAL234/009

Aircraft Type √ B752
'
>>*'
,
$

-

6D

M-13

Departure Airport √ LAX

Arrival Airport √ MIA 

Original Fixes √ 2037/7104 2018/6970 2010/6840 1950/6600 

1909/6377 1857/6179 1836/5989 1751/5406 

1569/4907 1548/4817 

Modified Fixes

Cruise Altitude √ 350

Cruise Speed √ 452

Scheduled Gate Departure Time 10

Gate Departure Trigger Time -1 

Gate Ground Delay Departure Time -1 

Updated Gate Departure Time √ 810

Flight Plan Trigger Time -1 

Flight Cancelled Flag 55

SECTOR GEOMETRIES AND MONITOR ALERT PARAMETERS 

These data sets create the sectorization for PNP. 

Airspace Data Sets 
'
>>*'
,
$

-

6D

M-14

Data Sets Directory

Sector Mapping C:\ARCHIVE\AIRSPACE\sectormapping 

AIRSPACE DATA SETS 

The airspace data sets are used to create the airspace for PNP. The NFDC data sets are provided by the FAA every 

56 days. The City Pairs data sets were data mined from historical ASDI routes. The AvDafif data sets were obtained 

from the National Geospatial-Intelligence Agency. The Airport Mapping datasets were created by Sensis Systems 

Engineers. The custom data sets have been created to fill gaps in the airspace definition. These data sets are used 

to define PNP’s airspace. 

Airspace Data Sets 

Data Sets Directory

NFDC C:\ARCHIVE\AIRSPACE\nfdc 

Fallingrain C:\ARCHIVE\AIRSPACE\fallingrain 

City Pairs C:\ARCHIVE\AIRSPACE\citypairs 

AvDafif C:\ARCHIVE\AIRSPACE\avdafif 

Airport Mapping C:\ARCHIVE\AIRSPACE\airportmapping 

Custom C:\ARCHIVE\AIRSPACE\custom 

BASE OF AIRCRAFT DATA (BADA) 

The BADA data is used by the Sensis Trajectory model to simulate aircraft performance. 
'
>>*'
,
$

-

6D

M-15

PNP SERVER PARAMETERS 

The PNP Server parameters control the runtime attributes of the experiment. The parameters control what FDS, 

weather, sectors, and airspace data an experiment utilizes. The parameters control the speed, display, and models 

utilized in an experiment. 

The various PNP Server parameters are specified in the PNP Server initialization (.ini) file and are broken up into 

parameter sets. The following sections describe the PNP Server parameter sets found in the PNP initialization file. 

CONTROL PARAMETERS 

Control parameters provide basic connection and initialization information for PNP Server. These parameters do 

not typically change between experiments, and are meant to be used to standardize a set of runs and ensure that 

some basic parameters are used across several sets of runs. 

Control Parameters

Field Name Field Description Default Value

starttime The starttime parameter specifies the start time used to 

begin processing the FDS air traffic dataset. This is the start 

time of the simulation.

07:45

playbackruntime The playbackruntime parameter specifies the number of 

hours of flights from the FDS to process. A value of 24, for 

example, will simulate 24 hours of departures. The 

simulation runs until all aircraft have landed.

24

fdsoffset The fdsoffset parameter specifies the number of hours to 

offset the processing to the FDS. This is used to compensate 

for time discrepancies in the FDS such as time zones. For 

example, if an FDS was created with departure times local to 

the GMT-8 (Pacific) timezone, the departure times in the 

flight need to be offset by +8 hours to convert them to GMT, 

in which PNP operates.

8
'
>>*'
,
$

-

6D

M-16

fasttimeflag The fasttimeflag parameter determines the speed of the 

PNP clock during playback. If this flag is set to true, PNP will 

use 100% of the CPU and run as fast as possible. Note: This

will make the PVD interaction slower and less responsive. 

Setting the flag to false allows the system to attempt to run 

in uniform time. 

true

KNOB PARAMETERS 

Knobs represent a series of parameters that can be adjusted to tweak the behavior of the simulation. 

Knob Parameters

Field Name Field Description Default Value

lookaheadtime Specifies the number of hours of departures to pre-load in 

advance of the current simulation time. This allows 

predictive algorithms (such as the at-gate loading counter) 

to have visibility into future NAS loading 

2

airportcapacitymultiplier The factor by which to multiply all airport capacities 1.0

sectorcapacitymultiplier The factor by which to multiply all sector capacities 1.0

greatcircleroute Specifies whether to disregard filed flight plan routes and 

use great circle routes instead

false

pointmasstrajectory 

model 

Specifies whether PNP should use the Point Mass 

trajectory model for aircraft simulation

 When set to true, PNP will use the point mass 

model, which is fast and has high accuracy. 

 When set to false, PNP will use the kinematics 

model, which is ultra fast and has slightly lower 

accuracy 

false
'
>>*'
,
$

-

6D

M-17

 
'
>>*'
,
$

-

6D

M-18

WEATHER PARAMETERS 

The weather parameters control how PNP processes weather data. 

Weather Parameters

Field Name Field Description Default Value

Weather Timestamp 

Offset 

The Weather Timestamp Offset parameter contains the 

number of hours to offset the processing on the WSI archive 

data. This is used to compensate for time discrepancies in 

the WSI recorded archive. 

0

reflectivityflag The Reflectivity parameter instructs the PNP to enable 

processing of reflectivity data

true

Propagate Intervals The Propagate Intervals parameter instructs the PNP to use 

a reflectivity persistence forecast for X time intervals, when 

forecasting convection. The persistence forecast is 

sometimes more desirable than forecast polygons. 

The recommended use of persistence is at least one hour (an 

entry of 4).

4

forecast The forecast parameter instructs the PNP to process the WSI 

forecast convection polygons and make the forecast 

available to clients. 

The forecast convection polygons obtained from WSI are 

applied to same grid as the sectors. The percentage grid 

coverage is computed per sector. This convection forecast 

coverage is prorogated forward based on the convection 

time window provided by WSI. 

false

windsflag The Winds parameter instructs the PNP to process the WSI 

wind data. The winds data are used by the trajectory 

false
'
>>*'
,
$

-

6D

M-19

models. 

metarreportsflag The METAR parameter instructs the PNP to process the 

Aviation Routine Weather Reports. 

true

tafreportsflag The TAF parameter instructs the PNP to process the 

Terminal Area Forecasts. 

true

DISPLAY PARAMETERS 

The display parameters affect the amount of information that is shown on PNP’s graphical display during a 

simulation. 

Display Parameters

Field Name Field Description Default Value

pvdlevel The PVD Level parameter specifies the amount of 

information to show on the display. Acceptable values range 

from 0 to 3, where a value of 0 disables the PVD entirely, 

and a value of 3 enables the display of all available 

information.

Level Performance Description 

0 No PVD 

1 PVD with airport & sector 

congestion only. 

2 PVD with congestion and 

aircraft only. 

3 Interactive mode. PVD 

with congestion, aircraft, 

and weather. *Note: The 

system runs slower as the 

0
'
>>*'
,
$

-

6D

M-20

processor is freed to 

update the PVD requests.

chart The Chart parameter specifies whether a statistics chart 

should be shown during the simulation. The chart contains 

real-time statistics on delays, reroutes, and number of flights 

processed.

true

datestring The Date String parameter specifies the date string to be 

shown at the top-right corner of the PVD (if the PVD is 

shown). This date should match the date of the simulation 

data being processed. 
'
>>*'
,
$

-

6D

M-21

DATASET PARAMETERS 

The Dataset parameters control which files PNP uses as its source for weather and traffic data. Note that all 

directory definitions use the double-backslash (\\) to separate directories. Double backslashes are necessary for 

the proper operation of PNP. 

Dataset Parameters

Field Name Field Description Default Value

wsiarchive The WSI Archive parameter is the 

directory of the WSI archive to be 

processed. The WSI Archive contains all 

the weather data. If a user wants to run 

with weather, this field needs to contain 

the WSI Archive and the appropriate 

Weather Parameters must be selected.

avdemandinputfile The AvDemand Input File parameter is 

the directory and filename of the Flight 

Data Set (FDS) file containing all the 

planned flights for the simulation.

airportcapacityfile The Airport Capacity File parameter is 

the directory and filename of the airport 

capacity definitions.

\\ARCHIVE\\AIRSPACE\\airportmapping\\ 

2007_baseline_capacities.csv

tafairportfile The TAF Airport File parameter is the 

directory and filename of the terminal 

airports of interest.

\\ARCHIVE\\AIRSPACE\\airportmapping\\ 

2006_taf_airports.csv
'
>>*'
,
$

-

6D

M-22

AIRSPACE PARAMETERS 

The airspace parameters control which files PNP uses as its source for airspace data. Note that all directory 

definitions use the double-backslash (\\) to separate directories. Double backslashes are necessary for the proper 

operation of PNP. 

Airspace Parameters

Field Name Field Description Default Value

sectoraltitudelmits The Sector Altitude Limits parameter is 

the directory and filename of the sector 

altitude limit definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_sector_altitude_limits.csv

supersectorfile The Super Sector File parameter is the 

directory and filename of the super 

sector geometry definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_01_18_sectors_super.dat

highsectorfile The High Sector File parameter is the 

directory and filename of the high sector 

geometry definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_01_18_sectors_high.dat

lowsectorfile The Low Sector File parameter is the 

directory and filename of the low sector 

geometry definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_01_18_sectors_low.dat

traconfile The TRACON Geometries File parameter 

is the directory and filename of the 

TRACON geometry definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_01_18_tracon.dat

sectorcapacityfile The Sector Capacity File parameter is the 

directory and filename of the sector 

capacity definitions.

\\ARCHIVE\\AIRSPACE\\sectormapping\\ 

2007_sector_capacities.dat
'
>>*'
,
$

-

6D

M-23

OUTPUT PARAMETERS 

The Output parameters specify what data should be output by PNP. 

Output Parameters

Field Name Field Description Default Value

description A description of the experiment

experiment The name of the experiment

flightdataoutput The Flight Data parameter instructs PNP whether to 

generate flight details data or not.

true

flightplanreroutesoutput The Flight Plan Reroutes Output parameter instructs PNP 

whether to generate flight plan reroutes or not. 

true

sectorloadingoutput The Sector Loading Output parameter instructs PNP whether 

to generate sector loading data or not.

true

airportloadingoutput The Airport Loading Output parameter instructs PNP 

whether to generate airport loading data or not. 

true

sectorcapacityoutput The Sector Capacity Output parameter instructs PNP 

whether to generate sector capacity data or not.

true
'
>>*'
,
$

-

6D

M-24

airportcapacityoutput The Airport Capacity Output parameter instructs PNP 

whether to generate airport capacity data or not. 

true

 
'
>>*'
,
$

-

6D

M-25

OUTPUTS 

The PNP generates several reports that can be used for analysis and post processing by other applications. These 

reports are described in the following sections. 

REPORTS 

SUMMARY REPORT 

The Summary Report is generated by the Flight Data Set (FDS) Analysis. This report contains the following fields: 

Field Description

Experiment The name of the expirement

TotalDepartures Total number of departures

TotalMxCongestion Number of airspace congestion events based on sector MAP value 

AvgMxCongestion Average airspace congestion per congestion event based on sector MAP value

TotalWxCongestion Number of airspace congestion events based on weather reduced MAP value

AvgWxCongestion Average airspace congestion per congestion event based on weather reduced MAP 

value

AirportMxCongestion Number of airport congestion events based on airport capacity

AirportAvgMxCongestion Average airport congestion per congestion event based on airport capacity

AirportWxCongestion Number of airport congestion events based on weather reduced airport capacity 
'
>>*'
,
$

-

6D

M-26

AirportAvgWxCongestion Average airport congestion per congestion event based on weather reduced airport 

capacity

DepartureDelayCount The number of pre-departure delays 

PreDepartureDelay The total minutes of pre-departure delays 

AvgPreDepartureDelayCount Average delay per pre-departure delay 

PreDepartureRerouteCount The number of pre-departure reroutes 

PreDepartureRerouteDelay The total minutes of flight time added for pre-departure reroutes that increase flight 

time

PreDepartureRerouteNegativeDelay The total minutes of flight time savings for pre-departure reroutes that reduce flight 

time

PreDepartureRerouteAvgDelay Average flight time difference per pre-departure reroute 

InflightRerouteCount The number of in-flight reroutes 

InflightRerouteDelay The total minutes of flight time added for in-flight reroutes that increase flight time 

InflightRerouteNegativeDelay The total minutes of flight time savings for in-flight reroutes that reduce flight time 

InflightRerouteAvgDelay Average flight time difference per in-flight reroute 

TotalDelayCount Total number of delay events 

TotalDelay Total minutes of flight time delay 

AvgDelay Average minutes of delay per departure 

FuelBurn Total fuel burn (pounds) 
'
>>*'
,
$

-

6D

M-27

Date Date of experiment

Runtime Runtime of experiment

WxDate WSI Archive directory

Descr Descriptive test to track experiments

Revision Software revision
'
>>*'
,
$

-

6D

M-28

SECTOR INFORMATION REPORT 

The Sector Information Report maps the sector column in the AtGate Sector Loading, Enroute Sector Loading, 

WxMap Sector Capacity, and MxMap Sector Capacity Reports to a sector name. 

ATGATE SECTOR LOADING REPORT 

The AtGate Sector Loading Report is generated by the FDS Analysis. This report contains the sector loading for 

every time interval of runtime. 

Field Description

Interval Interval value (0-95) 

Sector1 Number of aircraft that are at the gate and

contribute to this sector’s loading

Sector ... Number of aircraft that are at the gate and

contribute to this sector’s loading 

Sector 9999 Number of aircraft that are at the gate and

contribute to this sector’s loading

ENROUTE SECTOR LOADING REPORT 

The Enroute Sector Loading Report is generated by the FDS Analysis. This report contains the sector loading for 

every interval of runtime. 
'
>>*'
,
$

-

6D

M-29

Field Description

Interval Interval value (0-95) 

Sector1 Number of aircraft that are enroute and contribute to this sector’s loading

Sector ... Number of aircraft that are enroute and contribute to this sector’s loading

Sector 9999 Number of aircraft that are enroute and contribute to this sector’s loading

 
'
>>*'
,
$

-

6D

M-30

DELAY REPORT 

The Delay Report is generated by the FDS Analysis. This report contains aircraft delay information. 

Field Description

flightIndex Internal PNP id to track flights 

aircraftId Aircraft flight identifier

orig Departure airport

dest Arrival airport

bin The departure interval based on wheels off time (0- 95). 

predictedCost Predicted cost

maxGPCvalue Gross Predicted Cost

BNSI1 Bin number sector for the maxGPCIndex = 0 

BNSI2 Bin number sector for the maxGPCIndex = 1

BNSI3 Bin number sector for the maxGPCIndex = 2

sectorload Number of aircraft in departure sector

delayInMinutes Total minutes of flight time delay

routeDelayInMinutes The total minutes of flight time added for pre-departure reroutes that increase flight 

time

DelayCount The number of times this flight has been delayed
'
>>*'
,
$

-

6D

M-31

delayType Sector or airport delays

DEPARTURE REPORT 

The Departure Report is generated by the FDS Analysis. This report contains aircraft departure information. 

Field Description

flightIndex Internal PNP id to track flights

aircraftId Aircraft flight identifier

continuousBin The continuous departure interval based on wheels off time (0 - ∞). 

bin The departure interval based on wheels off time (0 - 95). 

predictedCost Predicted cost

maxGPCvalue Gross Predicted Cost

BNSI1 Bin number sector for the maxGPCIndex = 0

BNSI2 Bin number sector for the maxGPCIndex = 1

BNSI3 Bin number sector for the maxGPCIndex = 2

BNSILoading Bin number sector for the maxGPC Loading

flightTime Minutes of flight time

wheelsOffTime Predicted airborne time
'
>>*'
,
$

-

6D

M-32

orig Departure airport

dest Arrival airport

 
'
>>*'
,
$

-

6D

M-33

REROUTE REPORT 

The Reroute Report is generated by the FDS Analysis. This report contains aircraft reroute information. 

Field Description

flightIndex Internal PNP id to track flights

aircraftId Aircraft flight identifier

orig Departure airport

dest Arrival airport

routeDelayInMinutes The total minutes of flight time added/subtracted for pre-departure reroutes that 

increase/decrease flight time

MXMAP SECTOR CAPACITY REPORT 

The MxMap Sector Capacity Report is generated by the FDS Analysis. This report contains the Monitor Alert 

Parameter (MAP) values for every sector for every interval of runtime. 

Field Description

Interval Interval value (0-95) 

Sector1 Sector MAP Value

Sector ... Sector MAP Value
'
>>*'
,
$

-

6D

M-34

Sector 9999 Sector MAP Value

WXMAP SECTOR CAPACITY REPORT 

The WxMap Sector Capacity Report is generated by the FDS Analysis. This report contains the Weather Reduced 

Monitor Alert Parameter (MAP) values for every sector for every interval of runtime. 

Field Description

Interval Interval value (0-95) 

Sector1 Sector Weather Reduced MAP Value

Sector ... Sector Weather Reduced MAP Value 

Sector 9999 Sector Weather Reduced MAP Value

 
'
>>*'
,
$

-

6D

M-35

AIRPORT CAPACITY REPORT 

The Airport Capacity Report is generated by the FDS Analysis. This report contains the Airport Capacities for every 

interval of runtime. 

Table 1 Airport Capacity Report 

Field Description

Interval Interval value (0-95) 

Airport Airport name

AirportCapacity Airport capacity value 

WeatherReducedAirportCapacity Airport weather reduced capacity value

AirportLoading Airport loading for this interval

TAF REPORT 

The Terminal Area Forecast Report is generated by the FDS Analysis when the TAF parameter is enabled, See 

Field Description

icaoSiteId The ICAO station identifier 

origbin The interval when the report is received (0- 95). 

startbin The interval when the report takes affect (0- 95). 

stopbin The interval when the report expires (0- 95). 
'
>>*'
,
$

-

6D

M-36

visibility The number of miles of visibility

ceiling The altitude of the ceiling

windSpeed The Speed of the wind in knots 

windDirection The direction of the wind relative to true north 

code The Weather Reporting Notations

timestamp The timestamp of the report message

METAR REPORT 

The METAR Report is generated by the FDS Analysis when the METAR parameter is enabled. 

Field Description

icaoSiteId The ICAO station identifier 

origbin The interval when the report is received (0- 95). 

startbin The interval when the report takes affect (0- 95). 

stopbin The interval when the report expires (0- 95). 

visibility The number of miles of visibility

ceiling The altitude of the ceiling 

windSpeed The Speed of the wind in knots 
'
>>*'
,
$

-

6D

M-37

windDirection The direction of the wind relative to true north

code The Weather Reporting Notations

timestamp The timestamp of the report message

 
'
>>*'
,
$

-

6D

M-38

RUNNING PNP 

EXPERIMENTS 

PNP experiments are file driven, using four types of files: the Simulation Parameter, Client Parameter, Experiment 

Definition and Schedule Definition Files. Note that the Schedule Definition files are used to run PNP in a batch 

mode, and are not necessary to make a single run. 

SIMULATION PARAMETER FILES 

Simulation parameters files contain the PNP parameters listed in the PNP Server Parameters section. These 

parameters instruct PNP on how to run. 

CLIENT PARAMETER FILES 

Client parameter files contain the parameters specific to each client. 

EXPERIMENT DEFINITION FILES 

Experiment definition files contain the information necessary to run PNP and its clients, including the simulation 

parameter file name and client parameter file names. 

 SCHEDULE DEFINITION FILES 

Schedule Definition Files contain the experiment definition files names to be run chronologically, in a batch mode. 
'
>>*'
,
$

-

6D

M-39

INITIAL STARTUP 

Upon initialization the PNP Window displays as follows: 

NAVIGATION: FILE SELECTION 

There are three ways to select a parameter file from an entry box. 

1. Then perform one of the three files selection techniques. 

1. Left Mouse Button 

i. Double left mouse click 

2. Right Mouse Button 

i. Right mouse click and select Choose file menu option. 
'
>>*'
,
$

-

6D

M-40

3. Insert Key 

i. Single left mouse click entry box to select it 

ii. Press Insert Key 

2. Choose a file by double clicking the filename in the file chooser dialog 

NAVIGATION: MENU USAGE 

PNP provides a standard windows menu bar interface to navigate through the PNP application. 

FILE MENU OPTIONS 

The file menu provides the following actions: 

1. New – Creating a new experiment 

2. Open – Open an existing experiment 

3. Save – Save the current experiment 

4. Save As – Save the current experiment with a new experiment name 

5. Delete – Delete the current experiment 
'
>>*'
,
$

-

6D

M-41

RUN MENU OPTIONS 

1. Now – Executes the current experiment 

2. Schedule – Opens the Schedule Manager Window 

SETTINGS MENU OPTIONS 

1. Toolbar – Toggles the toolbar on and off 

2. Options – Opens the PNP Options Window 

HELP MENU OPTIONS 

1. Tips – Displays PNP Navigation Tips Window 

2. About – Display PNP Overview Window 
'
>>*'
,
$

-

6D

M-42

NAVIGATION: TOOLBAR USAGE 

 The toolbar provides an alternative method to the menu bar allowing quick single click access to the New, Open, 

Delete, Save, Run, and Schedule menu options. 

NAVIGATION: FILE MANIPULATION 

There are several ways to view/edit/delete a parameter file from an entry box. 

1. Right mouse click and select Choose file menu option. 

2. Press Shift-F3 Key to edit the file in the user defined editor 
'
>>*'
,
$

-

6D

M-43

3. Press Shift-F4 Key to edit the file in the form editor 

4. Press Shift-F5 Key to edit the file in the form viewer 

5. Press Delete Key to detele the selected entry 
'
>>*'
,
$

-

6D

M-44

SETTING THE USER DEFINED EDITOR 

PNP allows the user to specify their editor by updating the Editor entry box in the PNP Options Window. The 

default editor is MS Windows XP wordpad.exe. 

 (\Program Files\Windows NT\Accessories\wordpad.exe) 

SETTING THE USER DEFINED PATH FOR PNP FILES 

PNP allows the user to specify the path to the PNP files by updating the Storage Path entry box in the PNP Options 

Window. The default path is C:\Program Files\Sensis\Probabilistic NAS Platform\data\ini 

 
'
>>*'
,
$

-

6D

M-45

CREATING A NEW EXPERIMENT 

To create an experiment a user can use the menu to select File...New or press the hotkey: Ctrl-N or click the 

icon on the toolbar. 

1. Select a Simulation parameter file

This file determines the data sets, weather, and configuration of the experiment. 

2. Select Client parameter files

These files determine what clients will be part of the current experiment. 

*Note: An experiement must contain a Simulation parameter file. 

3. Save the experiment. 

 
'
>>*'
,
$

-

6D

M-46

OPENING AN EXPERIMENT 

To open an experiment a user can use the menu to select File...Open... or press the hotkey: Ctrl-O or click the 

icon on the toolbar. 

1. Choose experiment definition file from the file chooser dialog. The selected experiment definition is 

loaded into the Experiment Manager dialog. 

 
'
>>*'
,
$

-

6D

M-47

SAVING AN EXPERIMENT 

To save an experiment, a user can use the menu to select File...Save, File...Save As... or press the hotkey: Ctrl-S or

click the icon on the toolbar. 

1. if the experiment entry box is empty, the user will be prompted for the experiment name. 

2. Once the experiment has been saved a confirmation window will appear. 

 
'
>>*'
,
$

-

6D

M-48

DELETING AN EXPERIMENT 

To delete an experiment a user can use the menu to select File...Delete or press the hotkey: Ctrl-D or click the 

icon on the toolbar or press in the Delete Key. 

1. A confirmation window will appear, press Yes button to delete current experiment. 

 
'
>>*'
,
$

-

6D

M-49

RUNNNING AN EXPERIMENT 

To run an experiment a user can use the menu to select Run...Now or press the hotkey: Shift-F10 or click the 

icon on the toolbar. 

1. The Schedule Manager Window will appear. As the run transgresses the runtime is updated in the 

status field adjacent to the experiment name. Once the run has completed the status will reflect this 

status as Finished with the total runtime. 

2. After the run completes or is shuitdown, the status is upated to finished with the total runtime. The 

user can exit the run scheduler by press the Exit button. If the user wants to run the experiment 

again, press the Launch Button. 

 
'
>>*'
,
$

-

6D

M-50

SCHEDULING EXPERIMENTS 

To schedule experiments a user can use the menu to select Run...Schedule or press the hotkey: Shift-F9 or

Click the icon on the toolbar. 

1. Select experiment file to be run. 

2. Save schedule if you intend to run it again in the future. 

3. Use the Launch button to start the schedule experiment runs. 

4. As the run transgresses the runtime is updated in the status field adjacent to the experiment 

name. Once the run has completed the status will reflect this status as finished with the total 

runtime. The Cancel button will cancel the next experiment in the queue and will be 

reflected in the experiments status as canceled. 
'
>>*'
,
$

-

6D

M-51

ANALYZING EXPERIMENTS 

At the completion of an experiment run, reports can be found in the output directory defined in the PNP 

configuration files. 
'
>>*'
,
$

-

6D

M-52

APPENDICES 

APPENDIX A: TRAJECTORY MODEL INITIALIZATION 

The trajectory model uses BADA V3.6 aircraft performance models. 

1. Upon startup of the Kinematic trajectory model, the following window will appear if the BADA path has 

not been found: 

2. Press OK button and a Save dialog window will appear. 

3. Select the following directory: 

C:\Program Files\Sensis Corporation\Probabilistic NAS Platform\data\bada_3_6\KinematicModels 
'
>>*'
,
$

-

6D

M-53

4. Press Save to set BADA directory path. 

 
'
>>*'
,
$

-

6D

M-54

APPENDIX B: MATLAB SUPPORT 

The PNP server can directly interface with MATLAB. Three simple scripts were written to connect, 

disconnect, and step PNP via the MATLAB command interface. These scripts are available in the following 

directory: 

C:\Program Files\Sensis Corporation\Probabilistic NAS Platform\MATLAB 
'
>>*'
,
$

-

6D

M-55

APPENDIX C: CLEANUP 

There is a utility to cleanup the system reports, files, and logs. The command file cleanup.cmd is located in 

the bin directory. Simple double-click this file and the system files will be deleted. 

*Note: It is convenient to create a shortcut so ty can be used from your desktop. 
N-2 

Probabilistic NAS Platform 

v1.2 

Plan View Display User Guide 

8/16/2011 

Sensis Corporation 

N-2 

TABLE OF CONTENTS 

INTRODUCTION ....................................................................................... 3

SCOPE ................................................................................................................................ 3

PLAN VIEW DISPLAY (PVD) .................................................................... 3

OPERATIONS .................................................................................................................... 5

Mouse Functions .......................................................................................................... 5 

TOOLBAR .......................................................................................................................... 6

Cursor Select ................................................................................................................. 7 

DISPLAY TOGGLES .......................................................................................................... 11

Reflectivity Toggle ...................................................................................................... 11 

Forecast Toggle .......................................................................................................... 12 

Winds TOGGLE ........................................................................................................... 13 

METAR Toggle ............................................................................................................ 14 

TAF Toggle .................................................................................................................. 14 

Airport Congestion Toggle.......................................................................................... 14 

Sector Congestion Toggle ........................................................................................... 16 

DISPLAY FILTERS ............................................................................................................. 17

Flights ......................................................................................................................... 18 

Flight Filters ................................................................................................................ 20 

State Filters................................................................................................................. 21 

Sector.......................................................................................................................... 27 

METAR/TAF ................................................................................................................ 28 

Winds.......................................................................................................................... 30 

Routes ......................................................................................................................... 31 

DISPLAY ATRTIBUTES ..................................................................................................... 32

Aircraft ....................................................................................................................... 33 

Airport Congestion ..................................................................................................... 39 

Sector Congestion ....................................................................................................... 40 

Forecasts .................................................................................................................... 41 

Key .............................................................................................................................. 42 

APPENDICES .......................................................................................................... 43

APPENDIX A: CONGESTION COLOR KEY .................................................................................. 43

APPENDIX B: SECTOR COLOR KEY .......................................................................................... 43
N-3 

INTRODUCTION

INTRODUCTION

The Probabilistic NAS Platform (PNP) is both a research tool and a decision support platform to analyze air 

traffic and traffic flow management (TFM) issues. Real-time PNP provides real time meteorological data 

and traffic advisories in which an operator or Air Traffic Manager can make more informed and accurate 

decisions. Playback PNP evaluates current or future TFM concepts using projected or actual traffic 

demands sets with recorded historical meteorological data. 

SCOPE 

This document guides the PNP user in the usage of the Plan View Display (PVD). 

Topics covered include: 

 Plan View Display 

PLAN VIEW DISPLAY (PVD) 
N-4 

PLAN VIEW DISPLAY (PVD) 

The Plan View Display allows the user to visualize the NAS. Toggles have been built in to control the data 

as the PVD may become cluttered during a session when aircraft counts typically exceed 40,000. The PVD 

has been developed for debugging and marketing purposes and is still under construction. 

 
N-5 

OPERATIONS 

MOUSE FUNCTIONS 

SCROLL BUTTON 

The Scroll Button on the mouse zooms in and out of the PVD. 

RIGHT BUTTON 

The Right Button on the mouse re-centers the map on the PVD. 

LEFT BUTTON 

The Left Button selects sectors, airports, or aircraft based upon the selection criteria enabled. 

 
N-6 

TOOLBAR 

The PVD has a toolbar which can be dragged off the PVD. The toolbar provides the user with buttons, 

toggles, and dialogs to control what is displayed on the PVD. The text box displays status messages. 

SNAPSHOT BUTTON 

The Snapshot Button takes a snapshot of the PVD using the current time to create a jpeg in the 

output directory. 

CLEAR DISPLAY BUTTON 

The Clear Display Button removes selected aircraft and sectors from the PVD. 
N-7 

CURSOR SELECT 

The Cursor Pull-down Menu toggles the cursor selection between aircraft , sectors, sector point-out , 

METARs , and TAFs. 

CURSOR SELECT: AIRCRAFT 

Clicking on an aircraft icon will cause aircraft information to display based on the aircraft display filter, 

when the aircraft cursor in enabled. 
N-8 

CURSOR SELECT: SECTORS 

Clicking on the map will display sectors at the cursor location based on sector display filter, when the 

sector cursor is enabled. 
N-9 

CURSOR SELECT: SECTOR-POINT OUT 

Clicking on an over-loaded sector will display all the flights schedule to be in that sector, when the sector 

point-out cursor is selected. 
N-10

CURSOR SELECT: TAF 

Clicking on a TAF report symbol will cause the report to display in a pop-up window, when the TAF cursor 

 is enabled. 

CURSOR SELECT: METAR 

Clicking on a METAR report symbol will cause the report to display in a pop-up window, when the METAR 

cursor is enabled. 
N-11

DISPLAY TOGGLES 

REFLECTIVITY TOGGLE 

The Reflectivity Toggle turns on and off the reflectivity display data. 
N-12

FORECAST TOGGLE 

The Forecast Toggle turns on and off the forecast display data. 
N-13

WINDS TOGGLE 

The Winds Toggle turns of and off the wind display data. 
N-14

METAR TOGGLE 

The METAR Toggle turns on and off the METAR forecast data. 

TAF TOGGLE 

The TAF Toggle turns on and off the TAF forecast data. 

AIRPORT CONGESTION TOGGLE 
N-15

The Airport Congestion Toggle toggles the display of airport congestion. Congested airports appear 

as yellow, red, or black circles, as shown in the figure below. 
N-16

SECTOR CONGESTION TOGGLE 

The Sector Congestion Toggle toggles the display of sector congestion. Congested sectors appear in 

yellow, red, or black, as shown in the figure below. 
N-17

DISPLAY FILTERS 

The Display Filters Button displays the Display Filters Window. The Display Filters Window contains 

tabs to change the display filters associated with flights, sectors, METAR/TAF reports, winds and routes. 
N-18

FLIGHTS 

The flights filter window allows the user to display windows based on the altitude. The Apply button will 

display the flights based on the specified filters. The Clear button will clear the filters. 
N-19

FLIGHTS: CONFLICTS 

Flights that have a future loss of separation event are highlighted by black circles. 

FLIGHTS: LOSS OF SEPARATION 

Flights are in a loss of separation event are highlighted by red circles. The red line highlights where on the 

trajectory the loss of separation occurs. 
N-20

FLIGHT FILTERS 

OWNSHIP FILTER: ALL FLIGHTS 

The All Flights checkbox allows a user to specify whether the all flights will be displayed. 

OWNSHIP FILTER: AWAITING DEPARTURE 

The Awaiting Departure checkbox allows a user to specify only flights awaiting departure are displayed. 

OWNSHIP FILTER: WITH TRACK REPORTS ONLY 

The With Track Reports Only checkbox allows a user to specify only flights with track ports are displayed. 

OWNSHIP FILTER: WITH FLIGHT PLAN ONLY 

The With Flight Plan checkbox allows a user to specify only flights with flight plans are displayed. 

OWNSHIP FILTER: LOW ALTITUDE 

The low altitude spinner sets the low bound of the altitude filter of the display. 

OWNSHIP FILTER: HIGH ALTITUDE 

The high altitude spinner sets the upper bound of the altitude filter of the display. 
N-21

STATE FILTERS 

STATE FILTERS: DELAY 

The DELAY checkbox selects flights with pre-departure delays. Pre-departure delayed flights have red

historical waypoints. 
N-22

STATE FILTERS: PRE-DEPARTURE REROUTE 

The PRE-DEPERTURE REROUTE checkbox selects flights with pre-departure reroutes. Pre-departure 

reroute flights have purple historical waypoints. 
N-23

STATE FILTERS: IN-FLIGHT REROUTE 

The IN-FLIGHT REROUTE checkbox selects flights with in-flight reroutes. In-flight reroute flights have 

green historical waypoints. 
N-24

STATE FILTERS: LOS 

The LOS checkbox selects flights with loss of separation events. 
N-25

STATE FILTERS: NON-CONFORMANCE 

The Non-Conformance selects flights with non-conformance events. *Work In Progress
N-26

STATE FILTERS: UAS 

The UAS checkbox selects unmanned aircraft systems. 
N-27

SECTOR 

The sector filter window allows the user to display sectors based on latitude/longitude, altitude, or name. 

The Apply button will display the sectors based on the specified filters. The Clear button will clear the 

sectors from the display. 
N-28

METAR/TAF 

The METAR/TAF filter window allows the user to display METAR/TAF icons based on filter criteria. The 

Apply button will display the METAR/TAF icons based on the specified filters. 

METAR/TAF FILTER: CEILING/VISIBILITY/WINDS 

The Ceiling/Visibility/Winds checkbox allows a user to specify whether all METAR/TAF report icons will 

display. 

METAR/TAF FILTER: ICON SCALE 

The Icon Scale spinner allows a user to specify the scale of the METAR/TAF icons on the display. 

METAR/TAF FILTER: CEILING ONLY 

The Ceiling Only checkbox allows a user to specify whether the ceiling criterion only is used to display 

METAR/TAF report icons. 

METAR/TAF CEILING LIMITS FILTER: CEILING WARNING ALERT 

The Warning Alert spinner allows a user to specify the ceiling warning limits. 

METAR/TAF CEILING LIMITS FILTER: CEILING CRITICAL ALERT 
N-29

The Critical Alert spinner allows a user to specify the ceiling critical limits. 

METAR/TAF FILTER: VISIBILITY ONLY 

The Visibility Only checkbox allows a user to specify whether the visibility criterion only is used to display 

METAR/TAF report icons. 

METAR/TAF CEILING LIMITS FILTER: VISIBILITY WARNING ALERT 

The Warning Alert spinner allows a user to specify the visibility warning limits. 

METAR/TAF CEILING LIMITS FILTER: VISIBILITY CRITICAL ALERT 

The Critical Alert spinner allows a user to specify the visibility critical limits. 

METAR/TAF FILTER: WINDS ONLY 

The Winds Only checkbox allows a user to specify whether the winds criterion only is used to display 

METAR/TAF report icons. 

METAR/TAF CEILING LIMITS FILTER: WINDS WARNING ALERT 

The Warning Alert spinner allows a user to specify the winds warning limits. 

METAR/TAF CEILING LIMITS FILTER: WINDS CRITICAL ALERT 

The Critical Alert spinner allows a user to specify the winds critical limits. 
N-30

WINDS 

The winds filter window allows the user to display winds based on the altitude. The Apply button will 

display the winds for the specified altitude. 

WINDS FILTER: ALTITUDE 

The Altitude spinner allows a user to specify the altitude of the winds to be displayed. 
N-31

ROUTES 

The routes filter window allows the user to display routes based on the city pair inputs. The Apply button 

will display all the routes associated with the entered airports. The Clear button will clear the text from 

the input boxes and clear the routes from the display. 

ROUTES FILTER: 1ST AIRPORT 

The 1st Airport input box allows a user to specify the fist city pair. 

ROUTES FILTER: 2ND AIRPORT 

The 1st Airport input box allows a user to specify the fist city pair. 
N-32

DISPLAY ATRTIBUTES 

The Display Attributes Button displays the Display Attributes Window. The Display Attributes 

Window contains tabs to change the display attributes associated with aircraft (selected and all), sectors, 

airports, forecasts, and the reflectivity key. 
N-33

AIRCRAFT 

The aircraft display attribute window for all aircrafts allows the user to toggle the display of the aircraft 

attributes on the screen. 

AIRCRAFT ATTRIBUTE: SCALE 

The Scale spinner allows a user to specify the scale of the aircraft icons on the display. 

AIRCRAFT ATTRIBUTE: TRACK POINTS 

The Track Points spinner allows a user to specify the number of historical waypoints per aircraft on the 

display. 

DATABLOCK ATTRIBUTES 

The Datablock checkbox allows a user to specify what flight tags will display. 

DATABLOCK ATTRIBUTE: ACID 

The Acid checkbox allows a user to specify whether the aircraft identifier will display. 

DATABLOCK ATTRIBUTE: SECTOR 

The Sector checkbox allows a user to specify whether the aircraft’s current sector will display. 
N-34

DATABLOCK ATTRIBUTE: ORIG 

The Orig checkbox allows a user to specify whether the aircraft departure airport will display. 

DATABLOCK ATTRIBUTE: DEST 

The Dest checkbox allows a user to specify whether the aircraft arrival airport will display. 

DATABLOCK ATTRIBUTE: SPEED 

The Speed checkbox allows a user to specify whether the aircraft speed will display. 

DATABLOCK ATTRIBUTE: ALTITUDE 

The Altitude checkbox allows a user to specify whether the aircraft altitude will display. 
N-35

AIRCRAFT | SELECTED 

The aircraft display attribute window for selected aircrafts allows the user to toggle the display of the 

selected aircraft attributes on the screen. 

FLIGHT PLAN TRAJECTORY 

The original flight plan trajectory is displayed as a blue line. If the line is cyan, then a reroute is in effect.

FLIGHT PLAN SECTORS 

The flight plan sectors are displayed as translucent blue polygons. If the sectors are cyan, then a reroute 

is in effect. Note: TRACONs are brown. 
N-36

FLIGHT DETAILS WINDOW 

The flight details window displays detailed information about a selected flight in a pop-up window. 

FLIGHT PLAN WAYPOINT NAMES 

The flight plan waypoint names are displayed on the current flight plan line. 
N-37

REROUTE TRAJECTORY 

The reroute trajectory is display as a blue line. 

REROUTE PLAN SECTORS 

The flight plan sectors are displayed as translucent blue polygons. 
N-38

VERTICAL PROFILE WINDOW 

The vertical profile tab in the flight details window details the altitude profile of the flight. The blue line 

represents the original flight plan while the magenta line represents a reroute. 
N-39

AIRPORT CONGESTION 

The airport congestion display attribute window allows the user to toggle the display of the airport name 

and congestion value on the screen. The congestion value consists of two parts: 

Number of aircraft overloading an airport 

Airport capacity 

AIRPORT CONGESTION ATTRIBUTE: NAME 

The Name checkbox allows a user to specify whether airport names will display. 

AIRPORT CONGESTION ATTRIBUTE: CONGESTION 

The Congestion Value checkbox allows a user to specify whether airport congestion values will display. 
N-40

SECTOR CONGESTION 

The sector congestion display attribute window allows the user to toggle the display of the sector name, 

altitude range, and MAP value on the screen. The sector value consists of two parts: 

Number of aircraft overloading a sector 

Sector capacity 

SECTOR CONGESTION ATTRIBUTE: NAME 

The Name checkbox allows a user to specify whether sector names will display. 

SECTOR CONGESTION ATTRIBUTE: MAP VALUE 

The MAP Value checkbox allows a user to specify whether the sector MAP values will display. 

SECTOR CONGESTION ATTRIBUTE: ALTITUDE RANGE 

The Altitude Range checkbox allows a user to specify whether the sector altitude range will display. 
N-41

FORECASTS 

The forecast display attribute window allows the user to toggle the display of the forecast identifier and 

altitude range on the screen. 

FORECAST ATTRIBUTE: IDENTIFIER 

The Identifier checkbox allows a user to specify whether the forecast identifier will display. 

FORECAST ATTRIBUTE: ALTITUDE RANGE 

The Altitude Range checkbox allows a user to specify whether the forecast altitude range will display. 
N-42

KEY 

The key display attribute window allows the user to toggle the display of the reflectivity key on the 

screen. 

KEY ATTRIBUTE: KEY 

The Reflectivity Key checkbox allows a user to specify whether the reflectivity key will display. 
N-43

APPENDICES 

APPENDIX A: CONGESTION COLOR KEY 

Congestion is color-coded on the PNP PVD. Each color signifies a minimum level of congestion. The 

following table defines the significance of each color used to indicate congestion. 

Color Meaning

Yellow The congested NAS element is at or above 75% of capacity.

Red The congested NAS element is at or above full capacity.

Black The congested NAS element is at or above 125% of capacity. 

APPENDIX B: SECTOR COLOR KEY 

Displays the name of sectors. Sectors highlighted in green are selected by the cursor, blue highlighted are 

directly from the server or client to display, yellow, black, and red highlighting is indicative of the 

congestion threshold overage. 

 
O-1 

6;54:A4@

SA Developer’s Guide 

Sensis Corporation 

'
&

3

*



&




+

#



%&
8-@BC56

,

3

*.3**+4567

8@466O-2 

TABLE OF CONTENTS 

INTRODUCTION ............................................................................................................ 4

SA OVERVIEW............................................................................................................... 5

SA ARCHITECTURE ..........................................................................................................................................5 

SA CLIENTS ...................................................................................................................................................6 

THE PNP COMMUNICATIONS CYCLE ..................................................................................................................8 

SIMOBJECTS API .......................................................................................................... 9

MESSAGING ..................................................................................................................................................9 

DYNAMIC CLIENTS ..........................................................................................................................................9 

CREATING A PNP JAVA CLIENT ...................................................................................................................... 10 

Required Libraries ................................................................................................................................ 10 

Connecting to PNP from a Java client ................................................................................................. 11 

Sending data from your client ............................................................................................................. 13 

Responding to PNP heartbeat messages ............................................................................................ 13 

INTERACTING WITH PNP............................................................................................................................... 13 

The BatchResponse Message .............................................................................................................. 13 

Delaying Flights ................................................................................................................................... 14 

Rerouting Flights ................................................................................................................................. 14 

BEST PRACTICES FOR DEVELOPING PNP CLIENTS ............................................................................................... 15 

FACTORIES .................................................................................................................... 16

SEPARATION ASSURANCE IMPLEMENTATION FACTORY ....................................................................................... 16 

N-Squared Interface ............................................................................................................................ 16 

Ownship ............................................................................................................................................... 16 

Surveillance ......................................................................................................................................... 16 

CONFLICT DETECTION FACTORY ..................................................................................................................... 17 

Sensis Conflict Detection ..................................................................................................................... 17 

Stratway Conflict Detection ................................................................................................................ 17 

CONFLICT RESOLUTION FACTORY ................................................................................................................... 18 
O-3 

Sensis Conflict Resolution .................................................................................................................... 18 

Stratway Conflict Resolution ............................................................................................................... 18 

GLOSSARY .................................................................................................................. 19

APPENDIX A: CONFLICT DETECTION AND RESOLUTION ..................................... 20

CONFLICT-RELATED API MESSAGES ................................................................................................................ 20 

DISPLAY OF CD&R INFORMATION .................................................................................................................. 20 
O-4 

INTRODUCTION 

The SA Developer’s Guide provides developers with a guide to understand the SA client, PNP API, and 

software factory patterns available to add separation assurance algorithms. 
O-5 

SA OVERVIEW 

SA ARCHITECTURE 

The SA is a Java client in the PNP architecture. Clients can dynamically enter and exit an experiment, using 

the PNP interface. The SA Client may request a variety of data messages, and can return to PNP 

modifications, including flight plan modifications and airspace (sector) redesigns. 
O-6 

SA CLIENTS 

PNP clients model NAS components. By connecting to the server and registering with PNP, a client can 

request the data it needs to model NAS components and decision making. The SA client models conflict 

detection and resolution decision making in the NAS. The SA client has implemented the SimObjects API 

and performs three basic steps: 

1. Register with PNP Server 

The SA client registers with PNP server as a client specifying its configuration parameters. 

EXAMPLE 

The following example registers the SA client with PNP: 

ClientConfiguration config = new ClientConfiguration("SA"); 

config.setDistanceFilter((int) Wini.instance().getMinimumHorizontalSeparationInNm()); 

config.setAltitudeFilter(Wini.instance().getMinimumAltitudeBound()); 

config.setLookAheadTimeFilter(Wini.instance().getSeparationAssuranceTime()); 

init(Wini.instance().getPnpServerName(), config, flightDetailsDescr); 

2. Request Updates 

The SA client requests for Enroute aircraft, simulation commands, and health checks based on an 

adaptable interval value. 

EXAMPLE 

The following example requests a list of all Enroute flights every 15 minutes: 

 int interval = Wini.instance().getServerRequestInterval(); 

 MessageRegistryManager.instance().register(PnpEnrouteFlightDetails.class, interval, 

inFlightActionListener); 

 MessageRegistryManager.instance().register(Heartbeat.class, interval, 

heartbeatActionListener); 

Step 1: Register 

with PNP 

Step 2: Request 

Data Updates 

Step 3: Handle 

Data Updates 
O-7 

 MessageRegistryManager.instance().register(CommandRequest.class, interval, 

commandActionListener); 

3. Handles Data Updates 

The SA client receives the data based on the adaptable interval value and manages the Enroute aircraft. 

The SA client processes all the aircraft and sends back a health check message. 

EXAMPLE 

The following example are message listeners associated to the requested messages. 

InFlightActionListener inFlightActionListener = new InFlightActionListener(); 

HeartbeatActionListener heartbeatActionListener = new HeartbeatActionListener(); 

CommandActionListener commandActionListener = new CommandActionListener(); 
O-8 

THE PNP COMMUNICATIONS CYCLE 

The PNP server communicates with clients in a synchronous cycle. As PNP advances time in the 

simulation, it will periodically reach a time at which messages need to be sent to its clients. At each time 

point when the PNP server needs to send messages, it will send the appropriate messages, send a 

heartbeat message to the clients, and wait for the receiving clients to respond. Only after all receiving 

clients have responded will the PNP server continue to advance time. This asynchronous communications 

cycle ensures repeatability of the simulation, and is illustrated in !
@. 

Figure 5. The PNP Communications Cycle 

Advance Time 

Send 

messages for 

interval 

Send 

heartbeat 

Wait for 

response 
O-9 

SIMOBJECTS API 

SimObjects is the PNP API. It uses TCP/IP to transfer messages between PNP and its clients. 

MESSAGING 

The SimObjects API consists of over forty messages, which are used to transfer data between PNP and its 

clients. 

Messages in PNP exist as Serializable Java classes named after the data they contain. 

PnpFlightDetails, for example, contains a list of flights and information pertaining to those flights. All 

message classes exist in the package pnp.share.network.messages. 

Please refer to the SimObjects API documentation for details on API messages. 

DYNAMIC CLIENTS 

Clients in PNP are referred to as dynamic because they can enter the simulation at any time. When 

connecting to PNP, each client specifies its configuration parameters, along with its data requirements. 

This provides for a flexible client/server architecture, where the server does not require advance 

knowledge of its clients, but can provide targeted data to each client based on its requirements. 
O-10 

CREATING A PNP JAVA CLIENT 

REQUIRED LIBRARIES 

The following libraries need to be included by a Java client. 

Library Use

pnp_common.jar Contains shared API messages

commons-logging-api.jar Used for error logging

commons-logging-av.jar Used for error logging

log4j-1.2.9.jar Used for logging

seagull-common.jar Contains many utility functions utilized by several API messages

seagull-position.jar Contains classes for defining position data 

seagull-units.jar Used by position classes for specifying position units

 
O-11 

CONNECTING TO PNP FROM A JAVA CLIENT 

Connecting a client to PNP is easy and requires only three steps. 

STEP 1: REGISTER FOR MESSAGES 

In order to connect and register with PNP, a client must create and send a list of message requests to PNP. 

These requests specify the messages PNP should send to the client, as well as how often each message 

should be sent. 

To create a message request, simply register for messages using the MessageRegistryManager singleton. 

Three parameters are required to register a message: 

The class of the API message object 

The interval, in minutes of simulation time, at which PNP is to send the message to the client 

An object implementing the ApiListener interface to invoke when the requested message type is 

received 

The ApiListener interface contains only one method, which will be called when the requested message is 

received. The only parameter of the actionPerformed method is the message object. The signature of the 

method is: 

 void actionPerformed(Object o); 

EXAMPLE 

The following example requests a list of all enroute flights every 15 minutes: 

 /** 

 * Register for messages desired to be received from PNP 

 */ 

 private void registerForMessages() 

 { 

 // We'd like to receive all messages at 15-minute intervals 

 int interval = 15; 

 

 MessageRegistryManager registry = MessageRegistryManager.instance(); 

 

 // Register for messages 

 registry.register(PnpEnrouteFlightDetails.class, interval, m_MessageHandler); 

 } 

 

In this example, m_MessageHandler is an ApiListener object. In your client, you may use the same 

ApiListener to handle many messages, or you may use different ApiListeners for different messages or sets 

of messages. It is up to you. 

STEP 2: CREATE A CLIENT CONFIGURATION OBJECT 

Now, you need to create a ClientConfiguration object to tell PNP a little bit about your client. Some 

rudimentary information is required, such as the name of your client, so that PNP knows how to list your 
O-12 

client in the System Monitor. Other settings in the configuration object are optional, and you may use 

these as required by your client. 

A full description of the methods in ClientConfiguration is available in the Javadoc for the API, available in 

the doc/ directory of your PNP release. 

To create a basic ClientConfiguration object, simply call the constructor of ClientConfiguration with the 

name of your client as the only parameter. 

 // Create a configuration object for this client 

 ClientConfiguration config = new ClientConfiguration("My First Client"); 

STEP 3: INITIALIZE THE CONNECTION 

Once the client configuration object has been created, the connection with the server can be initiated. To 

start the connection, simply create a PnpFlightDetailsDescr object and use it to call the init method to 

start the connection. 

The PnpFlightDetailsDescr object simply gives the PNP server some guidance as to what information to 

include in flight data sent from the server to the client. This allows the server to optimize network usage 

by not sending data to the client that the client doesn’t need. 

EXAMPLE 

The following example creates a PnpFlightDetailsDescr that requires that only the sector schedule data be 

filled out for flight objects sent by the server. 

 // Set up the flight details descriptor 

 PnpFlightDetailsDescr flightDetailsDescr = new PnpFlightDetailsDescr(); 

 flightDetailsDescr.setSectorScheduleFlag(true); 

 

At this point, we are ready to connect to the PNP server. To do this, simply call init: 

 // Connect to PNP 

 init(pnp_server_name, config, flightDetailsDescr); 

Here, pnp_server_name is the network name of the host computer on which PNP is running, and config is 

the ClientConfiguration object. 
O-13 

SENDING DATA FROM YOUR CLIENT 

Sending data from a client to the PNP server is easy. The OCMM contains a send method which will send 

any message to PNP. The message will be a Serializable object from the pnp.share.network.messages

package of PNP. 

Using the class from the previous section, the following method could be used to send messages back to 

PNP: 

private void send(Object message) 

{ 

m_Client.send(message); 

} 

RESPONDING TO PNP HEARTBEAT MESSAGES 

Once the PNP server has sent all requested messages to your client for the given interval, it will send a 

Heartbeat message to your client, and will await a response before moving the simulation forward. The 

purpose of this is to keep the simulation synchronous and repeatable. The client should only respond 

after it has processed all of the data it has received for that interval. 

To respond to the heartbeat message, the client need only send a HeartbeatResponse message to the 

server: 

send(new HeartbeatResponse())

INTERACTING WITH PNP 

A client can interact with PNP by modifying flights. PNP clients can delay or reroute flights, and the 

following sections explain how to do just that. 

THE BATCHRESPONSE MESSAGE 

All delays and reroutes are performed using the BatchResponse message. The BatchResponse message 

allows a client to specify which (if any) flights to delay or reroute. This message should be sent to PNP 

once the client has received a Heartbeat message and has done all of its processing. 

The BatchResponse message contains the following constructor: 

 public BatchResponse(int dstId, 

 Map<Integer, Short> delayMap, 

 Map<Integer, ReroutePlan> rerouteMap, 

 Map<Integer, ReroutePlan> inflightRerouteMap) 
O-14 

 { 

 m_DstId = dstId; 

 m_DelayMap = delayMap; 

 m_RerouteMap = rerouteMap; 

 m_InflightRerouteMap = inflightRerouteMap; 

 } 

DELAYING FLIGHTS 

The delay map in the BatchResponse is a map that is ordered by flight ID. Each flight ID maps to a short

value specifying the number of minutes by which to delay the flight. PNP will apply the specified delay to 

each flight in the delayMap provided. 

REROUTING FLIGHTS 

Flight reroutes fall into two categories: 

Pre-departure reroutes, applied to flights that have not yet departed 

Inflight reroutes, applied to flights that are already enroute 

As with delays, the maps specified for reroutes are keyed by flight ID. The ReroutePlan provided simply 

contains the new list of 3-dimensional positions, listed at one-minute intervals, for each flight. The 

rerouteMap specifies any pre-departure reroutes requested by the client. The inflightRerouteMap

specifies any inflight reroutes requested by the client. 

All reroutes requested by the client are implemented by PNP. 
O-15 

BEST PRACTICES FOR DEVELOPING PNP CLIENTS 

In order to make the best use possible of PNP and SimObjects, the following have been identified as best 

practices to follow when creating clients for PNP: 

Create separate threads for processing vs. connection management 

A PNP client performs whatever simulation tasks are appropriate for it. While it is performing this 

processing, it may need to send or receive messages from PNP. Keeping the communications 

handling code in a separate thread from the processing code allows messages to be sent and 

received while the processing code is running. This added flexibility significantly enhances the 

capability of any client developed in this way. 

Send all processing results to PNP before sending a HeartbeatResponse

A HeartbeatResponse tells PNP that your client has finished its processing. Once PNP has 

received this message, it continues advancing time, and will send a new set of messages to your 

client for processing. If the client has not finished sending its results to PNP before it receives the 

new data, the repeatability of the simulation may be affected, as the order in which messages 

are sent and received may change if the same simulation is run again. Additionally, if the client’s 

internal data are not cleared before the new data are received, the client may end up with 

incorrect data. To ensure against this, the client should wait until after sending all its results 

before sending the HeartbeatResponse message. 

 
O-16 

FACTORIES 

The SA client is software architecture is expandable through software factory patterns. The SA client has 

three factories built to allow for the implementation of different algorithms. 

SEPARATION ASSURANCE IMPLEMENTATION FACTORY 

The Separation Assurance Implementation Factory allows the user to create an interface that handles the 

processing of aircraft and CDR algorithms. 

public interface SeparationAssuranceInterface 

{ 

 public void process(ConflictDetectionInterface conflictDetection, 

 ConflictResolutionInterface conflictResolution, 

 int timestepInSeconds, 

long ts); 

 public void clear(); 

 public Map<Integer, ReroutePlan> getReroutes(); 

 public LosList getLosList(); 

 public ConflictList getConflictList(); 

} 

The process method passes the adapted CDR interfaces, trajectory time step between waypoints, and 

current timestamp. The clear method allows the implementation to clear its state data. The getRerotues 

method returns the reroutes to be passed on to the PNP server. The getLosList method returns the loss of 

separation events to be passed on to the PNP server for display on the PVD. The getConflictList method 

returns the loss of separation events to be passed on to the PNP server for display on the PVD. 

N-SQUARED INTERFACE 

The N-Squared interface compares every aircraft to every other aircraft using the adapted conflict 

detection and resolution factory interfaces. 

OWNSHIP 

The ownship interface compares the current aircraft (ownship) to every other aircraft (target aircraft) 

using the adapted conflict detection and resolution factory interfaces. 

SURVEILLANCE 

Surveillance separation assurance implementation was provided by the government and beyond the 

scope of this contract. 
O-17 

CONFLICT DETECTION FACTORY 

The Conflict Detection Factory allows the use to implement conflict detection algorithms. 

public interface ConflictDetectionInterface

{ 

 public List<DetectedConflict> detectConflicts(int ownshipFlightId, 

 List<FlightDetails> flights, 

 long ts); 

} 

The detectionConflicts method compares the trajectories of the ownship flight 

to that of the other flights over time based on the current timestamp. 

SENSIS CONFLICT DETECTION 

The Sensis Conflict Detection algorithm is a simple geo-distance comparison. The trajectory waypoints 

are compared based on position and time for an adaptable look a-head period. 

STRATWAY CONFLICT DETECTION 

The Stratway Conflict Detection algorithm is described in the Stratway v1.0 User Manual (NASA/TM-2011-

000000). 
O-18 

CONFLICT RESOLUTION FACTORY 

The Conflict Resolution Factory allows the use to implement conflict resolution algorithms. 

public interface ConflictResolutionInterface 

{ 

 public List<Resolution> computeConflictResolutionOptions( 

 FlightDetails ownship, 

 FlightDetails nextship, 

 DetectedConflict conflict, 

 long ts); 

} 

The computeConflictResolutionOptions method compares the trajectories of the 

ownship and target flight updating the DetectedConflict object and returning a 

list of resolutions based on the current timestamp. 

SENSIS CONFLICT RESOLUTION 

The Sensis Conflict Resolution algorithm is a simple four resolution approach. The algorithm attempts a 

speed deceleration, altitude decent, right turn, and left turn resolution. 

STRATWAY CONFLICT RESOLUTION 

The Stratway Conflict Resolution algorithm is described in the Stratway v1.0 User Manual (NASA/TM2011-000000). 
O-19 

GLOSSARY 

Term Definition 

API Application Programming Interface 

NAS National Airspace System 

OCMM Object Client Message Manager. Utility for managing a client’s data connection 

with PNP. 

PNP Probabilistic NAS Platform 

SimObjects The PNP API 

 
O-20 

APPENDIX A: CONFLICT DETECTION AND RESOLUTION 

Some client applications detect airspace conflicts, or imminent losses of separation between aircraft. The 

PNP Plan View Display (PVD) is capable of depicting conflicts, as well as losses of separation, when data on 

such events are supplied by a client. 

CONFLICT-RELATED API MESSAGES 

The PNP API contains two messages that may be used by clients for pointing out airspace conflicts and 

losses of separation. These are: 

 ConflictList

The ConflictList message contains a list of Conflict objects, each representing an imminent loss of 

separation between two aircraft. 

 LosList

The LosList message contains a list of LossOfSeparation objects, each representing a current loss 

of separation between two aircraft. 

Both of these messages are documented in the API JavaDoc documentation contained in the doc/ folder 

of your PNP release. 

DISPLAY OF CD&R INFORMATION 

When a conflict or loss of separation is sent from the client to the server, the server will display the 

conflict on the PVD for the duration of the time bin. This information is cleared by the server at the end of 

the time bin, at which it is allowed to expire if not re-sent by the client. This behavior exists because 

conflicts or losses of separation may be resolved during the time bin. Therefore, a client that detects 

conflicts and loss of separation (LOS) events must re-send all conflict and LOS information at every time 

bin during which the conditions are active. 
&




,
$

-

66

P-1 

Separation Assurance Client 

v1.1 

User Guide 

8/18/2011 

Sensis Corporation 

P-2 

Table of Contents 

INTRODUCTION ............................ 3

SCOPE ........................................................ 3

SOFTWARE ................................... 4

ARCHITECTURE ............................................. 4

DESIGN ....................................................... 4

SA .......................................................... 4 

MESSAGES .................................................. 6

Request Messages ................................ 6 

Response Messages .............................. 6 

EXPERIMENTS .............................. 7

DATA SETS ................................................... 7

Directories ............................................ 7 

Files....................................................... 7 

SA PARAMETERS .......................................... 7

PNP Parameters ................................... 7 

Control Parameters ............................. 8 

Knob Parameters ................................. 9 

Dataset Parameters ........................... 11 

Output Parameters ............................ 12 

Debug Parameters ............................. 13 

OUTPUTS .....................................14

REPORTS .................................................. 14

Summary Report ................................ 14 

Conflict report .................................... 16 

Detected Conflict report .................... 17 

Resolution report ............................... 17 

Delay Report ...................................... 19 

Unresolved Conflict Report ................ 20 

APPENDICES ............................................. 21

APPENDIX A: HITL 3D DEBUG PROCEDURE ... 21
&




,
$

-

66

P-3 

INTRODUCTION

The Separation Assurance Client (SA) is a platform to experiment with different conflict detection and 

resolution algorithms. The SA provides an interface for both conflict detection and resolution (CDR) 

algorithms. Currently two CDR algorithms have been integrated. One simple/fast CDR implementation 

provided by Sensis and the other by NASA Langley called Stratway. 

SCOPE 

This document guides the SA user in the design and execution of PNP simulations with an SA client. 

Topics covered include: 

 Software Overview 

 Configuring SA 

 Running SA 

 
&




,
$

-

66

P-4 

SOFTWARE 

ARCHITECTURE 

The SA is a client to the PNP server. The SA is dependent upon the PNP server for data and heartbeat 

messages. 

Figure 6. PNP/SA Architecture 

DESIGN 

SA 

The SA has four main responsibilities: communications, CDR, trajectory management, and statistics. The 

SA executive manages flights and calls the CDR algorithms. The SA communications thread establishes 

and maintains communications with the PNP server. The communications thread registers for messages 

with the PNP server. The communications thread requests the interval it would like to receive messages. 
&




,
$

-

66

P-5 

Figure 7. SA Design 
&




,
$

-

66

P-6 

MESSAGES 

The messages in the system are serialized objects. The following section identifies the current messages in 

the system. 

REQUEST MESSAGES 

Request Messages 

Message Type Source

PNP Enroute Flight Details Server

Command Requests Server

Heartbeat Server

RESPONSE MESSAGES 

Response Messages 

Message Type Source

LosList Client

ConflictList Client

ReroutePlan Client

Heartbeat Response Server
&




,
$

-

66

P-7 

EXPERIMENTS 

In order to include the SA in PNP experiment a SA configuration file must be created as described below. 

DATA SETS 

SA requires the following data sets. 

DIRECTORIES 

INI 

The ini subdirectory contains initialization files used to configure the SA. 

FILES 

SA PARAMETERS 

The SA parameters control the runtime attributes of the experiment. The parameters customize the CDR 

algorithms. 

The various SA parameters are specified in the SA initialization (.ini) file and are broken up into parameter 

sets. The following sections describe the SA parameter sets found in the SA initialization file. 

PNP PARAMETERS 

PNP parameters provide basic startup and initialization information for PNP launcher. These parameters 

do not typically change between experiments, and are meant to be used to standardize a set of runs and 

ensure that some basic parameters are used across several sets of runs. 

PNP Parameters
&




,
$

-

66

P-8 

Field Name Field Description Default Value

name The name parameter specifies the name of the client SA

component Specifies the type of component in the experiment. client

exec Specifies how PNP launcher will start the client. bin\\run.cmd sa 

hostname Specifies the component’s hostname localhost

param Specifies any additional parameters passed to the PNP 

launcher. 

none

CONTROL PARAMETERS 

Control parameters provide basic connection and initialization information for PNP Server. These 

parameters do not typically change between experiments, and are meant to be used to standardize a set 

of runs and ensure that some basic parameters are used across several sets of runs. 

Control Parameters

Field Name Field Description Default Value

pnpservername The pnpservername parameter specifies the hostname 

of the PNP server.

localhost

conflictdetectionimplementation The conflictdetectionimplementationparameter 

specifies the implementation name for the conflict 

detection algorithm.

sensis

conflictresolutionimplementation Specifies the implementation name for the conflict 

resolution algorithm.

sensis
&




,
$

-

66

P-9 

policy Specifies the flight request policy instructing the PNP 

how to package flights.

polygon – Instructs PNP to package flights in an area 

defined by separationassurancepolygon. 

Fleet Name – Instructs PNP to package flights by an 

Aircraft Id filter (example. – UAL). 

Ownship - Instructs PNP to package flights by Aircraft Id 

(example – UAL1076). 

nsquared

serverrequestinterval Specifies in minutes how often you want the requested 

message data. 

1

KNOB PARAMETERS 

Knobs represent a series of parameters that can be adjusted to tweak the behavior of the simulation. 

Knob Parameters

Field Name Field Description Default Value

separationassurancetime Specifies in minutes how far to look ahead in the 

trajectory .

2

minimumaltitudebound Specifies the minimum altitude of interest in which an 

aircraft is considered for SA.

1000

minimumhorizontalsepara

tion

Specifies the minimum horizontal separation distance in 

nautical miles between two aircraft 

5

minimumverticalseparatio

n

Specifies the minimum vertical separation distance in feet 

between two aircraft.

1000

departuredistance Specifies the distance in nautical miles away from the 

departure airport in which an aircraft is considered for SA. 

100
&




,
$

-

66

P-10

arrivaldistance Specifies the distance in nautical miles away from the 

arrival airport in which an aircraft is considered for SA.

100

trajectorytimestepinsecon

ds

Specifies the trajectory time step in seconds. 10

hitl Specifies the debug mode that allows a user to visualize 

the resolution before they are intrumented.

false

separationassurancepolyg

on

Specifies the polygon used when the policy is configured 

to polygon. (example - 34.8964/-95.03756,30.8964/-

95.03756,30.8964/-99.03756,34.8964/-99.03756) 

 
&




,
$

-

66

P-11

DATASET PARAMETERS 

The Dataset parameters control which files PNP uses as its source for weather and traffic data. Note that 

all directory definitions use the double-backslash (\\) to separate directories. Double backslashes are 

necessary for the proper operation of PNP. 

Dataset Parameters

Field Name Field Description Default Value

conflictdataset The Input File parameter is the 

directory and filename of the Flight 

Data Set (FDS) file containing all the 

planned flights for the debug 

simulation. 

\\ARCHIVE\\demandsets\\conflicts.csv 
&




,
$

-

66

P-12

OUTPUT PARAMETERS 

The Output parameters specify what data should be output by PNP. 

Output Parameters

Field Name Field Description Default Value

description A description of the experiment

outputpath Specifies where the output data is to be written data\\reports
&




,
$

-

66

P-13

DEBUG PARAMETERS 

The Output parameters specify what data should be output by PNP. 

Output Parameters

Field Name Field Description Default Value

debugCdr Specifies the debug flag to output cdr debug information false

 
&




,
$

-

66

P-14

OUTPUTS 

The SA generates several reports that can be used for analysis and post processing by other applications. 

These reports are described in the following sections. 

REPORTS 

SUMMARY REPORT 

The Summary Report is generated by the SA at the conclusion of an experiment. This report contains the 

following fields: 

 return "Conflicts,SolvedConflicts,UnresolvedConflicts,AvgTimeInConflict,%Success"; 

Field Description

Experiment The name of the experiment

#RightTurnResolutions Total number of right turn resolutions 

#LeftTurnResolutions Total number of left turn resolutions

#SpeedControlResolutions Total number of speed control resolutions

#AltitudeChangeResolutions Total number of altitude change resolutions

PosDelayMinutes The total minutes of flight time savings for in-flight reroutes that increase flight time 

negDelayMinutes The total minutes of flight time savings for in-flight reroutes that reduce flight time 

Conflicts Total number of conflicts.

SolvedConflicts Total number of resolutions accepted by SA algorithm. 

UnresolvedConflicts Total number of conflicts after implementing resolutions.

AvgTineInConflict Average time to solve a conflict.
&




,
$

-

66

P-15

%Success Resolution algorithm percentage solved.
&




,
$

-

66

P-16

CONFLICT REPORT 

The SA Conflict Report is generated by the SA after every SA session that there are conflicts. This report 

contains the following fields: 

Field Description

timestamp The timestamp of the SA session

#PreConflicts Total number of conflicts before performing SA.

#PreLOS Total number of loss of separation events before performing SA.

#Resolutions Total number of resolutions accepted by SA algorithm.

#SolvedConflicts Number of solved conflicts.

#PostConflicts Total number of conflicts after implementing resolutions. 

#PostLos Total number of loss of separation events after implementing resolutions.

%resolved Running percent conflicts resolved

TotalConflicts Total running conflicts

 
&




,
$

-

66

P-17

DETECTED CONFLICT REPORT 

The Detected Conflict Report is generated by the SA as conflicts are encountered. This report contains the 

following fields: 

Field Description

timestamp Timestamp of detected conflict

Aircraft Id Aircraft identifier

Flight Index Unique flight identifier assigned by PNP server flight manager.

AcType Aircraft type 

Orig Departure airport

Dest Arrival airport

Departure Time Timestamp when aircraft leaves the gate

Wheels Up time Timestamp when aircraft takes off

PosIdx Current position Index of 4D trajectory

ConflictType Future conflict or loss of separation event 

SecondsToLOS Seconds to loss of separation

SecondsToPCA Seconds to point of closest approach

SecondsToGOS Seconds to gain of separation

Delay Pre-departure delays 

#Maneuvers Number of manevers

RESOLUTION REPORT 
&




,
$

-

66

P-18

The Resolution Report is generated by the SA to perform resolution analysis. This report contains the 

following fields: 

Field Description

Aircraft Id Aircraft identifier

Flight Index Unique flight identifier assigned by PNP server flight manager.

Status Status of resolution: attempt, failed, n/a, or accepted. 

#Conflicts Number of conflicts after implementing this resolution

resolution Actual resolution
&




,
$

-

66

P-19

DELAY REPORT 

The Delay Report is generated by the SA. This report contains aircraft delay information. 

Field Description

Aircraft Id Aircraft identifier

Flight Index Unique flight identifier assigned by PNP server flight manager.

ResolutionType RIGHT_TURN, LEFT_TURN, SPEED_CONTROL, ALTITUDE_CHANGE.

PosDelayMinutes The total minutes of flight time savings for in-flight reroutes that increase flight time 

negDelayMinutes The total minutes of flight time savings for in-flight reroutes that reduce flight time 
&




,
$

-

66

P-20

UNRESOLVED CONFLICT REPORT 

The Unresolved Conflict Report is generated by the SA when the CDR algorithm cannot solve a conflict. 

This report contains aircraft delay information. 

Field Description

timestamp Timestamp of detected conflict

Ownship Flight Index Unique flight identifier assigned by PNP server flight manager.

Target Flight Index Unique flight identifier assigned by PNP server flight manager. 
&




,
$

-

66

P-21

APPENDICES 

APPENDIX A: HITL 3D DEBUG PROCEDURE 

1. Use conflict report to select specific conflict

2. Create a file demand set (\ARCHIVE\demandsets\conflict1.csv) with the two conflicting aircraft. 

Verify/update WheelsUpTime as a delay may have been assigned by PNP before departure.

3. Create sa_conflict1.ini file to include:

[knob] 

hitl = true 

[dataset] 

conflictdataset = \\ARCHIVE\\demandsets\\conflict1.csv 

4. Run SA standalone with sa_{description}.ini 

5. Use mouse toolbar buttons to manipulate 3D display.
0
,
$

-

66

Q-22

Required Time of Arrival 

(RTMX) Client 

v1.1 

User Guide 

6/26/2012 

Saab Sensis Corporation 

0
,
$

-

66

Q-2 

TABLE OF CONTENTS 

INTRODUCTION ................................................................................................. 3

SCOPE ........................................................................................................................................... 4

SOFTWARE ........................................................................................................ 5

ARCHITECTURE ................................................................................................................................ 5

DESIGN .......................................................................................................................................... 5

RTMX ....................................................................................................................................... 5 

MESSAGES ..................................................................................................................................... 7

Request Messages ................................................................................................................... 7 

Response Messages ................................................................................................................. 7 

EXPERIMENTS ................................................................................................... 9

DATA SETS ...................................................................................................................................... 9

Directories ............................................................................................................................... 9 

Files.......................................................................................................................................... 9 

RTA PARAMETERS ........................................................................................................................... 9

PNP Parameters ...................................................................................................................... 9 

Control Parameters ............................................................................................................... 10 

Knob Parameters ................................................................................................................... 10 

Dataset Parameters .............................................................................................................. 12 

Output Parameters ................................................................................................................ 13 

Debug Parameters................................................................................................................. 14 

OUTPUTS ..........................................................................................................15

REPORTS ...................................................................................................................................... 15

Summary Report.................................................................................................................... 15 

Maneuver report ................................................................................................................... 17 

Initial RTA report ................................................................................................................... 18 

Departure Spacing report ...................................................................................................... 20 

0
,
$

-

66

Q-3 

INTRODUCTION

The Required Time of Arrival Client (RTMX) is a platform to experiment with different spacing concepts. 

The departure spacing implementation is performed on pre-departures using airport capacities. RTA 

assignment is performed en-route based on the distance to the metering fix. When an aircraft enters the 

freeze horizon a RTA is assigned. The RTMX client continuously checks for RTA conformance as flights 

approach the metering fix. RTA reassignments occurs based on non-conformance. 

 
0
,
$

-

66

Q-4 

SCOPE 

This document guides the RTMX user in the design and execution of PNP simulations with a RTMX client. 

Topics covered include: 

 Software Overview 

 Configuring RTMX 

 Running RTMX 

 
0
,
$

-

66

Q-5 

SOFTWARE 

ARCHITECTURE 

The RTMX is a client to the PNP server. The RTMX is dependent upon the PNP server for data and 

heartbeat messages. 

Figure 8. PNP/ RTMX Architecture 

DESIGN 

RTMX 

The RTMX has four main responsibilities: communications, departure spacing, RTA assignment, and 

statistics. The RTMX executive manages flights and calls the spacing algorithms. The RTMX 

communications thread establishes and maintains communications with the PNP server. The 

communications thread registers for messages with the PNP server. The communications thread requests 

the interval it would like to receive messages. 
0
,
$

-

66

Q-6 

Airport 

Departure 

Spacing

update

START

Load User 

Specified 

Inputs

Wait?

User Specified 

Inputs

Heartbeat

Received?

Flight Data

Received?

Airport

Capacities 

Received?

END

message

yes

no no

update update

Flight Data 

Management

Airport 

Capacity 

Management

Send Batch 

Response

Send 

Heartbeat 

Response

Reroute/

Delay

Management

Initial RTAs

Assignment

RTA

Conformance

Monitoring

update

update

Figure 9. RTMX Design 
0
,
$

-

66

Q-7 

MESSAGES 

The messages in the system are serialized objects. The following section identifies the current messages in 

the system. 

REQUEST MESSAGES 

Request Messages 

Message Type Source

PNP AtGate Flight Details Server

PNP Enroute Flight Details Server

AirportCapacities Server

Command Requests Server

Heartbeat Server

RESPONSE MESSAGES 

Response Messages 

Message Type Source

BatchResponse Client

Heartbeat Response Server
0
,
$

-

66

Q-8 
0
,
$

-

66

Q-9 

EXPERIMENTS 

In order to include the RTMX in PNP experiment a RTMX configuration file must be created as described 

below. 

DATA SETS 

RTA requires the following data sets. 

DIRECTORIES 

INI 

The ini subdirectory contains initialization files used to configure the RTA. 

FILES 

RTA PARAMETERS 

The RTA parameters control the runtime attributes of the experiment. The parameters customize the 

weather avoidance concepts. 

The various RTA parameters are specified in the RTA initialization (.ini) file and are broken up into 

parameter sets. The following sections describe the RTA parameter sets found in the RTA initialization file. 

PNP PARAMETERS 

PNP parameters provide basic startup and initialization information for PNP launcher. These parameters 

do not typically change between experiments, and are meant to be used to standardize a set of runs and 

ensure that some basic parameters are used across several sets of runs. 

PNP Parameters

Field Name Field Description Default Value

name The name parameter specifies the name of the client RTA

component Specifies the type of component in the experiment. client
0
,
$

-

66

Q-10

exec Specifies how PNP launcher will start the client. bin\\run.cmd RTA 

hostname Specifies the component’s hostname localhost

param Specifies any additional parameters passed to the PNP 

launcher. 

none

CONTROL PARAMETERS 

Control parameters provide basic connection and initialization information for PNP Server. These 

parameters do not typically change between experiments, and are meant to be used to standardize a set 

of runs and ensure that some basic parameters are used across several sets of runs. 

Control Parameters

Field Name Field Description Default Value

pnpservername The pnpservername parameter specifies the hostname 

of the PNP server.

localhost

serverrequestinterval Specifies in minutes how often the client wants the 

requested message data. 

15

KNOB PARAMETERS 

Knobs represent a series of parameters that can be adjusted to tweak the behavior of the simulation. 

Knob Parameters

Field Name Field Description Default Value

speedcontrolspacing Specifies whether speed control maneuvering is enabled. true
0
,
$

-

66

Q-11

decentprofilespacing Specifies whether altitude change maneuvering is enabled. true

doglegspacing Specifies whether dogleg rerouting is enabled true

lookaheadminutes Specifies the look ahead in minutes for flights as 

candidates

120

rtalookaheadminutes Specifies the RTA look ahead in minutes for candidates 1440

rtatoleranceseconds Specifies the seconds of tolerance for a RTA. 5

freezerangehorizon Specifies the freezerange horizon distance in nautical 

miles.

300

meteringspacingseconds Specifies the seconds between flights at the metering fix. 45

 
0
,
$

-

66

Q-12

DATASET PARAMETERS 

The Dataset parameters control which files PNP uses as its source for weather and traffic data. Note that 

all directory definitions use the double-backslash (\\) to separate directories. Double backslashes are 

necessary for the proper operation of PNP. 

Dataset Parameters

Field Name Field Description Default Value
0
,
$

-

66

Q-13

OUTPUT PARAMETERS 

The Output parameters specify what data should be output by PNP. 

Output Parameters

Field Name Field Description Default Value

description A description of the experiment RTA

outputpath Specifies where the output data is to be written data\\reports
0
,
$

-

66

Q-14

DEBUG PARAMETERS 

The Output parameters specify what data should be output by PNP. 

Output Parameters

Field Name Field Description Default Value

 
0
,
$

-

66

Q-15

OUTPUTS 

The RTA generates several reports that can be used for analysis and post processing by other applications. 

These reports are described in the following sections. 

REPORTS 

SUMMARY REPORT 

The Summary Report is generated by the RTA at the conclusion of an experiment. This report contains the 

following fields: 

Field Description

Experiment The name of the experiment

TotalDepartures Total number of departures 

PreDepartureDelayCount The number of pre-departure reroutes 

PreDepartureDelay The total minutes of pre-departure delays 

AvgPreDepartureDelayCount Average delay per pre-departure delay 

PreDepartureRerouteCount The number of pre-departure reroutes 

PreDepartureRerouteDelay The total minutes of flight time added for pre-departure reroutes that increase flight 

time

PreDepartureRerouteNegativeDelay The total minutes of flight time savings for pre-departure reroutes that reduce flight 

time

PreDepartureRerouteAvgDelay Average flight time difference per pre-departure reroute 

InflightRerouteCount The number of in-flight reroutes 

InflightRerouteDelay The total minutes of flight time added for in-flight reroutes that increase flight time 
0
,
$

-

66

Q-16

InflightRerouteNegativeDelay The total minutes of flight time savings for in-flight reroutes that reduce flight time 

InflightRerouteAvgDelay Average flight time difference per in-flight reroute 

TotalDelayCount Total number of delay events 

TotalDelay Total minutes of flight time delay 

AvgDelay Average minutes of delay per departure 

Date Date of experiment
0
,
$

-

66

Q-17

MANEUVER REPORT 

The Maneuver Report is generated by the RTMX every interval session. This report contains the following 

fields: 

Field Description 

Experiment The name of the experiment

DecentProfileCount The number of speed control maneuvers.

DecentProfilePositiveDelay The positive delay of speed control maneuvers.

DecentProfileNegativeDelay The negative delay of speed control maneuvers. 

CruiseCasCount The number of altitude change maneuvers.

CruiseCasPositiveDelay The positive delay of altitude change maneuvers.

CruiseCasNegativeDelay The negative delay of altitude change maneuvers.

DogLegCount The number of dogleg reroute maneuvers. 

DogLegEnreroutePositiveDelay The positive delay of dogleg reroute maneuvers.

DogLegNegativeDelay The negative delay of dogleg reroute maneuvers.

 
0
,
$

-

66

Q-18

INITIAL RTA REPORT 

The Initial RTA Report is generated by the RTMX every interval session. This report contains the following 

fields: 

Field Description

timestamp The timestamp of the RTA session

flightIndex Unique flight identifier assigned by PNP server flight manager.

AircraftId Aircraft Identifier

Orig Flight origination

Dest Flight Destination 

meteringFix Assigned metering fix 

totalflightMinutes Total flight length in minutes

minutesFlown Flight minutes flown

wheelsUpTime The time when wheels are off the tarmac

initialRta Initial RTA assignment

earliestRta Earliest RTA assignment available for this maneuver 

latestRta Latest RTA assignment available for this maneuver

maneuver Maneuver description

implementationTime Time when RTA maneuver is implemented

rtaAssignment RTA assignment selected

newEta New Estimated time of arrival (wheels down) 

rtaDelay RTA Delay imposed by RTA assignment
0
,
$

-

66

Q-19

etaDelay ETA Delay imposed by RTA assignment

status SLOTTED – RTA assignment accepted assigned 

INFEASIBLE_REQUEST – aircraft not in aircraft window 

INITIAL_RTA_FORCED_SPACING – skip this slot to create space for future needs 

SUCCESS - RTA assignment found 

NO_SPOT_AVAILABLE – RTA assignment failure due to insufficient slots 
0
,
$

-

66

Q-20

DEPARTURE SPACING REPORT 

The Departure Spacing Report is generated by the RTMX to perform resolution analysis. This report 

contains the following fields: 

Field Description

timestamp The timestamp of the RTA session

flightIndex Unique flight identifier assigned by PNP server flight manager. 

AircraftId Aircraft Identifier

Orig Flight origination

Dest Flight Destination

meteringFix Assigned metering fix 

flightMinutes Total flight length in minutes

spacingSeconds Spacing seconds for origination airport

wheelsUpTime The time when wheels are off the tarmac 

rta Initial RTA assignment

wheelsDownTime The time when wheels are on the tarmac

delay ETA Delay imposed by departure spacing

status DEPARTURE_SPACING– departure spacing accepted assigned without delay 

DEPARTURE_FORCED_SPACING – departure spacing accepted assigned with delay 
REPORT DOCUMENTATION PAGE Form Approved

OMB No. 0704-0188

2. REPORT TYPE 

Contractor Report

 4. TITLE AND SUBTITLE

Upgrades to the Probabilistic NAS Platform Air Traffic Simulation 

Software 

5a. CONTRACT NUMBER

 NNL08AA17B

 6. AUTHOR(S)

Hunter, George; Boisvert, Benjamin

 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES)

NASA Langley Research Center 

Hampton, Virginia 23681 

 

 9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES)

National Aeronautics and Space Administration

Washington, DC 20546-0001

 8. PERFORMING ORGANIZATION

 REPORT NUMBER

10. SPONSOR/MONITOR'S ACRONYM(S)

NASA

13. SUPPLEMENTARY NOTES

Langley Technical Monitor: Ty V. Marien

12. DISTRIBUTION/AVAILABILITY STATEMENT

Unclassified - Unlimited

Subject Category 03

Availability: NASA CASI (443) 757-5802

19a. NAME OF RESPONSIBLE PERSON

STI Help Desk (email: help@sti.nasa.gov)

14. ABSTRACT

This document is the final report for the project entitled “Upgrades to the Probabilistic NAS Platform Air Traffic Simulation 

Software.” This report consists of 17 sections which document the results of the several subtasks of this effort. The 

Probabilistic NAS Platform (PNP) is an air operations simulation platform developed and maintained by the Saab Sensis 

Corporation. The improvements made to the PNP simulation include the following: an airborne distributed separation 

assurance capability, a required time of arrival assignment and conformance capability, and a tactical and strategic weather 

avoidance capability. 

15. SUBJECT TERMS

Air traffic simulation; Separation assurance; Terminal area modeling; Traffic flow management

18. NUMBER

 OF 

 PAGES

371

19b. TELEPHONE NUMBER (Include area code)

(443) 757-5802

a. REPORT

U

c. THIS PAGE

U

b. ABSTRACT

U

17. LIMITATION OF 

 ABSTRACT

UU

Prescribed by ANSI Std. Z39.18

Standard Form 298 (Rev. 8-98)

3. DATES COVERED (From - To)

5b. GRANT NUMBER

5c. PROGRAM ELEMENT NUMBER

5d. PROJECT NUMBER

5e. TASK NUMBER

 NNL10AC94T

5f. WORK UNIT NUMBER

305295.02.90.07.02.01 

11. SPONSOR/MONITOR'S REPORT

 NUMBER(S)

NASA/CR-2013-218008

16. SECURITY CLASSIFICATION OF:

The public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, 

gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this 

collection of information, including suggestions for reducing this burden, to Department of Defense, Washington Headquarters Services, Directorate for Information Operations and 

Reports (0704-0188), 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person 

shall be subject to any penalty for failing to comply with a collection of information if it does not display a currently valid OMB control number.

PLEASE DO NOT RETURN YOUR FORM TO THE ABOVE ADDRESS.

1. REPORT DATE (DD-MM-YYYY)

01- 06 - 2013