SlideShare a Scribd company logo
Ada at Barco avionics


Ludovic Brenta
Ada-Belgium General Assembly, 2007-06-12




Copyright (c) 2007 Barco NV.
Permission is granted to make and distribute verbatim copies of this document. Modification is not allowed.
Barco Avionics

• One of the seven divisions of Barco NV
• Established in 1998
• Growing fast
• We are hiring!
Eurocopter Tiger
T-33 Minuteman
BE-200
P-3D Orion
Retrofit on RC-135 (during, after)
Pilatus PC-21
What's so special about avionics

• Certification requirements
   – We obey the civilian DO-178B recommendations
   – or the customer's military standard if applicable
• Long life-times
   – Development of an aircraft: 8-10 years
   – In-flight service: 30-50 years
   – Avionics cycles can be shorter because of upgrades
• Hardware constraints
• Typical development schedule
   – Development, testing and certification: 2-3 years
   – Maintenance: 20+ years
   – (our first products are still being maintained)
   – We have contractual obligations to keep an inventory
     of spare parts
What we do
• Design and manufacture processor and other boards
   – using COTS or custom-made components
   – factory in Poperinge, also serves rest of Barco
• Design and manufacture power supplies
   – the power supply in an aircraft is very unpredictable
   – but the electronics requires very reliable supply
• Design keyboards and other mechanical parts
   – subcontractors make the keyboards, LCDs, cases etc.
• Design and assemble the quot;optical stackquot;:
   – LCD, backlights (lamp and LEDs), special glass panels
• Design, implement and test the software
   – Firmware (quot;boot softwarequot;)
   – Application software
• Assemble the units in Kortrijk
• Design and implement the testing procedures
   – Vibration, electric static discharge, temperature,
     moisture, Hightly-Accelerated Life Testing, etc.
Control Display and Management Units

                 • A dumb text-only terminal
                    – Only uppercase characters
                      (large and small)
                    – With 8 glorious colours!
                 • Linked to several on-board
                   computers
                    – (hence quot;multi-purposequot;)
                    – flight management
                      computer
                    – mission computer
                    – etc.
                 • Uses either ARINC 739 or
                   MIL-STD-1553 buses
Internal architecture of CDMS (1994)


          • First generation (1994)
             – 64-bit RISC microcontroller, 1024
               instructions max
             – Electroluminescent display (not LCD)
             – Monochrome (amber)
             – Programed in assembly language
Internal architecture of CDMS (1998)
• Second generation (1998)
   – MPC68360 quot;QUICCquot; processor (68000 core, 25 MHz)
   – 512 kb RAM, 512 kb Flash
   – Quarter-VGA (320x240) LCD
   – Programmed in Ada 83 with CSMART (Certifiable SMall Ada Run-
     Time) from Alsys
                – Separate ARINC board
                  with XScale µcontroller
                – Separate keyboard and
                  display with XScale µc
Internal architecture of CDMS (2007)
             • Third generation (2007)
                – PowerQUICC II processor
                    • PowerPC 603e core, 16+16k cache, 450
                      MHz
                – 256 Mb RAM, 512 Mb Flash
                – Full VGA display (640x480)
                – Video capable
                – On-board ARINC FPGA
                  (programmed in VHDL)
                – Programmed in Ada 95, pragma
                  No_Run_Time
Multi-Function Displays

     • Smart graphical terminal
     • Connected via ARINC 429 or MIL-STD-1553
       buses to multiple computers
        – Air Data Computer (airspeed, pressure
          altitude, etc.)
        – Global Positioning System
        – Inertial Reference System
        – Radio altimeter
        – Autopilot
        – Navigation computer (VOR, DME, ILS, etc.)
        – Weather radar
        – Other subsystems and sensors: engines, fuel,
          etc.
     • Various push button and rotating knobs on
       all four sides
        – Depending on customer, of course
Multi-Function Displays
• 5quot;x4quot;
Multi-Function (here Primary Flight)
Displays
• 6quot;x8quot;
Multi-Function Displays
• 6quot;x8quot; with separate processing unit
Multi-Function (another Primary Flight)
Displays
• 12quot;x9quot; (not yet sold)
Internal architecture of Multi-Function
Displays
  • Symbol Generator (2002)
     – PowerQUICC
         • PowerPC core, 16+16k cache, 100 MHz
     – 32 Mb RAM, 32 Mb Flash
     – Programmed in Ada 95 with Minimal Ada Run-time
       Kernel (MARK, from Rational Apex)
  • Symbol Generator II (2006)
     – Mostly identical to third generation of CDMS
     – PowerQUICC II
         • PowerPC 603e core, 16+16k cache, 450 MHz
     – Optional PowerPC G3 (MPC755)
         • 32+32k cache, 1 Mb L2 external cache, 400 MHz
     – 256 Mb RAM, 512 Mb Flash (more in the future)
     – Programmed in Ada 95 with pragma No_Run_Time
     – Uses a COTS real-time operating system
