PLUG PLUG Presentation Layer Universal Generator Presentation - - PowerPoint PPT Presentation

plug plug
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

2

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

slide-3
SLIDE 3
  • E. FUCHS
plug.ppt

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 message1

Communication Language Programming Language (C++) Programming Language (Ada)

Communication Object Design

slide-4
SLIDE 4
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

4

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

slide-5
SLIDE 5
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

5

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)

slide-6
SLIDE 6
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

6

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

slide-7
SLIDE 7
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

7

XDR

Stub Generator Coder Generator C Ada Ada API C Ada

PLUG : Presentation Layer Universal Generator

(IDL)

(CDR) (IDL, C++)

slide-8
SLIDE 8
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

8

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 analyze grammar analyze XDR Templates expansion XDR Templates expansion XDR Templates (TDL)

Ada API

Independant Format File Independant Format File Abstract Syntax Tree

slide-9
SLIDE 9
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

9

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

slide-10
SLIDE 10
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

10

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

Tools User Tools User

slide-11
SLIDE 11
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

11

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()

slide-12
SLIDE 12
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

12

Ada CSCI C CSCI XDR Ada Compiler C Compiler

XDR : How it works.

slide-13
SLIDE 13
  • E. FUCHS
plug.ppt

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 9

XDR 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

Object Message Passing Syntax

slide-14
SLIDE 14
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

14

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 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

slide-15
SLIDE 15
  • E. FUCHS
plug.ppt

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 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

slide-16
SLIDE 16
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

16

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.

slide-17
SLIDE 17
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

17

PLUG Generated Files

Ada API

.h .h .c .c .ads .ads .h .h .ads .ads .adb .adb

1 2 4 5 3 Ada and C structure Ada and C XDR Coder =

slide-18
SLIDE 18
  • E. FUCHS
plug.ppt

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)

Plug coder use : Off line file universal format

slide-19
SLIDE 19
  • E. FUCHS
plug.ppt

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 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 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 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 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 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

slide-20
SLIDE 20
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

20

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

slide-21
SLIDE 21
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

21

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

slide-22
SLIDE 22
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

22

System Specifications : IRS

System IRS

Programming Types

slide-23
SLIDE 23
  • E. FUCHS
plug.ppt

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

slide-24
SLIDE 24
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

24

CORBA MIGRATION : Ada To IDL translator System IRS ADA

System IRS IDL

slide-25
SLIDE 25
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

25

ESIOP

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 RADAR

Controler Working Position Controler Working Position

Ada C, C++, Java

APPLICATION (Ada) UBSS IIOP GIOP

IIOP

slide-26
SLIDE 26
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

26

PLUG Integration Mock-Up

ODS FPL IDENT CDCDB

CDC CDC CDC CDC

slide-27
SLIDE 27
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

27

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

slide-28
SLIDE 28
  • E. FUCHS
plug.ppt

P&D/SSD/TCE/TFP/AST - 28/03/2004

28

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