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 (Presentation Layer Universal Generator) through applications : Coder generation : Object Message Passing � � System specifications : IRS � CORBA Migration � Plug Integration Mock-Up � PLUG Performances plug.ppt E. FUCHS * PATIO : Platform for ATM Tools Integration to Pre-operation 2 P&D/SSD/TCE/TFP/AST - 28/03/2004
Communication Object Design Specification Language Programming Programming Language (Ada) Language (C++) 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 message1 Node A Communication Language Node B plug.ppt Network E. FUCHS 3 P&D/SSD/TCE/TFP/AST - 28/03/2004
Syntax and Language � Abstract Syntax : specification language : � ASN.1, IDL , (ADA ) � Working Syntax : programming language : � ADA, C, C++ � Transfert (concrete) Syntax : communication language : � BER/PER , XDR, CDR, � ASTERIX, ADEXP, ICAO plug.ppt E. FUCHS 4 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG Compilers � ABSTRACT SYNTAX � TRANSFERT SYNTAX PLUG Ada RPC : API PLUG XDR : API � � PLUG ASN.1 : ATN PLUG BER/PER : ATN � � PLUG IDL : CORBA PLUG CDR : CORBA, ESIOP � � Front End (FE) Back End (BE) plug.ppt E. FUCHS 5 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG Parsers Tracks � PLUG ASTERIX : Primary � Radar, Meteo, Categorie XX and secondary RADAR � PLUG ADEXP : � Flight Plan, ATS, AIS , CFMU, IFPS, OLDI � PLUG ICAO : � Flight Plan, ATS, OLDI, ... plug.ppt E. FUCHS 6 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG : Presentation Layer Universal Generator Ada API (IDL) (IDL, Stub Generator Coder Generator (CDR) C++) XDR C Ada C Ada plug.ppt E. FUCHS 7 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG Coder generator Ada API grammar analyze grammar analyze Ada Front End Grammar (lex/yacc) (BNF) Independant Independant Format File Format File IFF Abstract Syntax Tree XDR Templates XDR Templates expansion expansion XDR Back End Templates (TDL) XDR/C generated XDR/ADA generated encoding source files encoding source files plug.ppt E. FUCHS 8 P&D/SSD/TCE/TFP/AST - 28/03/2004
Object message passing with PLUG � UBSS manages pipes not the semantic of transported messages � PLUG Coder are used to manage FIFO and CDC messages. � Ada type specification is used as Specification input file (AS) � IRS documents are replaced by Ada specification plug.ppt E. FUCHS 9 P&D/SSD/TCE/TFP/AST - 28/03/2004
Plug coder use : FIFO encode/decode Enqueue Dequeue FIFO Type Ada Type C Type A Type B Type A Type Simple 1 Type B Type Simple 2 Type Simple 1 End Type B Type Simple 2 Type C End Type B Type Simple 1 Type C Type Simple 3 Type Simple 1 Type D Type Simple 3 Type Simple 3 Type D Type Simple 2 Type Simple 3 End Type D Type Simple 2 End Type C End Type D End Type A End Type C End Type A Ada XDR XDR buffer XDR C Call Back encoding routing User Tools Tools User plug.ppt E. FUCHS 10 P&D/SSD/TCE/TFP/AST - 28/03/2004
Plug coder use : CDC encode/decode Type Ada Type C Call Back encoding routing Type A Type B Type A Type Simple 1 Type B Type Simple 2 Type Simple 1 End Type B Type Simple 2 Type C End Type B Type Simple 1 Type C Type Simple 3 Type Simple 1 Type D Type Simple 3 Type Simple 3 Type D Type Simple 2 Type Simple 3 End Type D Type Simple 2 End Type C End Type D End Type A End Type C End Type A Ada XDR XDR C CDC CDC_write() CDC_read() plug.ppt E. FUCHS 11 P&D/SSD/TCE/TFP/AST - 28/03/2004
XDR : How it works. Ada Compiler C Compiler XDR Ada C CSCI CSCI plug.ppt E. FUCHS 12 P&D/SSD/TCE/TFP/AST - 28/03/2004
Object Message Passing Syntax Abstract Syntax Interface Specification Programming Syntax Programming Syntax Ada structure C structure Struct Message Type 1 Struct Message Type 1 Field A Field A Field B Ada/XDR XDR Stream C/XDR Field B Field C Field C Field D Field D Coder Coder Field 9 Field 8 Field 7 Field 6 Field 5 Field 4 Field 3 Field 2 Field 1 Field E Field E Field F Field F (Ada) (C) Field G Field G Field H Field H Field I Field I End struct Message End struct Message Type1 Type1 Transfert Syntax plug.ppt E. FUCHS 13 P&D/SSD/TCE/TFP/AST - 28/03/2004
Coder : Structure Serialization Type 1 A B E Ada or C structure C D F G XDR Convertor Struct Message Type 1 Field A Field B Field C Field D Field E Field F Field G End struct Message type1 Field 5 Field 4 Field 3 Field 2 Field 1 Header Elementary types are : Int, Char, float, Boolean Expansion : according to Data Types : 10 % to 20 %, plug.ppt XDR Stream E. FUCHS XDR compress, 0,6 to 0,8 % according to data values 14 P&D/SSD/TCE/TFP/AST - 28/03/2004
Code generation output Interface Ada Package Specification Specification (With) Ada/XDR C/XDR Ada to C Coder Coder Translator Generator Generator Ada structure C structure Struct Message Type 1 Struct Message Type 1 Field A Field A Field B XDR Stream Field B Field C Ada/XDR C/XDR Field C Field D Field D Field 9 Field 8 Field 7 Field 6 Field 5 Field 4 Field 3 Field 2 Field 1 Field E Field E Coder Coder Field F Field F Field G Field G Field H Field H Field I Field I End struct Message End struct Message Type1 Type1 plug.ppt E. FUCHS 15 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG Generated Files � PLUG/XDR generates 5 Files : � ADA : 1. Coder specification (.ads) � 2. Coder body (.adb) � � C : 3. API header file (.h) � 4. Coder specification (.h) � 5. Coder body (.c) � � The Ada API header file (specification) is the API specification itself. plug.ppt E. FUCHS 16 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG Generated Files Ada API = 1 2 4 .ads .h .ads .h .ads .h .ads .h Ada and C structure 3 5 .adb .c .adb .c Ada and C XDR Coder plug.ppt E. FUCHS 17 P&D/SSD/TCE/TFP/AST - 28/03/2004
Plug coder use : Off line file universal format Ada Program XDR format disk file C Program PUT (Ada Type) read (C Type) write (C Type) GET ( Ada Type) plug.ppt E. FUCHS 18 P&D/SSD/TCE/TFP/AST - 28/03/2004
Coder context Ada structure C structure Struct Message Type 1 Struct Message Type 1 Field A Field A Field B Field B XDR Stream Field C Ada/XDR C/XDR Field C Field D Field D Field 9 Field 8 Field 7 Field 6 Field 5 Field 4 Field 3 Field 2 Field 1 Field E Field E Coder Coder Field F Field F Field G Field G Field H Field H Field I Field I End struct Message End struct Message Type1 Type1 Ada structure Ada structure Struct Message Type 1 Struct Message Type 1 Field A Field A Field B Field B XDR Stream Field C Field C Ada/XDR Ada/XDR Field D Field D Field 9 Field 8 Field 7 Field 6 Field 5 Field 4 Field 3 Field 2 Field 1 Field E Field E Coder Coder Field F Field F Field G Field G Field H Field H Field I Field I End struct Message End struct Message Type1 Type1 C structure C structure Struct Message Type 1 Struct Message Type 1 Field A Field A Field B Field B XDR Stream Field C Field C C/XDR C/XDR Field D Field D Field 9 Field 8 Field 7 Field 6 Field 5 Field 4 Field 3 Field 2 Field 1 Field E Field E Coder Coder Field F Field F Field G Field G Field H Field H Field I Field I End struct Message End struct Message plug.ppt Type1 Type1 E. FUCHS 19 P&D/SSD/TCE/TFP/AST - 28/03/2004
Plug other possible applications � 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 plug.ppt E. FUCHS 20 P&D/SSD/TCE/TFP/AST - 28/03/2004
PLUG modularity Ada CORBA ASN.1 API IDL ADa Front End IDL Front End ASN.1 Front End IFF XDR Back End CDR Back End BER/PER BE XDR generated CDR generated BER/PER generated encoding source files encoding source files encoding source files plug.ppt E. FUCHS 21 P&D/SSD/TCE/TFP/AST - 28/03/2004
System Specifications : IRS System IRS Programming Types plug.ppt E. FUCHS 22 P&D/SSD/TCE/TFP/AST - 28/03/2004
IRS = Ada specifications = Common System RADAR IRS (Ada) AFTN/CIDIN ATFM ADJACENT FIR'S/TWR'S MET Centres Radar Front Radar Data Flight Plan Radar Front Processing Radar Data Processing Flight Plan Processing Ada Processing Processing Processing Dual LAN FDDI Controler Controler Controler Controler Working Working Working Working Position Position Position Position C, C++, Java plug.ppt E. FUCHS 23 P&D/SSD/TCE/TFP/AST - 28/03/2004
CORBA MIGRATION : Ada To IDL translator System System IRS IRS ADA IDL plug.ppt E. FUCHS 24 P&D/SSD/TCE/TFP/AST - 28/03/2004
Recommend
More recommend