Trends in avionics displays

           • The displays' processor boards are ever
             more powerful
           • Goal: eliminate physical computers
             from the aircraft, run their software
             inside the display
                – (autopilot, flight management sytem,
                  etc.)




 –Challenges:
    • introduce multitasking into the display
    • logical partitioning between applications
    • hard real-time requirements, different for each
      app
    • certification requirements, different for each
      app
    • communications between apps using shared
      memory
MOSART

• Modular Open Systems ARchiTecture
   – An API we build our apps on
   – We also offer it to customers who want to write their
     own apps
   – Provides device drivers and built-in tests for all
     components of the display
History of Ada at Barco (1)
• 1986 - Barco decides to enter the avionics market
   – First product: a CRT video display
• 1994 – First product with embedded software
   – CDMS programmed in assembly language with 1024
     instructions
   – No software or hardware engineers - just quot;engineersquot;
• 1998 – First Ada training
   – Only two people trained: the senior quot;engineersquot;
   – First internal tool (native) using ObjectAda
• Separation into hardware and software teams
   – Hire a software development manager
   – Has experience with Ada in nuclear simulation
   – First embedded project uses C-Smart, Alsys Ada (83)
     and Rational Apex
   – Introduces UML (later abandoned)
• 2001 - Ada 83 coding standard
   – Written by a consultant from KU Leuven
History of Ada at Barco (2)

• 2004 - Start of Mosart development
   – Language question revisited
   – Stay with Ada due to inertia
   – Provide a C binding to Mosart for customers
• 2005 - Ada 95 coding standard
• 2006 - Second wave of Ada training
   – Ada Basics by yours truly
       • May 2006: 2 new hires + 1 C developer
       • January 2007: 1 new hire
   – Ada Advanced by Adalog
       • September 2006: 11 developers
   – Contents tailored for avionics
DO-178B certification (1)

• DO-178B: quot;Software Considerations in Airborne
  Systems and Equipment Certificationquot;
• Defines 5 levels of criticality depending on the
  consequences of a failure
   – Level   A: catastrophic (aircraft crashes)
   – Level   B: hazardous (aircraft flies but is crippled)
   – Level   C: serious
   – Level   D: pilots are annoyed
   – Level   E: passengers are annoyed
DO-178B certification (2)

                      • Certification requires three quot;stacksquot; of documents:
                         – With traceability between items in each document


                         System requirements      Verification of System requirements


Testing procedures       Software requirements    Verification of Software requirements


Verification of          Software design          Verification of Software design
testing procedures

                                                  Verification of Low-level requirements
                         Low-level requirements
Results of testing
procedures
                         Source text              Verification of source text


                         Object code              Verification of object code
DO-178B certification (3)

• Additional documents required for certification:
   – Software development procedure
   – Design standard
   – Coding standard
   – Verification that the software development procedure
     has been followed
       • Waivers in case of deviations
   – Verification that the design standard has been
     followed
       • Waivers in case of deviations
   – Verification that the coding standard has been
     followed
       • Waivers in case of deviations
DO-178B certification (4)

• Level A: full stack required
   – In particular: traceability between source text and
     object code
       • Requires support from the compiler
       • Main concern of the coding standard
   – With independence
       • i.e. the person who verifies is not the person who writes
• Level B: only down to source code
   – Object code not verified
   – With independence
• Level C: only down to source code
   – Independence not required
Coding standard: why (1)

• We are required to have one, per DO-178B
• Uniformity of source text
• Portability
• Maintainability
• Avoid dangerous constructs
   – Infinite loops
   – Dynamic memory allocation and deallocation
   – Aliasing
• Allow dangerous constructs (!)
   – Low-level access to hardware
   – Memory-mapped devices
   – Machine code insertions
Coding standard: why (2)

• Make it easy to test the software
   – All subprograms and package variables must be
     declared in spec
       • (except instances of Ada.Unchecked_Conversion)
   – Unit tests are child packages
• Help trace source text to object code
   – Be aware of quot;hiddenquot; object code
       •   Range checks
       •   Access checks
       •   Tag checks
       •   Exception propagation
       •   Functions returning objects of unconstrained types
       •   Secondary stack
       •   Variant records
       •   Tags and dynamic dispatching
       •   Changes of representation during type conversions
       •   etc.
   – Reduce the amount of quot;hiddenquot; object code
Coding standard: how

