Date post: | 09-Apr-2017 |
Category: |
Software |
Upload: | emmanuel-fuchs |
View: | 215 times |
Download: | 1 times |
PLUG PLUG Presentation Layer Universal GeneratorPresentation Layer Universal Generator
P&D/CSD/DCEP&D/CSD/DCE--TFP/ASTTFP/AST
A joint company of Thomson-CSF Airsys and Siemens
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20042
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
* PATIO : Platform for ATM Tools Integration to Pre-operation
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20043
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 : BooleanItem4 : char;
end struct data;end struct message1
Communication Language
ProgrammingLanguage (C++)
ProgrammingLanguage (Ada)
Communication Object Design
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20044
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
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20045
PLUG Compilers
� ABSTRACT SYNTAX� PLUG Ada RPC : API� PLUG ASN.1 : ATN� PLUG IDL : CORBA
Front End (FE)
� TRANSFERT SYNTAX� PLUG XDR : API� PLUG BER/PER : ATN� PLUG CDR : CORBA, ESIOP
Back End (BE)
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20046
PLUG Parsers
� PLUG ASTERIX : � Radar, Meteo, Categorie XX
� PLUG ADEXP : � Flight Plan, ATS, AIS, CFMU, IFPS,
OLDI
� PLUG ICAO : � Flight Plan, ATS, OLDI, ...
Tracks
Primaryand secondary RADAR
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20047
XDR
Stub Generator Coder Generator
C Ada
Ada API
C Ada
PLUG : Presentation Layer Universal Generator
(IDL)
(CDR)(IDL,C++)
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20048
PLUG Coder generator
IFF
XDR/C generatedencoding source files
Front End(lex/yacc)
Back End
XDR/ADA generatedencoding source files
AdaGrammar(BNF)
grammar analyzegrammar analyze
XDR Templatesexpansion
XDR Templatesexpansion
XDRTemplates
(TDL)
AdaAPI
IndependantFormat File
IndependantFormat File
Abstract Syntax Tree
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20049
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
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200410
Plug coder use : FIFO encode/decode
FIFOEnqueue Dequeue
Type AType BType Simple 1Type Simple 2
End Type BType CType Simple 1Type Simple 3Type D
Type Simple 3Type Simple 2
End Type DEnd Type C
End Type A
Type AType BType Simple 1Type Simple 2
End Type BType CType Simple 1Type Simple 3Type D
Type Simple 3Type Simple 2
End Type DEnd Type C
End Type A
Type Ada Type C
Ada
XDR
XDR
C
Call Back encoding routing
XDR buffer
ToolsUser Tools User
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200411
Plug coder use : CDC encode/decode
Ada
XDR
XDR
C
Type AType BType Simple 1Type Simple 2
End Type BType CType Simple 1Type Simple 3Type D
Type Simple 3Type Simple 2
End Type DEnd Type C
End Type A
Type AType BType Simple 1Type Simple 2
End Type BType CType Simple 1Type Simple 3Type D
Type Simple 3Type Simple 2
End Type DEnd Type C
End Type A
Type Ada Type CCall Back encoding routing
CDCCDC_write() CDC_read()
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200412
AdaCSCI
CCSCI
XDR
Ada Compiler C Compiler
XDR : How it works.
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200413
C/XDRCoder
(C)
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/XDRCoder(Ada)
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
Ada structure
InterfaceSpecification
Abstract Syntax
Transfert Syntax
Programming SyntaxProgramming Syntax
Object Message Passing Syntax
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200414
Coder : Structure Serialization
Struct Message Type 1 Field AField B
Field CField D
Field EField FField G
End struct Message type1
Ada or C structure
XDR Stream
XDR Convertor
Elementary types are : Int, Char, float, Boolean Field 1Field 2Field 3Field 4Field 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
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200415
C/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
Ada structure
InterfaceSpecification
C/XDRCoder
Generator
Ada to CTranslator
Ada/XDRCoder
Generator
Ada PackageSpecification
(With)
Code generation output
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200416
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.
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200417
PLUG Generated Files
AdaAPI
.h.h
.c.c
.ads.ads .h.h .ads.ads
.adb.adb
1 2 4
53Ada and C structure
Ada and C XDR Coder
=
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200418
Ada Program C ProgramXDR format disk file
PUT (Ada Type)
GET ( Ada Type)
read (C Type)
write (C Type)
Plug coder use : Off line file universal format
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200419
C/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamC/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
C structure
C/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
C structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
Ada structure
Ada/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
Ada structure
Field 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/XDRCoder
Struct Message Type 1 Field A
Field BField C
Field DField E
Field FField GField H
Field IEnd struct Message Type1
Ada structure
Coder context
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200420
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
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200421
IFF
IDL Front End
CORBAIDL
PLUG modularity
ADa Front End
AdaAPI
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
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200422
System Specifications : IRS
SystemIRS
Programming Types
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200423
IRS = Ada specifications = Common
Radar Data ProcessingRadar Data
Processing
Flight PlanProcessingFlight Plan
Processing
ControlerWorkingPosition
ControlerWorkingPosition
Radar FrontProcessingRadar Front
Processing
Dual LANFDDI
AFTN/CIDINATFM
ADJACENTFIR'S/TWR'S
MET Centres
RADAR
ControlerWorkingPosition
ControlerWorkingPosition
SystemIRS
(Ada)
Ada
C, C++, Java
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200424
CORBA MIGRATION : Ada To IDL translator
SystemIRSADA
SystemIRSIDL
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200425
ESIOP
TimeTime
EventEvent
LifeCycle
LifeCyclePersistency
Persistency
TP CP
Secto
Flight
.......
ORB CORBA
Radar Data Processing
Radar Data Processing
Flight PlanProcessing
Flight PlanProcessing
ControlerWorkingPosition
ControlerWorkingPosition
Radar FrontProcessing
Radar FrontProcessing
Dual LANFDDI
AFTN/CIDINATFM
ADJACENTFIR'S/TWR'S
MET Centres
RADAR
ControlerWorkingPosition
ControlerWorkingPosition
Ada
C, C++, Java
APPLICATION(Ada)
UBSS
IIOP
GIOP
IIOP
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200426
PLUG Integration Mock-Up
ODS
FPL
IDENT
CDCDB
CDC
CDCCDC
CDC
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200427
Mock-up Scenario
� Use Plug for FPL CDC� Keep others CDC� Adapt ODS for FPL Types� Perform Test and Performances
Evaluation Evaluate Adaptation Effort for all CDCs
E. F
UC
HS
plug
.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200428
PLUG Performances
� Usual Case : C Structure to XDR strings : 10 to 20 %� XDR compress : 3200 Bytes = 2100 Bytes at 0,05 ms
� FPL CDC structure :� Current size : 2460 Bytes� Common FPL Ada record XDR Strings : 3250 Bytes� Expansion : 33 %
� FPL Encoding duration : 195 micro seconde