SlideShare a Scribd company logo
PLUGPLUG
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.FUCHS
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.FUCHS
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 : Boolean
Item4 : char;
end struct data;
end struct message1
Communication Language
Programming
Language (C++)
Programming
Language (Ada)
Communication Object Design
E.FUCHS
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.FUCHS
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.FUCHS
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
Primary
and secondary RADAR
E.FUCHS
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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/20048
PLUG Coder generator
IFF
XDR/C generated
encoding source files
Front End
(lex/yacc)
Back End
XDR/ADA generated
encoding source files
Ada
Grammar
(BNF)
grammar analyzegrammar analyze
XDR Templates
expansion
XDR Templates
expansion
XDR
Templates
(TDL)
Ada
API
Independant
Format File
Independant
Format File
Abstract Syntax Tree
E.FUCHS
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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200410
Plug coder use : FIFO encode/decode
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 A
Type Ada Type C
Ada
XDR
XDR
C
Call Back encoding routing
XDR buffer
ToolsUser Tools User
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200411
Plug coder use : CDC encode/decode
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 A
Type Ada Type C
Call Back encoding routing
CDC
CDC_write() CDC_read()
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200412
Ada
CSCI
C
CSCI
XDR
Ada Compiler C Compiler
XDR : How it works.
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200413
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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR StreamAda/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 SyntaxProgramming Syntax
Object Message Passing Syntax
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200414
Coder : Structure Serialization
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 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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200415
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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR 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)
Code generation output
E.FUCHS
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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200417
PLUG Generated Files
Ada
API
.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.FUCHS
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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200419
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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9
XDR 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
Coder context
E.FUCHS
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.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200421
IFF
IDL Front End
CORBA
IDL
PLUG modularity
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
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200422
System Specifications : IRS
System
IRS
Programming Types
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200423
IRS = Ada specifications = Common
Radar Data
ProcessingRadar Data
Processing
Flight Plan
ProcessingFlight Plan
Processing
Controler
Working
Position
Controler
Working
Position
Radar Front
ProcessingRadar 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
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200424
CORBA MIGRATION : Ada To IDL translator
System
IRS
ADA
System
IRS
IDL
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200425
ESIOP
Time
Time
Event
Event
Life
Cycle
Life
CyclePersistency
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
RADAR
Controler
Working
Position
Controler
Working
Position
Ada
C, C++, Java
APPLICATION
(Ada)
UBSS
IIOP
GIOP
IIOP
E.FUCHS
plug.ppt
P&D/SSD/TCE/TFP/AST - 28/03/200426
PLUG Integration Mock-Up
ODS
FPL
IDENT
CDCDB
CDC
CDCCDC
CDC
E.FUCHS
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.FUCHS
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

More Related Content

What's hot

RProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for RRProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for R
Romain Francois
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languages
Akhila Rahul
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C Language
Tarun Sharma
 
Notes of programming
Notes of programmingNotes of programming
Notes of programming
Bilal Maqbool ツ
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
amol_chavan
 
Unit i
Unit iUnit i
Unit i
vijay gupta
 
C fundamentals
C fundamentalsC fundamentals
C fundamentals
Vikash Dhal
 
Grasp the Critical Issues for a Functioning JESD204B Interface
Grasp the Critical Issues for a Functioning JESD204B InterfaceGrasp the Critical Issues for a Functioning JESD204B Interface
Grasp the Critical Issues for a Functioning JESD204B Interface
Analog Devices, Inc.
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
Malikireddy Bramhananda Reddy
 
Introduction to c_language
Introduction to c_languageIntroduction to c_language
Introduction to c_language
Way2itech
 
Programmable Logic Devices
Programmable Logic DevicesProgrammable Logic Devices
Programmable Logic Devices
anand hd
 
C programming
C programmingC programming
C programming
Rounak Samdadia
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bank
ArthyR3
 
introduction to c language
 introduction to c language introduction to c language
introduction to c language
Rai University
 
C Language
C LanguageC Language
C Language
Aakash Singh
 
C language preliminaries
C language preliminariesC language preliminaries
C language preliminaries
Dr. Abhineet Anand
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
Hemantha Kulathilake
 
Cp viva q&a
Cp viva q&aCp viva q&a
Cp viva q&a
jagadeesh matlab
 
Itc chapter # 8
Itc   chapter # 8Itc   chapter # 8
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
jamieayre
 

What's hot (20)

RProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for RRProtoBuf: protocol buffers for R
RProtoBuf: protocol buffers for R
 
Hardware description languages
Hardware description languagesHardware description languages
Hardware description languages
 
Introduction to C Language
Introduction to C LanguageIntroduction to C Language
Introduction to C Language
 
Notes of programming
Notes of programmingNotes of programming
Notes of programming
 
Introduction to c
Introduction to cIntroduction to c
Introduction to c
 
Unit i
Unit iUnit i
Unit i
 
C fundamentals
C fundamentalsC fundamentals
C fundamentals
 
Grasp the Critical Issues for a Functioning JESD204B Interface
Grasp the Critical Issues for a Functioning JESD204B InterfaceGrasp the Critical Issues for a Functioning JESD204B Interface
Grasp the Critical Issues for a Functioning JESD204B Interface
 
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
C notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit orderC notes by m v b  reddy(gitam)imp  notes  all units notes  5 unit order
C notes by m v b reddy(gitam)imp notes all units notes 5 unit order
 
Introduction to c_language
Introduction to c_languageIntroduction to c_language
Introduction to c_language
 
Programmable Logic Devices
Programmable Logic DevicesProgrammable Logic Devices
Programmable Logic Devices
 
C programming
C programmingC programming
C programming
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bank
 
introduction to c language
 introduction to c language introduction to c language
introduction to c language
 
C Language
C LanguageC Language
C Language
 
C language preliminaries
C language preliminariesC language preliminaries
C language preliminaries
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
 
Cp viva q&a
Cp viva q&aCp viva q&a
Cp viva q&a
 
Itc chapter # 8
Itc   chapter # 8Itc   chapter # 8
Itc chapter # 8
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
 

Similar to PLUG : Presentation Layer Universal Generator

PLUG code generation tool
PLUG code generation toolPLUG code generation tool
PLUG code generation tool
Emmanuel Fuchs
 
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
ADLINK Technology IoT
 
SCL
SCLSCL
SCL
ESUG
 
Utel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring SystemUtel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring System
fgorseth
 
Asterisk Passive Voice Loggers
Asterisk Passive Voice LoggersAsterisk Passive Voice Loggers
Asterisk Passive Voice Loggers
CaudalFin Technologies
 
Catálogo DDC con bus de datos y software para aeronáutica
Catálogo DDC con bus de datos y software para aeronáuticaCatálogo DDC con bus de datos y software para aeronáutica
Catálogo DDC con bus de datos y software para aeronáutica
Marketing Donalba
 
gayathri.p.pptx
gayathri.p.pptxgayathri.p.pptx
gayathri.p.pptx
GayathriP95
 
Bus de datos y Software de DDC
Bus de datos y Software de DDCBus de datos y Software de DDC
Bus de datos y Software de DDC
Marketing Donalba
 
DrazenGrasovec_CV
DrazenGrasovec_CVDrazenGrasovec_CV
DrazenGrasovec_CV
dra?en gra?ovec
 
5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace
MEN Mikro Elektronik GmbH
 
5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace
MEN Micro
 
Surf Communication Solutions - Voice Video Gw
Surf Communication Solutions - Voice Video GwSurf Communication Solutions - Voice Video Gw
Surf Communication Solutions - Voice Video Gw
Surf Communication Solutions, Ltd.
 
Vivek Kotwal Resume
Vivek Kotwal ResumeVivek Kotwal Resume
Vivek Kotwal Resume
Vivek Kotwal
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
Remedy IT
 
Packet-to-Packet Applications
Packet-to-Packet ApplicationsPacket-to-Packet Applications
Packet-to-Packet Applications
Videoguy
 
Surf Communication Solutions - Packet To Packet Apps
Surf Communication Solutions - Packet To Packet AppsSurf Communication Solutions - Packet To Packet Apps
Surf Communication Solutions - Packet To Packet Apps
Surf Communication Solutions, Ltd.
 
Communication Protocols Augmentation in VLSI Design Applications
Communication Protocols Augmentation in VLSI Design ApplicationsCommunication Protocols Augmentation in VLSI Design Applications
Communication Protocols Augmentation in VLSI Design Applications
IJERA Editor
 
Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink
Enrico Canzonieri
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019
Kentaro Ebisawa
 
Building Voice
Building Voice Building Voice
Building Voice
Videoguy
 

Similar to PLUG : Presentation Layer Universal Generator (20)