• For each language feature:
   – Usage is allowed: no problem
   – Usage is allowed with documentation:
       • Comments required in source text
       • Justification required in source text or design document
   – Usage is disallowed:
       • No excuses accepted
• The rules depend on the criticality level
   – Level A: quot;highquot; - traceability to object code req'd
   – Levels B .. D: quot;mediumquot;
   – Level E: quot;lowquot; - everything except goto is allowed
Coding standard: examples (1)

• Functions returning objects of unconstrained types:
   – Level A .. C: disallowed; levels D .. E: allowed with doc
• General access types
   – Disallowed, except
     System.Address_To_Access_Conversions
   – Consequence: no silent aliasing
• Anonymous access types
   – Disallowed: they introduce aliasing
• Tagged types: allowed
• Discriminants with default values
   – Require Size representation clause: size may not
     change
• Compiler-dependent packages disallowed
   – Except System.Machine_Code
Coding standard: examples (2)

• Allow low-level programming features with
  documentation:
   – Overlays
   – System.Address_To_Access_Conversions
   – Machine code insertions
   – pragma Volatile, pragma Atomic
   – Full rep clauses required (pragma Pack not sufficient)
   – pragma Import, pragma Export
Coding standard: examples (3)

• Dynamic dispatching
   – Not yet widely accepted in avionics
   – Certification authorities are wary
   – Why:
       •   Not sure which subprogram is called
       •   Not sure there is a subprogram to call
       •   Dangers of “down-casting”
       •   Call of abstract subprograms
   – Rules:
       • Level A: disallowed (pragma Restrictions (No_Dispatch) required)
       • Level B .. D: allowed with documentation (dispatching calls must
         be identified)
       • Level E: allowed
       • Polymorphic collections (e.g. array of access to class-wide type)
         must be static

• Tagged types and type extension are always allowed
Coding standard: examples (4)

• Tasking
   – Level A: disallowed
   – Level B .. D: Ravenscar only, with documentation
   – Level E: allowed
   – Requires a run-time kernel which must also be certified
   – Requires analysis of the scheduling
• Our current practice
   – No tasking used in existing products
       • CSMART: no tasking provided
       • MARK: no tasking provided
   – Tasking provided by the RTOS in products currently in
     development (using MOSART)

More Related Content

What's hot

CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCCarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCClark Heintz
 
System Design on Zynq using SDSoC
System Design on Zynq using SDSoCSystem Design on Zynq using SDSoC
System Design on Zynq using SDSoC
Sundance Multiprocessor Technology Ltd.
 
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V International
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
Rogue Wave Software
 
BKK16-400A LuvOS and ACPI Compliance Testing
BKK16-400A LuvOS and ACPI Compliance TestingBKK16-400A LuvOS and ACPI Compliance Testing
BKK16-400A LuvOS and ACPI Compliance Testing
Linaro
 
Rapid control prototyping system for power electronics
Rapid control prototyping system for power electronicsRapid control prototyping system for power electronics
Rapid control prototyping system for power electronics
imperix
 
EMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentationEMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentation
Sundance Multiprocessor Technology Ltd.
 
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
Linaro
 
Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016
Oleksandra Nazola
 
Phillip 2015 08-28
Phillip 2015 08-28Phillip 2015 08-28
Phillip 2015 08-28
phillip arellano
 
Albin profile
Albin profileAlbin profile
Albin profile
Albin B
 
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI Alliance
 
VVDN Presentation
VVDN PresentationVVDN Presentation
VVDN Presentationvibansal
 
FRDM-KL46Z_Hands-On_Presentation_v02
FRDM-KL46Z_Hands-On_Presentation_v02FRDM-KL46Z_Hands-On_Presentation_v02
FRDM-KL46Z_Hands-On_Presentation_v02Libor GECNUK
 
ASICSoft Technologies Overview - R&D
ASICSoft Technologies Overview - R&DASICSoft Technologies Overview - R&D
ASICSoft Technologies Overview - R&DTony Devlin
 
Kartik_Parmar_Resume_2016
Kartik_Parmar_Resume_2016Kartik_Parmar_Resume_2016
Kartik_Parmar_Resume_2016Kartik Parmar
 
Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016
Oleksandra Nazola
 
About CREATEK 2011
About CREATEK 2011About CREATEK 2011
About CREATEK 2011OwenZhong
 

What's hot (20)

CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLCCarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
CarDAQ Plus Manual from Clark Heintz Tools & Equipment LLC
 
