+ All Categories
Home > Software > PLUG : Presentation Layer Universal Generator

PLUG : Presentation Layer Universal Generator

Date post: 09-Apr-2017
Category:
Upload: emmanuel-fuchs
View: 215 times
Download: 1 times
Share this document with a friend
28
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
Transcript

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


Recommended