PLUG code generation tool
PLUG code generation toolPLUG code generation tool
PLUG code generation tool
 
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
Spectra IP Core ORB - high-performance, low-latency solution for FPGA-GPP com...
 
SCL
SCLSCL
SCL
 
Utel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring SystemUtel Systems - Stinga Monitoring System
Utel Systems - Stinga Monitoring System
 
Asterisk Passive Voice Loggers
Asterisk Passive Voice LoggersAsterisk Passive Voice Loggers
Asterisk Passive Voice Loggers
 
Catálogo DDC con bus de datos y software para aeronáutica
Catálogo DDC con bus de datos y software para aeronáuticaCatálogo DDC con bus de datos y software para aeronáutica
Catálogo DDC con bus de datos y software para aeronáutica
 
gayathri.p.pptx
gayathri.p.pptxgayathri.p.pptx
gayathri.p.pptx
 
Bus de datos y Software de DDC
Bus de datos y Software de DDCBus de datos y Software de DDC
Bus de datos y Software de DDC
 
DrazenGrasovec_CV
DrazenGrasovec_CVDrazenGrasovec_CV
DrazenGrasovec_CV
 
5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace
 
5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace5 Things to Know about Safety-Critical Applications in Aerospace
5 Things to Know about Safety-Critical Applications in Aerospace
 
Surf Communication Solutions - Voice Video Gw
Surf Communication Solutions - Voice Video GwSurf Communication Solutions - Voice Video Gw
Surf Communication Solutions - Voice Video Gw
 
Vivek Kotwal Resume
Vivek Kotwal ResumeVivek Kotwal Resume
Vivek Kotwal Resume
 
CORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorialCORBA Programming with TAOX11/C++11 tutorial
CORBA Programming with TAOX11/C++11 tutorial
 
Packet-to-Packet Applications
Packet-to-Packet ApplicationsPacket-to-Packet Applications
Packet-to-Packet Applications
 
Surf Communication Solutions - Packet To Packet Apps
Surf Communication Solutions - Packet To Packet AppsSurf Communication Solutions - Packet To Packet Apps
Surf Communication Solutions - Packet To Packet Apps
 
Communication Protocols Augmentation in VLSI Design Applications
Communication Protocols Augmentation in VLSI Design ApplicationsCommunication Protocols Augmentation in VLSI Design Applications
Communication Protocols Augmentation in VLSI Design Applications
 
Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink Stream processing for the masses with beam, python and flink
Stream processing for the masses with beam, python and flink
 
In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019In Network Computing Prototype Using P4 at KSC/KREONET 2019
In Network Computing Prototype Using P4 at KSC/KREONET 2019
 
Building Voice
Building Voice Building Voice
Building Voice
 

More from Emmanuel Fuchs

Distributed Object Systems
Distributed Object SystemsDistributed Object Systems
Distributed Object Systems
Emmanuel Fuchs
 
CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004
Emmanuel Fuchs
 
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture DescriptionAnootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
Emmanuel Fuchs
 
Book Recommendations
 Book Recommendations Book Recommendations
Book Recommendations
Emmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
Emmanuel Fuchs
 
UBSS : Unix Based System Software
UBSS : Unix Based System SoftwareUBSS : Unix Based System Software
UBSS : Unix Based System Software
Emmanuel Fuchs
 
ISORC 1999 Panel III
ISORC 1999 Panel IIIISORC 1999 Panel III
ISORC 1999 Panel III
Emmanuel Fuchs
 
ISORC’99
ISORC’99ISORC’99
ISORC’99
Emmanuel Fuchs
 
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Emmanuel Fuchs
 
Distributed Object Computing
Distributed Object ComputingDistributed Object Computing
Distributed Object Computing
Emmanuel Fuchs
 
Hash map
Hash mapHash map
Hash map
Emmanuel Fuchs
 
ATM system history
ATM system historyATM system history
ATM system history
Emmanuel Fuchs
 
Middleware
MiddlewareMiddleware
Middleware
Emmanuel Fuchs
 
EUROCAT
EUROCATEUROCAT
Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2
Emmanuel Fuchs
 
01_Program
01_Program01_Program
01_Program
Emmanuel Fuchs
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
Emmanuel Fuchs
 
Civil Military Coordination
Civil Military CoordinationCivil Military Coordination
Civil Military Coordination
Emmanuel Fuchs
 