System Design on Zynq using SDSoC
System Design on Zynq using SDSoCSystem Design on Zynq using SDSoC
System Design on Zynq using SDSoC
 
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML AcceleratorsRISC-V & SoC Architectural Exploration for AI and ML Accelerators
RISC-V & SoC Architectural Exploration for AI and ML Accelerators
 
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo... Debugging Numerical Simulations on Accelerated Architectures  - TotalView fo...
Debugging Numerical Simulations on Accelerated Architectures - TotalView fo...
 
Jai kumar fpga_prototyping
Jai kumar fpga_prototypingJai kumar fpga_prototyping
Jai kumar fpga_prototyping
 
BKK16-400A LuvOS and ACPI Compliance Testing
BKK16-400A LuvOS and ACPI Compliance TestingBKK16-400A LuvOS and ACPI Compliance Testing
BKK16-400A LuvOS and ACPI Compliance Testing
 
Rapid control prototyping system for power electronics
Rapid control prototyping system for power electronicsRapid control prototyping system for power electronics
Rapid control prototyping system for power electronics
 
EMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentationEMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentation
 
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device ConfigurationLAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
LAS16-300: Mini Conference 2 Cortex-M Software - Device Configuration
 
Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016Polyteda Power DRC/LVS July 2016
Polyteda Power DRC/LVS July 2016
 
Phillip 2015 08-28
Phillip 2015 08-28Phillip 2015 08-28
Phillip 2015 08-28
 
Albin profile
Albin profileAlbin profile
Albin profile
 
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
MIPI DevCon 2016: How to Use the VESA Display Stream Compression (DSC) Standa...
 
VVDN Presentation
VVDN PresentationVVDN Presentation
VVDN Presentation
 
FRDM-KL46Z_Hands-On_Presentation_v02
FRDM-KL46Z_Hands-On_Presentation_v02FRDM-KL46Z_Hands-On_Presentation_v02
FRDM-KL46Z_Hands-On_Presentation_v02
 
ASICSoft Technologies Overview - R&D
ASICSoft Technologies Overview - R&DASICSoft Technologies Overview - R&D
ASICSoft Technologies Overview - R&D
 
Kartik_Parmar_Resume_2016
Kartik_Parmar_Resume_2016Kartik_Parmar_Resume_2016
Kartik_Parmar_Resume_2016
 
Aspire service offerings pacom
Aspire service offerings pacomAspire service offerings pacom
Aspire service offerings pacom
 
Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016Polyteda: Power DRC/LVS, October 2016
Polyteda: Power DRC/LVS, October 2016
 
About CREATEK 2011
About CREATEK 2011About CREATEK 2011
About CREATEK 2011
 

Viewers also liked

CWC-AE Cassidian Barracuda User Story
CWC-AE Cassidian Barracuda User StoryCWC-AE Cassidian Barracuda User Story
CWC-AE Cassidian Barracuda User Story
Curtiss-Wright Defense Solutions
 
Field service of reconnaissance capability
Field service of reconnaissance capabilityField service of reconnaissance capability
Field service of reconnaissance capability
Jonas Linde
 
Efis D100
Efis D100Efis D100
Efis D100
guest79d936
 
Flight testing – a part of the road to NVG introduction in SwAF
Flight testing – a part of the road to NVG introduction in SwAFFlight testing – a part of the road to NVG introduction in SwAF
Flight testing – a part of the road to NVG introduction in SwAFJonas Linde
 
Board Design and System Software
Board Design and System SoftwareBoard Design and System Software
Board Design and System Software
eInfochips (An Arrow Company)
 
eInfochips Avionics Capabilities
eInfochips Avionics CapabilitieseInfochips Avionics Capabilities
eInfochips Avionics Capabilities
eInfochips (An Arrow Company)
 
Curtiss-Wright Controls Avionics & Electronics Corporate Overview
Curtiss-Wright Controls Avionics & Electronics Corporate OverviewCurtiss-Wright Controls Avionics & Electronics Corporate Overview
Curtiss-Wright Controls Avionics & Electronics Corporate Overview
Curtiss-Wright Defense Solutions
 
Bringing Internet of Things to Life with ARM Architecture | eInfochips
Bringing Internet of Things to Life with ARM Architecture | eInfochipsBringing Internet of Things to Life with ARM Architecture | eInfochips
Bringing Internet of Things to Life with ARM Architecture | eInfochips
eInfochips (An Arrow Company)
 
Comparison between m346 and t50 final-by ted
Comparison between m346 and t50 final-by tedComparison between m346 and t50 final-by ted
Comparison between m346 and t50 final-by ted
Alex Yin
 
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMSEASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
soulstalker
 
55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik
jindrichweiss
 

Viewers also liked (11)

CWC-AE Cassidian Barracuda User Story
CWC-AE Cassidian Barracuda User StoryCWC-AE Cassidian Barracuda User Story
CWC-AE Cassidian Barracuda User Story
 
