SlideShare une entreprise Scribd logo
1  sur  34
  PLUG  Presentation Layer Universal Generator P&D/SSD/TCE/TFP/AST- 28/09/98 A joint company of Thomson-CSF Airsys and Siemens
OVERVIEW ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* PATIO : Platform for ATM Tools Integration to Pre-operation
ATC processus Adjacent Air Traffic Control Cente r Airports Flight Data Processing METEO Data Radar Data Processing Flight Plan Radar Data Tracks Primary and secondary RADAR WAN LAN + - transmetter Receiver HF/VHF
ATC centre Architecture Radar Data  Processing Flight Plan Processing Supervisory Control Simulator Recording Replay Controler Working Position Voice control  and  communications Radar Front Processing Dual LAN FDDI AFTN/CIDIN ATFM ADJACENT FIR'S/TWR'S MET Centres RADAR ,[object Object],[object Object],[object Object],[object Object],Controler Working Position Controler Working Position Controler Working Position
PLUG :  Presentation Layer Universal Generator ,[object Object],[object Object],[object Object],[object Object],[object Object],Application Presentation Session ASN.1* 7 6 5 ASE* ASE ASE ASE
Object analogy Implementation Interface A driver doesn't care of  engine's internal working. He only knows the interface
Communication Object Design  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)
Syntax and Language ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compiler VS Parser ,[object Object],[object Object],[object Object],[object Object]
PLUG Compilers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PLUG Parsers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tracks Primary and secondary RADAR
PLUG Compilers through applications  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PATIO API paradigm ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* IRS : Interface Requirements Specification.
API protocol UBSS API (SKELETON) APPLI UBSS API (STUBS) APPLI Server Client API PROTOCOL UNIX LAN UNIX API
API : How it works ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RPC principle Library Main Send Receive Unix process Client Server Marshalling Unmarshalling => XDR XDR Unix process S = A+ B A, B, + S Library Main Push Pop Unix process
API : Ada distributed Package Ada Package  specificationc Ada Package Implementation Operations DATA and  Operations  Implementation Operations Empty Implementation Comms Operations DATA and  Operations  Implementation Client side Server side =>
Heterogeneous Distributed System : Language or Hardware Main API interface Ada Server Unix Process C Server Unix Process C++ Server Unix Process Ada or C or C++ Client Unix Process Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation Operations DATA and  Operations  Implementation
API Programming model : Client  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Underlying  code is the stub automatically generated by PLUG. Itallic  code is written by application programmer.
Client state diagram
PLUG : Presentation Layer Universal Generator XDR Stub Generator Coder Generator C Ada Ada API C Ada (IDL) (CDR) (IDL, C++)
PLUG  Stub Generator ,[object Object],[object Object],[object Object],Template All Technical Middelware details are hidden to the programmer : Registry, Supervision, Subscription. Register; Start Supervion API Register with supervisor; Subscribe to supervision events Program Main Loop Wait next event  Case API Supervision : peek event from supervision : process supervision events : Initialise, start, stop, kill API1 : peek  event from API 1 : process  AP1 events : . API2 : peek  event from API 2 : process  AP2 events : ............ API3 : peek  event from API 2 : process  AP2 events : ............ End loop Stop event processing Stop API1, API2 Stop supervision API Unregister
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 XDR Templates expansion XDR Templates (TDL) Ada API Independant  Format File Abstract Syntax Tree
Object message passing with PLUG ,[object Object],[object Object],[object Object],[object Object]
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 Call Back encoding routing XDR buffer Tools User Ada XDR XDR C Tools User
Plug coder use : CDC encode/decode 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_write() CDC_read() Ada XDR XDR C CDC
Ada CSCI C CSCI XDR Ada Compiler C Compiler XDR : How it works.
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
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 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 Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9
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 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 Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9
Coder context 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
Plug  other possible applications ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sum Up ,[object Object],[object Object],[object Object],[object Object],[object Object]
Future ,[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with SystemcMarc Engels
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming Hemantha Kulathilake
 
Cs6660 compiler design
Cs6660 compiler designCs6660 compiler design
Cs6660 compiler designhari2010
 
Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Eelco Visser
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGJEENA SARA VIJU
 
Compiler design important questions
Compiler design   important questionsCompiler design   important questions
Compiler design important questionsakila viji
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bankArthyR3
 
Computer Organization - Programming the basic computer : Machine Language, As...
Computer Organization - Programming the basic computer : Machine Language, As...Computer Organization - Programming the basic computer : Machine Language, As...
Computer Organization - Programming the basic computer : Machine Language, As...Maitri Thakkar
 
introduction to C programming (C)
introduction to C programming (C)introduction to C programming (C)
introduction to C programming (C)Abhishek Walia
 
Lexical Analysis
Lexical AnalysisLexical Analysis
Lexical AnalysisMunni28
 
Introduction of c programming unit-ii ppt
Introduction of  c programming unit-ii pptIntroduction of  c programming unit-ii ppt
Introduction of c programming unit-ii pptJStalinAsstProfessor
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training CoursePaul Laskowski
 
Bca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed controlBca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed controlRai University
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comStephenson033
 

Tendances (19)

Digital design with Systemc
Digital design with SystemcDigital design with Systemc
Digital design with Systemc
 
COM1407: Introduction to C Programming
COM1407: Introduction to C Programming COM1407: Introduction to C Programming
COM1407: Introduction to C Programming
 
Programming in c
Programming in cProgramming in c
Programming in c
 
Cs6660 compiler design
Cs6660 compiler designCs6660 compiler design
Cs6660 compiler design
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
 
e CAD lab manual
e CAD lab manuale CAD lab manual
e CAD lab manual
 
Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?
 
Lecture 01 2017
Lecture 01 2017Lecture 01 2017
Lecture 01 2017
 
INTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMINGINTRODUCTION TO C PROGRAMMING
INTRODUCTION TO C PROGRAMMING
 
Compiler design important questions
Compiler design   important questionsCompiler design   important questions
Compiler design important questions
 
Compiler question bank
Compiler question bankCompiler question bank
Compiler question bank
 
Computer Organization - Programming the basic computer : Machine Language, As...
Computer Organization - Programming the basic computer : Machine Language, As...Computer Organization - Programming the basic computer : Machine Language, As...
Computer Organization - Programming the basic computer : Machine Language, As...
 
introduction to C programming (C)
introduction to C programming (C)introduction to C programming (C)
introduction to C programming (C)
 
C Language
C LanguageC Language
C Language
 
Lexical Analysis
Lexical AnalysisLexical Analysis
Lexical Analysis
 
Introduction of c programming unit-ii ppt
Introduction of  c programming unit-ii pptIntroduction of  c programming unit-ii ppt
Introduction of c programming unit-ii ppt
 
Verilog HDL Training Course
Verilog HDL Training CourseVerilog HDL Training Course
Verilog HDL Training Course
 
Bca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed controlBca 2nd sem-u-3.1-basic computer programming and micro programmed control
Bca 2nd sem-u-3.1-basic computer programming and micro programmed control
 
Ecet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.comEcet 330 Enthusiastic Study / snaptutorial.com
Ecet 330 Enthusiastic Study / snaptutorial.com
 

Similaire à PLUG code generation tool

PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
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 tutorialRemedy IT
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACTDVClub
 
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
 
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 tutorialRemedy IT
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptxFatma Sayed Ibrahim
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1SURBHI SAROHA
 
Unix system programming
Unix system programmingUnix system programming
Unix system programmingSyed Mustafa
 
Structure-Compiler-phases information about basics of compiler. Pdfpdf
Structure-Compiler-phases information  about basics of compiler. PdfpdfStructure-Compiler-phases information  about basics of compiler. Pdfpdf
Structure-Compiler-phases information about basics of compiler. Pdfpdfovidlivi91
 
IDOC , ALE ,EDI
IDOC , ALE ,EDIIDOC , ALE ,EDI
IDOC , ALE ,EDIAmit Khari
 

Similaire à PLUG code generation tool (20)

PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
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
 
Verification Automation Using IPXACT
Verification Automation Using IPXACTVerification Automation Using IPXACT
Verification Automation Using IPXACT
 
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...
 
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
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptx
 
Introduction to C Unit 1
Introduction to C Unit 1Introduction to C Unit 1
Introduction to C Unit 1
 
Np unit2
Np unit2Np unit2
Np unit2
 
Unix system programming
Unix system programmingUnix system programming
Unix system programming
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
 
Structure-Compiler-phases information about basics of compiler. Pdfpdf
Structure-Compiler-phases information  about basics of compiler. PdfpdfStructure-Compiler-phases information  about basics of compiler. Pdfpdf
Structure-Compiler-phases information about basics of compiler. Pdfpdf
 
Ale Idoc
Ale IdocAle Idoc
Ale Idoc
 
IDOC , ALE ,EDI
IDOC , ALE ,EDIIDOC , ALE ,EDI
IDOC , ALE ,EDI
 
gayathri.p.pptx
gayathri.p.pptxgayathri.p.pptx
gayathri.p.pptx
 
LLVM
LLVMLLVM
LLVM
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 
Intro dotnet
Intro dotnetIntro dotnet
Intro dotnet
 

Plus de Emmanuel Fuchs

Distributed Object Systems
Distributed Object SystemsDistributed Object Systems
Distributed Object SystemsEmmanuel Fuchs
 
CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004Emmanuel 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 DescriptionEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
UBSS : Unix Based System Software
UBSS : Unix Based System SoftwareUBSS : Unix Based System Software
UBSS : Unix Based System SoftwareEmmanuel 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 ComputingEmmanuel Fuchs
 
Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Emmanuel Fuchs
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneEmmanuel Fuchs
 
Civil Military Coordination
Civil Military CoordinationCivil Military Coordination
Civil Military CoordinationEmmanuel Fuchs
 

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

Dernier

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

PLUG code generation tool

  • 1. PLUG Presentation Layer Universal Generator P&D/SSD/TCE/TFP/AST- 28/09/98 A joint company of Thomson-CSF Airsys and Siemens
  • 2.
  • 3. ATC processus Adjacent Air Traffic Control Cente r Airports Flight Data Processing METEO Data Radar Data Processing Flight Plan Radar Data Tracks Primary and secondary RADAR WAN LAN + - transmetter Receiver HF/VHF
  • 4.
  • 5.
  • 6. Object analogy Implementation Interface A driver doesn't care of engine's internal working. He only knows the interface
  • 7. Communication Object Design 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)
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. API protocol UBSS API (SKELETON) APPLI UBSS API (STUBS) APPLI Server Client API PROTOCOL UNIX LAN UNIX API
  • 15.
  • 16. RPC principle Library Main Send Receive Unix process Client Server Marshalling Unmarshalling => XDR XDR Unix process S = A+ B A, B, + S Library Main Push Pop Unix process
  • 17. API : Ada distributed Package Ada Package specificationc Ada Package Implementation Operations DATA and Operations Implementation Operations Empty Implementation Comms Operations DATA and Operations Implementation Client side Server side =>
  • 18. Heterogeneous Distributed System : Language or Hardware Main API interface Ada Server Unix Process C Server Unix Process C++ Server Unix Process Ada or C or C++ Client Unix Process Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation Operations DATA and Operations Implementation
  • 19.
  • 21. PLUG : Presentation Layer Universal Generator XDR Stub Generator Coder Generator C Ada Ada API C Ada (IDL) (CDR) (IDL, C++)
  • 22.
  • 23. 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 XDR Templates expansion XDR Templates (TDL) Ada API Independant Format File Abstract Syntax Tree
  • 24.
  • 25. 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 Call Back encoding routing XDR buffer Tools User Ada XDR XDR C Tools User
  • 26. Plug coder use : CDC encode/decode 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_write() CDC_read() Ada XDR XDR C CDC
  • 27. Ada CSCI C CSCI XDR Ada Compiler C Compiler XDR : How it works.
  • 28. 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
  • 29. 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 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 Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9
  • 30. 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 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 Field 1 Field 2 Field 3 Field 4 Field 5 Field 6 Field 7 Field 8 Field 9
  • 31. Coder context 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
  • 32.
  • 33.
  • 34.

Notes de l'éditeur

  1. 1 1