More from Emmanuel Fuchs (20)

Distributed Object Systems
Distributed Object SystemsDistributed Object Systems
Distributed Object Systems
 
CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004
 
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture DescriptionAnootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
 
Book Recommendations
 Book Recommendations Book Recommendations
Book Recommendations
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
UBSS2
UBSS2UBSS2
UBSS2
 
UBSS : Unix Based System Software
UBSS : Unix Based System SoftwareUBSS : Unix Based System Software
UBSS : Unix Based System Software
 
ISORC 1999 Panel III
ISORC 1999 Panel IIIISORC 1999 Panel III
ISORC 1999 Panel III
 
ISORC’99
ISORC’99ISORC’99
ISORC’99
 
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
 
Distributed Object Computing
Distributed Object ComputingDistributed Object Computing
Distributed Object Computing
 
Hash map
Hash mapHash map
Hash map
 
ATM system history
ATM system historyATM system history
ATM system history
 
Middleware
MiddlewareMiddleware
Middleware
 
photoISEN 1987
photoISEN 1987photoISEN 1987
photoISEN 1987
 
EUROCAT
EUROCATEUROCAT
EUROCAT
 
Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2
 
01_Program
01_Program01_Program
01_Program
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
 
Civil Military Coordination
Civil Military CoordinationCivil Military Coordination
Civil Military Coordination
 

Recently uploaded

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 

Recently uploaded (20)

Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 

PLUG : Presentation Layer Universal Generator

  • 1. PLUGPLUG 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
  • 2. E.FUCHS 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
  • 3. E.FUCHS 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 : Boolean Item4 : char; end struct data; end struct message1 Communication Language Programming Language (C++) Programming Language (Ada) Communication Object Design
  • 4. E.FUCHS 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
  • 5. E.FUCHS 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)
  • 6. E.FUCHS 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 Primary and secondary RADAR
  • 7. E.FUCHS 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++)
  • 8. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/20048 PLUG Coder generator IFF XDR/C generated encoding source files Front End (lex/yacc) Back End XDR/ADA generated encoding source files Ada Grammar (BNF) grammar analyzegrammar analyze XDR Templates expansion XDR Templates expansion XDR Templates (TDL) Ada API Independant Format File Independant Format File Abstract Syntax Tree
  • 9. E.FUCHS 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
  • 10. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200410 Plug coder use : FIFO encode/decode 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 A Type Ada Type C Ada XDR XDR C Call Back encoding routing XDR buffer ToolsUser Tools User
  • 11. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200411 Plug coder use : CDC encode/decode 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 A Type Ada Type C Call Back encoding routing CDC CDC_write() CDC_read()
  • 13. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200413 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9 XDR StreamAda/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 SyntaxProgramming Syntax Object Message Passing Syntax
  • 14. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200414 Coder : Structure Serialization 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 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
  • 15. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200415 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9 XDR 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) Code generation output
  • 16. E.FUCHS 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.
  • 17. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200417 PLUG Generated Files Ada API .h.h .c.c .ads.ads .h.h .ads.ads .adb.adb 1 2 4 53Ada and C structure Ada and C XDR Coder =
  • 18. E.FUCHS 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
  • 19. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200419 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9 XDR 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9 XDR 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 1Field 2Field 3Field 4Field 5Field 6Field 7Field 8Field 9 XDR 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 Coder context
  • 20. E.FUCHS 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
  • 21. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200421 IFF IDL Front End CORBA IDL PLUG modularity 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
  • 22. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200422 System Specifications : IRS System IRS Programming Types
  • 23. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200423 IRS = Ada specifications = Common Radar Data ProcessingRadar Data Processing Flight Plan ProcessingFlight Plan Processing Controler Working Position Controler Working Position Radar Front ProcessingRadar 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
  • 24. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200424 CORBA MIGRATION : Ada To IDL translator System IRS ADA System IRS IDL
  • 25. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200425 ESIOP Time Time Event Event Life Cycle Life CyclePersistency 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 RADAR Controler Working Position Controler Working Position Ada C, C++, Java APPLICATION (Ada) UBSS IIOP GIOP IIOP
  • 26. E.FUCHS plug.ppt P&D/SSD/TCE/TFP/AST - 28/03/200426 PLUG Integration Mock-Up ODS FPL IDENT CDCDB CDC CDCCDC CDC
  • 27. E.FUCHS 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
  • 28. E.FUCHS 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