Field service of reconnaissance capability
Field service of reconnaissance capabilityField service of reconnaissance capability
Field service of reconnaissance capability
 
Efis D100
Efis D100Efis D100
Efis D100
 
Flight testing – a part of the road to NVG introduction in SwAF
Flight testing – a part of the road to NVG introduction in SwAFFlight testing – a part of the road to NVG introduction in SwAF
Flight testing – a part of the road to NVG introduction in SwAF
 
Board Design and System Software
Board Design and System SoftwareBoard Design and System Software
Board Design and System Software
 
eInfochips Avionics Capabilities
eInfochips Avionics CapabilitieseInfochips Avionics Capabilities
eInfochips Avionics Capabilities
 
Curtiss-Wright Controls Avionics & Electronics Corporate Overview
Curtiss-Wright Controls Avionics & Electronics Corporate OverviewCurtiss-Wright Controls Avionics & Electronics Corporate Overview
Curtiss-Wright Controls Avionics & Electronics Corporate Overview
 
Bringing Internet of Things to Life with ARM Architecture | eInfochips
Bringing Internet of Things to Life with ARM Architecture | eInfochipsBringing Internet of Things to Life with ARM Architecture | eInfochips
Bringing Internet of Things to Life with ARM Architecture | eInfochips
 
Comparison between m346 and t50 final-by ted
Comparison between m346 and t50 final-by tedComparison between m346 and t50 final-by ted
Comparison between m346 and t50 final-by ted
 
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMSEASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
EASA PART-66 MODULE 5.15 : TYPICAL AIRCRAFT INSTRUMENT SYSTEMS
 
55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik
 

Similar to Ada at Barco avionics

IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
Christopher Diamantopoulos
 
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02  Software DevelopmentAAME ARM Techcon2013 003v02  Software Development
AAME ARM Techcon2013 003v02 Software Development
Anh Dung NGUYEN
 
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking AheadAdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
jamieayre
 
xmobots at the Scade User Group Conference 2013
xmobots at the Scade User Group Conference 2013xmobots at the Scade User Group Conference 2013
xmobots at the Scade User Group Conference 2013
Ansys
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
LF Events
 
Between Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative IntroductionBetween Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative Introduction
lukhnos
 
39245147 intro-es-i
39245147 intro-es-i39245147 intro-es-i
39245147 intro-es-iEmbeddedbvp
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
natdefreitas
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE device
ESUG
 
ScilabTEC 2015 - Evidence
ScilabTEC 2015 - EvidenceScilabTEC 2015 - Evidence
ScilabTEC 2015 - Evidence
Scilab
 
PowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDAPowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDA
Alexander Grudanov
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
Shri Sundaram
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
Paris Open Source Summit
 
Scalable AI Solution cross AI platforms
Scalable AI Solution cross AI platformsScalable AI Solution cross AI platforms
Scalable AI Solution cross AI platforms
KTN
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
Pooya Eimandar
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1
ncct
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
PersiPersi1
 

Similar to Ada at Barco avionics (20)

IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
AAME ARM Techcon2013 003v02 Software Development
AAME ARM Techcon2013 003v02  Software DevelopmentAAME ARM Techcon2013 003v02  Software Development
AAME ARM Techcon2013 003v02 Software Development
 
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking AheadAdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
 
xmobots at the Scade User Group Conference 2013
xmobots at the Scade User Group Conference 2013xmobots at the Scade User Group Conference 2013
xmobots at the Scade User Group Conference 2013
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
Between Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative IntroductionBetween Cocoa and Cocoa Touch: A Comparative Introduction
Between Cocoa and Cocoa Touch: A Comparative Introduction
 
39245147 intro-es-i
39245147 intro-es-i39245147 intro-es-i
39245147 intro-es-i
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE device
 
REDA services
REDA servicesREDA services
REDA services
 
ScilabTEC 2015 - Evidence
ScilabTEC 2015 - EvidenceScilabTEC 2015 - Evidence
ScilabTEC 2015 - Evidence
 
PowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDAPowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDA
 
CV_Arshad_21June16
CV_Arshad_21June16CV_Arshad_21June16
CV_Arshad_21June16
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
 
Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
#OSSPARIS19 : A virtual machine approach for microcontroller programming : th...
 
Scalable AI Solution cross AI platforms
Scalable AI Solution cross AI platformsScalable AI Solution cross AI platforms
Scalable AI Solution cross AI platforms
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
Emb Sys Rev Ver1
Emb Sys   Rev Ver1Emb Sys   Rev Ver1
Emb Sys Rev Ver1
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
 

More from Gneuromante canalada.org

Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada ProgramsAst2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
Gneuromante canalada.org
 
SIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop PresentationSIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop Presentation
Gneuromante canalada.org
 
Developing Software that Matters (condensed)
Developing Software that Matters (condensed)Developing Software that Matters (condensed)
Developing Software that Matters (condensed)
Gneuromante canalada.org
 
Programming Languages and Software Construction
Programming Languages and Software ConstructionProgramming Languages and Software Construction
Programming Languages and Software Construction
Gneuromante canalada.org
 
Ada 95 - Distributed systems
Ada 95 - Distributed systemsAda 95 - Distributed systems
Ada 95 - Distributed systems
Gneuromante canalada.org
 
Ada 95 - Programming in the large
Ada 95 - Programming in the largeAda 95 - Programming in the large
Ada 95 - Programming in the large
Gneuromante canalada.org
 
Ada 95 - Object orientation
Ada 95 - Object orientationAda 95 - Object orientation
Ada 95 - Object orientation
Gneuromante canalada.org
 
Ada 95 - Structured programming
Ada 95 - Structured programmingAda 95 - Structured programming
Ada 95 - Structured programming
Gneuromante canalada.org
 
Ada 95 - Introduction
Ada 95 - IntroductionAda 95 - Introduction
Ada 95 - Introduction
Gneuromante canalada.org
 
Ada 95 - Generics
Ada 95 - GenericsAda 95 - Generics
Ada 95 - Generics
Gneuromante canalada.org
 
Developing Software that Matters II
Developing Software that Matters IIDeveloping Software that Matters II
Developing Software that Matters II
Gneuromante canalada.org
 
Introduction to Ada
Introduction to AdaIntroduction to Ada
Introduction to Ada
Gneuromante canalada.org
 
Ada in Debian GNU/Linux
Ada in Debian GNU/LinuxAda in Debian GNU/Linux
Ada in Debian GNU/Linux
Gneuromante canalada.org
 

More from Gneuromante canalada.org (14)

Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada ProgramsAst2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
Ast2Cfg - A Framework for CFG-Based Analysis and Visualisation of Ada Programs
 
SIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop PresentationSIGAda Hibachi Workshop Presentation
SIGAda Hibachi Workshop Presentation
 
Developing Software that Matters (condensed)
Developing Software that Matters (condensed)Developing Software that Matters (condensed)
Developing Software that Matters (condensed)
 
Programming Languages and Software Construction
Programming Languages and Software ConstructionProgramming Languages and Software Construction
Programming Languages and Software Construction
 
Ada 95 - Distributed systems
Ada 95 - Distributed systemsAda 95 - Distributed systems
Ada 95 - Distributed systems
 
Ada 95 - Programming in the large
Ada 95 - Programming in the largeAda 95 - Programming in the large
Ada 95 - Programming in the large
 
Ada 95 - Object orientation
Ada 95 - Object orientationAda 95 - Object orientation
Ada 95 - Object orientation
 
Ada 95 - Structured programming
Ada 95 - Structured programmingAda 95 - Structured programming
Ada 95 - Structured programming
 
Ada 95 - Introduction
Ada 95 - IntroductionAda 95 - Introduction
Ada 95 - Introduction
 
Ada 95 - Generics
Ada 95 - GenericsAda 95 - Generics
Ada 95 - Generics
 
Developing Software That Matters I
Developing Software That Matters IDeveloping Software That Matters I
Developing Software That Matters I
 
Developing Software that Matters II
Developing Software that Matters IIDeveloping Software that Matters II
Developing Software that Matters II
 
Introduction to Ada
Introduction to AdaIntroduction to Ada
Introduction to Ada
 
Ada in Debian GNU/Linux
Ada in Debian GNU/LinuxAda in Debian GNU/Linux
Ada in Debian GNU/Linux
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

