PLUG PLUG
Presentation Layer Universal Generator Presentation Layer Universal Generator
P&D/CSD/DCE P&D/CSD/DCE-
- TFP/AST
TFP/AST
A joint company of Thomson-CSF Airsys and Siemens
PLUG PLUG Presentation Layer Universal Generator Presentation - - PowerPoint PPT Presentation
PLUG PLUG Presentation Layer Universal Generator Presentation Layer Universal Generator P&D/CSD/DCE- -TFP/AST TFP/AST P&D/CSD/DCE A joint company of Thomson-CSF Airsys and Siemens OVERVIEW Compiler & Parser PLUG
A joint company of Thomson-CSF Airsys and Siemens
P&D/SSD/TCE/TFP/AST - 28/03/2004
2
Compiler & Parser PLUG (Presentation Layer Universal Generator) through
System specifications : IRS CORBA Migration Plug Integration Mock-Up PLUG Performances
* PATIO : Platform for ATM Tools Integration to Pre-operation
P&D/SSD/TCE/TFP/AST - 28/03/2004
3
Specification Language
Network
Node A Node B
IRS (IDL)
Struct message1 Item1 : short; Item2 : long; Item3 : char; Item4 : Boolean; Item4 : Struct data Item1 : :char; Item2 : long; Item3 : char; Item4 : Boolean Item4 : char; end struct data; end struct message1Communication Language Programming Language (C++) Programming Language (Ada)
P&D/SSD/TCE/TFP/AST - 28/03/2004
4
Abstract Syntax : specification language :
ASN.1, IDL, (ADA)
Working Syntax : programming language :
ADA, C, C++
Transfert (concrete) Syntax : communication
BER/PER, XDR, CDR, ASTERIX, ADEXP, ICAO
P&D/SSD/TCE/TFP/AST - 28/03/2004
5
ABSTRACT SYNTAX
Front End (FE)
TRANSFERT SYNTAX
Back End (BE)
P&D/SSD/TCE/TFP/AST - 28/03/2004
6
PLUG ASTERIX :
Radar, Meteo, Categorie XX
PLUG ADEXP :
Flight Plan, ATS, AIS, CFMU, IFPS,
PLUG ICAO :
Flight Plan, ATS, OLDI, ...
Tracks
Primary and secondary RADAR
P&D/SSD/TCE/TFP/AST - 28/03/2004
7
XDR
Stub Generator Coder Generator C Ada Ada API C Ada
(IDL)
(CDR) (IDL, C++)
P&D/SSD/TCE/TFP/AST - 28/03/2004
8
IFF
XDR/C generated encoding source files
Front End (lex/yacc)
Back End XDR/ADA generated encoding source files Ada Grammar (BNF) grammar analyze grammar analyze XDR Templates expansion XDR Templates expansion XDR Templates (TDL)
Ada API
Independant Format File Independant Format File Abstract Syntax Tree
P&D/SSD/TCE/TFP/AST - 28/03/2004
9
UBSS manages pipes not the semantic of
PLUG Coder are used to manage FIFO and CDC
Ada type specification is used as Specification
IRS documents are replaced by Ada specification
P&D/SSD/TCE/TFP/AST - 28/03/2004
10
FIFO Enqueue Dequeue
Type A Type B Type Simple 1 Type Simple 2 End Type B Type C Type Simple 1 Type Simple 3 Type D Type Simple 3 Type Simple 2 End Type D End Type C End Type A Type A Type B Type Simple 1 Type Simple 2 End Type B Type C Type Simple 1 Type Simple 3 Type D Type Simple 3 Type Simple 2 End Type D End Type C End Type AType Ada Type C
Ada XDR XDR C Call Back encoding routing
XDR buffer
Tools User Tools User
P&D/SSD/TCE/TFP/AST - 28/03/2004
11
Ada XDR XDR C
Type A Type B Type Simple 1 Type Simple 2 End Type B Type C Type Simple 1 Type Simple 3 Type D Type Simple 3 Type Simple 2 End Type D End Type C End Type A Type A Type B Type Simple 1 Type Simple 2 End Type B Type C Type Simple 1 Type Simple 3 Type D Type Simple 3 Type Simple 2 End Type D End Type C End Type AType Ada Type C
Call Back encoding routing
CDC CDC_write() CDC_read()
P&D/SSD/TCE/TFP/AST - 28/03/2004
12
Ada CSCI C CSCI XDR Ada Compiler C Compiler
P&D/SSD/TCE/TFP/AST - 28/03/2004
13
C/XDR Coder (C)
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
C structure
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9XDR Stream Ada/XDR Coder (Ada)
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
Ada structure
Interface Specification Abstract Syntax Transfert Syntax Programming Syntax Programming Syntax
P&D/SSD/TCE/TFP/AST - 28/03/2004
14
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G End struct Message type1
Ada or C structure
XDR Stream XDR Convertor
Elementary types are : Int, Char, float, Boolean Field 1 Field 2 Field 3 Field 4 Field 5 Header Type 1 A B C D E F G
Expansion : according to Data Types : 10 % to 20 %, XDR compress, 0,6 to 0,8 % according to data values
P&D/SSD/TCE/TFP/AST - 28/03/2004
15
C/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
C structure
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9XDR Stream Ada/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
Ada structure
Interface Specification C/XDR Coder Generator Ada to C Translator Ada/XDR Coder Generator Ada Package Specification (With)
P&D/SSD/TCE/TFP/AST - 28/03/2004
16
PLUG/XDR generates 5 Files : ADA :
C :
The Ada API header file (specification) is the API
P&D/SSD/TCE/TFP/AST - 28/03/2004
17
Ada API
.h .h .c .c .ads .ads .h .h .ads .ads .adb .adb
P&D/SSD/TCE/TFP/AST - 28/03/2004
18
Ada Program C Program XDR format disk file
PUT (Ada Type) GET ( Ada Type) read (C Type) write (C Type)
P&D/SSD/TCE/TFP/AST - 28/03/2004
19
C/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
C structure
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9XDR Stream C/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
C structure C/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
C structure
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9XDR Stream Ada/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
Ada structure Ada/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
Ada structure
Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9XDR Stream Ada/XDR Coder
Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G Field H Field I End struct Message Type1
Ada structure
P&D/SSD/TCE/TFP/AST - 28/03/2004
20
Symbolic trace and debug functions
Complex structure symbolic dump
Programming Language Translator
Ada to C, Ada to C++ Ada to IDL (CORBA Migration)
Off line and recording files management
XDR standard file format
P&D/SSD/TCE/TFP/AST - 28/03/2004
21
IFF
IDL Front End
CORBA IDL
ADa Front End
Ada API
ASN.1 Front End
ASN.1
CDR Back End CDR generated encoding source files XDR Back End XDR generated encoding source files BER/PER BE BER/PER generated encoding source files
P&D/SSD/TCE/TFP/AST - 28/03/2004
22
System IRS
P&D/SSD/TCE/TFP/AST - 28/03/2004
23
IRS = Ada specifications = Common
Radar Data Processing Radar Data Processing Flight Plan Processing Flight Plan Processing Controler Working Position Controler Working Position Radar Front Processing Radar Front Processing
Dual LAN FDDI AFTN/CIDIN ATFM ADJACENT FIR'S/TWR'S MET Centres RADAR
Controler Working Position Controler Working Position
System IRS (Ada)
Ada C, C++, Java
P&D/SSD/TCE/TFP/AST - 28/03/2004
24
CORBA MIGRATION : Ada To IDL translator System IRS ADA
P&D/SSD/TCE/TFP/AST - 28/03/2004
25
Time Time Event Event Life Cycle Life Cycle
Persistency Persistency
TP CP Secto
Flight
.......
ORB
CORBA
Radar Data Processing Radar Data Processing Flight Plan Processing Flight Plan Processing Controler Working Position Controler Working Position Radar Front Processing Radar Front Processing
Dual LAN FDDI AFTN/CIDIN ATFM ADJACENT FIR'S/TWR'S MET Centres RADARControler Working Position Controler Working Position
Ada C, C++, Java
APPLICATION (Ada) UBSS IIOP GIOP
IIOP
P&D/SSD/TCE/TFP/AST - 28/03/2004
26
ODS FPL IDENT CDCDB
CDC CDC CDC CDC
P&D/SSD/TCE/TFP/AST - 28/03/2004
27
Use Plug for FPL CDC Keep others CDC Adapt ODS for FPL Types Perform Test and Performances
P&D/SSD/TCE/TFP/AST - 28/03/2004
28
Usual Case : C Structure to XDR strings : 10 to 20 % XDR compress : 3200 Bytes = 2100 Bytes at 0,05 ms FPL CDC structure :
FPL Encoding duration : 195 micro seconde