Ada at Barco avionics

  • 1. Ada at Barco avionics Ludovic Brenta Ada-Belgium General Assembly, 2007-06-12 Copyright (c) 2007 Barco NV. Permission is granted to make and distribute verbatim copies of this document. Modification is not allowed.
  • 2. Barco Avionics • One of the seven divisions of Barco NV • Established in 1998 • Growing fast • We are hiring!
  • 7. Retrofit on RC-135 (during, after)
  • 9. What's so special about avionics • Certification requirements – We obey the civilian DO-178B recommendations – or the customer's military standard if applicable • Long life-times – Development of an aircraft: 8-10 years – In-flight service: 30-50 years – Avionics cycles can be shorter because of upgrades • Hardware constraints • Typical development schedule – Development, testing and certification: 2-3 years – Maintenance: 20+ years – (our first products are still being maintained) – We have contractual obligations to keep an inventory of spare parts
  • 10. What we do • Design and manufacture processor and other boards – using COTS or custom-made components – factory in Poperinge, also serves rest of Barco • Design and manufacture power supplies – the power supply in an aircraft is very unpredictable – but the electronics requires very reliable supply • Design keyboards and other mechanical parts – subcontractors make the keyboards, LCDs, cases etc. • Design and assemble the quot;optical stackquot;: – LCD, backlights (lamp and LEDs), special glass panels • Design, implement and test the software – Firmware (quot;boot softwarequot;) – Application software • Assemble the units in Kortrijk • Design and implement the testing procedures – Vibration, electric static discharge, temperature, moisture, Hightly-Accelerated Life Testing, etc.
  • 11. Control Display and Management Units • A dumb text-only terminal – Only uppercase characters (large and small) – With 8 glorious colours! • Linked to several on-board computers – (hence quot;multi-purposequot;) – flight management computer – mission computer – etc. • Uses either ARINC 739 or MIL-STD-1553 buses
  • 12. Internal architecture of CDMS (1994) • First generation (1994) – 64-bit RISC microcontroller, 1024 instructions max – Electroluminescent display (not LCD) – Monochrome (amber) – Programed in assembly language
  • 13. Internal architecture of CDMS (1998) • Second generation (1998) – MPC68360 quot;QUICCquot; processor (68000 core, 25 MHz) – 512 kb RAM, 512 kb Flash – Quarter-VGA (320x240) LCD – Programmed in Ada 83 with CSMART (Certifiable SMall Ada Run- Time) from Alsys – Separate ARINC board with XScale µcontroller – Separate keyboard and display with XScale µc
  • 14. Internal architecture of CDMS (2007) • Third generation (2007) – PowerQUICC II processor • PowerPC 603e core, 16+16k cache, 450 MHz – 256 Mb RAM, 512 Mb Flash – Full VGA display (640x480) – Video capable – On-board ARINC FPGA (programmed in VHDL) – Programmed in Ada 95, pragma No_Run_Time
  • 15. Multi-Function Displays • Smart graphical terminal • Connected via ARINC 429 or MIL-STD-1553 buses to multiple computers – Air Data Computer (airspeed, pressure altitude, etc.) – Global Positioning System – Inertial Reference System – Radio altimeter – Autopilot – Navigation computer (VOR, DME, ILS, etc.) – Weather radar – Other subsystems and sensors: engines, fuel, etc. • Various push button and rotating knobs on all four sides – Depending on customer, of course
  • 17. Multi-Function (here Primary Flight) Displays • 6quot;x8quot;
  • 18. Multi-Function Displays • 6quot;x8quot; with separate processing unit
  • 19. Multi-Function (another Primary Flight) Displays • 12quot;x9quot; (not yet sold)
  • 20. Internal architecture of Multi-Function Displays • Symbol Generator (2002) – PowerQUICC • PowerPC core, 16+16k cache, 100 MHz – 32 Mb RAM, 32 Mb Flash – Programmed in Ada 95 with Minimal Ada Run-time Kernel (MARK, from Rational Apex) • Symbol Generator II (2006) – Mostly identical to third generation of CDMS – PowerQUICC II • PowerPC 603e core, 16+16k cache, 450 MHz – Optional PowerPC G3 (MPC755) • 32+32k cache, 1 Mb L2 external cache, 400 MHz – 256 Mb RAM, 512 Mb Flash (more in the future) – Programmed in Ada 95 with pragma No_Run_Time – Uses a COTS real-time operating system
  • 21. Trends in avionics displays • The displays' processor boards are ever more powerful • Goal: eliminate physical computers from the aircraft, run their software inside the display – (autopilot, flight management sytem, etc.) –Challenges: • introduce multitasking into the display • logical partitioning between applications • hard real-time requirements, different for each app • certification requirements, different for each app • communications between apps using shared memory
  • 22. MOSART • Modular Open Systems ARchiTecture – An API we build our apps on – We also offer it to customers who want to write their own apps – Provides device drivers and built-in tests for all components of the display
  • 23. History of Ada at Barco (1) • 1986 - Barco decides to enter the avionics market – First product: a CRT video display • 1994 – First product with embedded software – CDMS programmed in assembly language with 1024 instructions – No software or hardware engineers - just quot;engineersquot; • 1998 – First Ada training – Only two people trained: the senior quot;engineersquot; – First internal tool (native) using ObjectAda • Separation into hardware and software teams – Hire a software development manager – Has experience with Ada in nuclear simulation – First embedded project uses C-Smart, Alsys Ada (83) and Rational Apex – Introduces UML (later abandoned) • 2001 - Ada 83 coding standard – Written by a consultant from KU Leuven
  • 24. History of Ada at Barco (2) • 2004 - Start of Mosart development – Language question revisited – Stay with Ada due to inertia – Provide a C binding to Mosart for customers • 2005 - Ada 95 coding standard • 2006 - Second wave of Ada training – Ada Basics by yours truly • May 2006: 2 new hires + 1 C developer • January 2007: 1 new hire – Ada Advanced by Adalog • September 2006: 11 developers – Contents tailored for avionics
  • 25. DO-178B certification (1) • DO-178B: quot;Software Considerations in Airborne Systems and Equipment Certificationquot; • Defines 5 levels of criticality depending on the consequences of a failure – Level A: catastrophic (aircraft crashes) – Level B: hazardous (aircraft flies but is crippled) – Level C: serious – Level D: pilots are annoyed – Level E: passengers are annoyed
  • 26. DO-178B certification (2) • Certification requires three quot;stacksquot; of documents: – With traceability between items in each document System requirements Verification of System requirements Testing procedures Software requirements Verification of Software requirements Verification of Software design Verification of Software design testing procedures Verification of Low-level requirements Low-level requirements Results of testing procedures Source text Verification of source text Object code Verification of object code
  • 27. DO-178B certification (3) • Additional documents required for certification: – Software development procedure – Design standard – Coding standard – Verification that the software development procedure has been followed • Waivers in case of deviations – Verification that the design standard has been followed • Waivers in case of deviations – Verification that the coding standard has been followed • Waivers in case of deviations
  • 28. DO-178B certification (4) • Level A: full stack required – In particular: traceability between source text and object code • Requires support from the compiler • Main concern of the coding standard – With independence • i.e. the person who verifies is not the person who writes • Level B: only down to source code – Object code not verified – With independence • Level C: only down to source code – Independence not required
  • 29. Coding standard: why (1) • We are required to have one, per DO-178B • Uniformity of source text • Portability • Maintainability • Avoid dangerous constructs – Infinite loops – Dynamic memory allocation and deallocation – Aliasing • Allow dangerous constructs (!) – Low-level access to hardware – Memory-mapped devices – Machine code insertions
  • 30. Coding standard: why (2) • Make it easy to test the software – All subprograms and package variables must be declared in spec • (except instances of Ada.Unchecked_Conversion) – Unit tests are child packages • Help trace source text to object code – Be aware of quot;hiddenquot; object code • Range checks • Access checks • Tag checks • Exception propagation • Functions returning objects of unconstrained types • Secondary stack • Variant records • Tags and dynamic dispatching • Changes of representation during type conversions • etc. – Reduce the amount of quot;hiddenquot; object code
  • 31. Coding standard: how • For each language feature: – Usage is allowed: no problem – Usage is allowed with documentation: • Comments required in source text • Justification required in source text or design document – Usage is disallowed: • No excuses accepted • The rules depend on the criticality level – Level A: quot;highquot; - traceability to object code req'd – Levels B .. D: quot;mediumquot; – Level E: quot;lowquot; - everything except goto is allowed
  • 32. Coding standard: examples (1) • Functions returning objects of unconstrained types: – Level A .. C: disallowed; levels D .. E: allowed with doc • General access types – Disallowed, except System.Address_To_Access_Conversions – Consequence: no silent aliasing • Anonymous access types – Disallowed: they introduce aliasing • Tagged types: allowed • Discriminants with default values – Require Size representation clause: size may not change • Compiler-dependent packages disallowed – Except System.Machine_Code
  • 33. Coding standard: examples (2) • Allow low-level programming features with documentation: – Overlays – System.Address_To_Access_Conversions – Machine code insertions – pragma Volatile, pragma Atomic – Full rep clauses required (pragma Pack not sufficient) – pragma Import, pragma Export
  • 34. Coding standard: examples (3) • Dynamic dispatching – Not yet widely accepted in avionics – Certification authorities are wary – Why: • Not sure which subprogram is called • Not sure there is a subprogram to call • Dangers of “down-casting” • Call of abstract subprograms – Rules: • Level A: disallowed (pragma Restrictions (No_Dispatch) required) • Level B .. D: allowed with documentation (dispatching calls must be identified) • Level E: allowed • Polymorphic collections (e.g. array of access to class-wide type) must be static • Tagged types and type extension are always allowed
  • 35. Coding standard: examples (4) • Tasking – Level A: disallowed – Level B .. D: Ravenscar only, with documentation – Level E: allowed – Requires a run-time kernel which must also be certified – Requires analysis of the scheduling • Our current practice – No tasking used in existing products • CSMART: no tasking provided • MARK: no tasking provided – Tasking provided by the RTOS in products currently in development (using MOSART)