SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
ISET 2011 - The 6th International Symposium on Embedded Technology (May 20-21, 2011)


T-50 Avionics Embedded Software
Development using Java

         Warning: This material may contain defense sensitive data, competitive and sensitive trade secret or technical
         information of KAI proprietary rights. The use (to provide, disclose, reproduce or copy to the third person/party) of this
         material without the prior approval of KAI is strictly prohibited in accordance with the related laws and regulations.
Overview
• The Flagship Project
   − Core Software
• Why Java?
   − C/C++ Experience in Other Projects
      • Pointer Problems
   − Java Pros and Cons
      • Real-time Java
• Language Selection
• Development
   − OFP Layers
   − Speed & Size Issues
   − Optimizations
• Points to Ponder
                  Korea Aerospace Industries Proprietary Information   2
The Flagship Project
• Total systems development
       − Core software: FC, MFDS, IUFC, HUD, and SMS
       − Core avionics hardware: KMC, SMC
       − Test bench, and Mission support system
Avionics Embedded System                                                                    Verification
   Software Development                                                                         Test Bench Development
- FC
                                                                                             - System Integration Laboratory
- MFDS                                                                                       - Software Development Station
- IUFC by AMC
- HUD by DoDaam Systems
                                                                                            Operation & Maintenance
      RTOS Certification                                                                        Ground Support System
- NEOS by MDS Technology
  (DO-178B Level A Certifiable)                                                              - MPSS by KIDA


   Hardware Development
- KMC by Intellics
                                                                                            KMC: Korea Mission Computer
- SMC by DoDaam Systems
                                               FC: Fire Control                             MFDS: Multi-Function Display Set
                                               HUD: Head Up Display                         MPSS: Mission Planning and Support System
                                               IUFC: Integrated Up Front Controls           SMC: Stores Management Computer
                                               KIDA: Korea Institute for Defense Analysis   SMS: Stores Management System

                                   Korea Aerospace Industries Proprietary Information                                                   3
Core Software
• Software (OFP) developed from scratch with
  enhanced capabilities compared to initial T-50 OFPs
   − 6 independent 5x7 MFD pages (3 for each seat)
   − Embedded Training functions

                                                    Aerial Gunnary Target Simulation




                                                                      MFD: Multi-Function Display
                                                                      OFP: Operational Flight Program

                 Korea Aerospace Industries Proprietary Information                                     4
Core Software
• Central to Systems integration & mission operations
   Aircraft & Weapon                                                               Pilot Interface
 Specific Characteristics



                              Static &                               Pilot
                              Dynamic                           Control &
                              Parameters                       Command



   Control                                  Core Software                                 Mission/Flight
   Commands                    Flight         Mission &          Stores                   Information
                               Control         Displays           Mgmt

                                   Secondary, Tertiary Software                Vehicle
                Nav. Aids                                                    Management
                                 Communication            Targeting


                                           Avionic Systems

                            Korea Aerospace Industries Proprietary Information                             5
Why Java?
• Avionics Needs                                        An Empirical Study of Programming Language Trends, IEEE Software, 2005
                                                                         30

   − Safety (DO-178)                                                     25
                                                                                                                                   Java




                                                Percent of respondents
                                                                                     C
   − Long lifecycle support                                              20

                                                                         15
                                                                                                                                    C++


• Language Trends
                                                                         10                                                        Ada
                                                                                  C++
                                                                          5       Ada

   −   F-16: Jovial                                                       0
                                                                                  Java
                                                                                                                                   C

                                                                                     1993       1998               2003          2008
   −   F-22: Ada                                                                                         Year



   −   F-35: C++                                                              TIOBE Programming Community Index, www.tiobe.com, 2011


   −   T-50: C/C++                                                       25
                                                                              Java

                                                  Percent search hits
                                                                         20                                                             Java
                                                                              C

                                                                         15                                                             C
• Evolution of Java
                                                                              C++
                                                                                                                                        C++
                                                                         10

   − Real-time Java (JSR-1)                                               5

   − Safety Critical Java (JSR-302)                                       0
                                                                               2002            2005                  2008               2011
                                                                                                         Year
                                                                                               JSR: Java Specification Request

                      Korea Aerospace Industries Proprietary Information                                                                    6
C/C++ Experience in Other Projects
• C/C++ demands high alertness and workload
   − Resource management : new/delete, open/close, lock/unlock
       • For C++, RAII helps but not without attention to copy constructors
         and copy assignment operators (The Rule of Three)
   − Exception handling: assert was used instead for debugging
   − Pointers: cannot live without but usually the culprit of most of
     the troubles
   − Many other do’s and don’ts

• Lessons learned from prior projects including T-50 went
  into KUH
   − Coding guidelines became Coding Standards
   − Peer review prerequisites are enforced with automated tools
       • LDRA coding rule checking and PolySpace static verification
                                                                        KUH: Korea Utility Helicopter
                                                                        RAII: Resource Acquisition is Initialization

                   Korea Aerospace Industries Proprietary Information                                                  7
Pointer Problems
• Problems such as an example shown below would
  easily be identified by a static analysis tool
   − An example of one of the problems
      • extract_data outputs an address of a data block to MESSAGE_DATA
      • sidd_write_link uses MESSAGE_DATA to transmit the data block

     // doubleTrouble.c

     typedef void* Data_Pointer_Type;                       Would read better if named:
     Data_Pointer_Type    MESSAGE_DATA;                     MESSAGE_DATA_PTR

     void extract_data(Data_Pointer_Type* MSG_DATA_PTR,...);
     void write_link(Data_List_Type* DATA_LIST,...);

     Should be a reference:                :
     &MESSAGE_DATA                         :              Should not dereference:
                                                          (MESSAGE_DATA)
     extract_data(MESSAGE_DATA,...);            Casting not needed
             ...
     write_link((Data_List_Type *)(*(unsigned int*)MESSAGE_DATA),...

                      Korea Aerospace Industries Proprietary Information                  8
Java Pros and Cons
• Lessons learned from prior projects also led to
  considering Java
   − Boosted by the presence of OOTiA and RTSJ (2004)


• Pros
   − C/C++ like syntax : easier transition to the new language
   − No pointers, No header files
   − Safer and more secure


• Cons
   − Garbage Collection
   − Big                               JamaicaVM caught our attention so it
                                       was evaluated
   − Slow
                                                                       OOTiA: Object Oriented Technology in Aviation
                                                                       RTSJ: Real-time Specification for Java

                  Korea Aerospace Industries Proprietary Information                                                   9
Real-time Java
• JSR-1 RTSJ adds features that are immune to GC
   − Memory models and regions that are not subject to GC
   − Real-time threads that are not preemptible by GC




                                                                  From aicas technology brief



                                                                      GC: Garbage Collection
                                                                      JSR: Java Specification Request
                                                                      RTSJ: Real-time Specification for Java

                 Korea Aerospace Industries Proprietary Information                                            10
Real-time Java
• JamaicaVM from aicas
   − Implements Work-Based GC which runs when and where
     memory allocation occurs
   − Also implements RTSJ but having deterministic GC enables
     real-time programming easier




                                                                  From aicas technology brief




                                                                      GC: Garbage Collection
                                                                      RTSJ: Real-time Specification for Java

                 Korea Aerospace Industries Proprietary Information                                            11
Language Selection
• Performance Evaluation
   − Test program
      • Existing in-house tool written in C
        was converted to Java
      • The tool was a weapon delivery
        accuracy analysis software based
        on actual ballistics algorithm


   − Target Environment
      • OS: VxWorks 5.5.1, BSP 1.2/1.10
      • CPU: SBS CK5 MPC 7447A 999MHz
      • RAM: 512MB


   − Some optimizations were done with profiling and adjusting
     compile options to get the best possible results
                                                                        BSP: Board Support Package

                   Korea Aerospace Industries Proprietary Information                                12
Language Selection
• Results
                     C            Java
   Speed (msec)    1.43            2.8                Java is 1.98 times slower
                                                  Java includes JVM which is
     File Size    157KB           4MB
                                                3~4MB depending on packages


• Conclusion
   − Target CPU speed (1.6 GHz) and large memory size (1 GB)
     were thought to be sufficient enough to run Java
     applications


• JamaicaVM was selected for the development of the
  Flagship Project

                  Korea Aerospace Industries Proprietary Information              13
Development
• Development Environment
  − Models containing code are put under configuration control

                               Requirements : DOORS
                              Version Control : PVCS

                                                                                  Ground Test /
   Rhapsody
                                                                                   Flight Test

                           Eclipse                              STE & SIL

                        JamaicaVM

                 EMMA /
                                     VeriFlux
                CodeCover


     GUI : GL Studio - evaluated but not integrated with the process, yet

                                                                         SIL: System Integration Laboratory
                                                                         STE: Software Test Equipment

                    Korea Aerospace Industries Proprietary Information                                        14
OFP Layers
• JVM’s platform independence enables modular
  development
     − Success story : One day integration of JVM and HUD OFP
        JVM provided portability                                                  Self (KAI) provided portability
          T-50 Java Applications (OFP)                                                    KUH C++ Applications (OFP)

   FC           HUD          MFDS          IUFC                                   SMM           PFD          MFDS           CDU
                                                          KAI Works

    JNI                                  JOGL                                  KAI API             KAI                      OpenGL
                                                                                                Framework
                 Real-time JVM                                                                   based on
                                                            Vendor                             Rhapsody OXF
 Device                                                      Works              Device         (OS Services)
                                      OpenGL SC
 Drivers                                                                        Drivers


                       OS*                                                                            OS*

* OS : VxWorks, NEOS, Windows                                                  * OS : VxWorks, Windows
CDU: Control & Display Unit    JNI: Java Native Interface        JOGL: Java OpenGL              JVM: Java Virtual Machine
KUH: Korea Utility Helicopter  OXF: Object Execution Framework   PFD: Primary Flight Display    SC: Safety Critical
SMM: System Mission Management

                                    Korea Aerospace Industries Proprietary Information                                               15
Speed & Size Issues
• OFP is designed with 50Hz rate groups
   − Each rate group should complete well within 20msec


• Initially, it took almost 40msec for a FC OFP rate
  group to complete which was double the time limit
   − One of the reasons was data I/O utilizing JNI, especially
     MIL-STD-1553 due to its tight coupling with the OFP
   − The other reasons were compile options


• HUD and MFDS were also suffered
   − HUD requires many JNI calls to present cursive graphic
     objects on the display
   − MFDS initially had a size of over 300MB before optimization

                  Korea Aerospace Industries Proprietary Information   16
Optimizations
• Took a few months to optimize
   − Compile/build options including
      • Tradeoff between profiled interpreter code vs compiled code
      • Static binding for virtual calls (no dynamic class loading), etc.
   − JNI
      • Reducing the number of JNI calls
      • Reducing run-time creation of temporary data buffers
   − Some design considerations
      • Making final and static where applicable e.g. constants
      • Reducing the number of threads


• Overall efforts brought down the speed to within
  20msec, and the size from over 80MB to 50MB and
  then to 30MB in case of FC OFP
                   Korea Aerospace Industries Proprietary Information       17
Points to Ponder
• JNI
   − With some care, it is a nice solution for hardware interfaces
   − Alternatives may be considered e.g. CORBA, XML
        • But are they DO-178 compliant?


• Sound practice is needed regardless of languages
   − Programming idioms such as LSP, and
   − Design & Coding standards enforcing them, and
   − Review processes with support from automated tools


• But within the same rules, Java eases much of a
  burden off the programmer
   − Enables spending more time on design, or having a longer
     coffee break                             LSP: Liskov Substitution Principle

                      Korea Aerospace Industries Proprietary Information           18
Points to Ponder
• DO-178C and supplement documents are due by the
  end of 2011
   − After 7 years of preparation since OOTiA handbook in 2004
   − Will enable the use of real-time Java Technology with
     deterministic garbage collection in critical avionics software


• Open source, cost effective tools and environments
   − One such case is TOPCASED
       • Eclipse based systems/software development environment
         promoting model-driven development and formal methods


• Java is a good language of choice for safety-critical,
  hard real-time embedded software development
                               DO-178C: Safety Considerations in Airborne Systems and Equipment Certification
                               OOTiA: Object Oriented Technology in Aviation
                               TOPCASED: The Open-Source Toolkit for Critical Systems

                   Korea Aerospace Industries Proprietary Information                                           19
Thank you
                  Bang, Keugyeol    방극열
      Principal Research Engineer   수석연구원
    Avionics Advanced R&D Team      항전선행연구팀
           bkyeol@koreaaero.com     010-9048-0828

   Korea Aerospace Industries Proprietary Information   20
Acronyms


Air-BEST   Air-borne Embedded System and Technologies         MIL-STD       Military Standard
API        Application Program Interface                      MPSS          Mission Planning and Support System
ARINC      Aeronautical Radio Incorporated                    OFP           Operational Flight Program
BSP        Board Support Package                              OOTiA         Object Oriented Technology in Aviation, FAA
CDU        Control and Display Unit                           OpenCL        Open Computing Language
FAA        Federal Aviation Administration                    OpenGL        Open Graphics Library
FC         Fire Control                                       OS            Operating System
GC         Garbage Collection                                 OXF           Object Execution Framework
HUD        Head Up Display                                    PDR           Preliminary Design Review
IUFC       Integrated Up Front Controls                       PFD           Primary Flight Display
JNI        Java Native Interface                              RAII          Resource Acquisition Is Initialization
JOGL       Java OpenGL                                        RTOS          Real-time Operating System
JSR        Java Specification Request                         RTSJ          Real-time Specification for Java
JVM        Java Virtual Machine                               SC            Safety Critical
KAI        Korea Aerospace Industries, Ltd.                   SIL           System Integration Laboratory
KIDA       Korea Institute for Defense Analysis               SMC           Stores Management Computer
KUH        Korea Utility Helicopter                           SMM           System Mission Management
KMC        Korea Mission Computer                             SMS           Stores Management System
LSP        Liskov Substitution Principle                      STE           Software Test Equipment
MFDS       Multi-function Display Set                         UFC           Up-front Controls




                               Korea Aerospace Industries Proprietary Information                                         21

Mais conteúdo relacionado

Mais procurados

Lockheed Martin F35 Lightning II(Propulsion Presentation)
Lockheed Martin F35 Lightning II(Propulsion Presentation)Lockheed Martin F35 Lightning II(Propulsion Presentation)
Lockheed Martin F35 Lightning II(Propulsion Presentation)SYEDMOEEDHUSSAIN1
 
M-346 fact sheet
M-346 fact sheetM-346 fact sheet
M-346 fact sheetLeonardo
 
Syring MDA Briefing
Syring MDA BriefingSyring MDA Briefing
Syring MDA BriefingLsquirrel
 
Air Force Association - F-22 Versus F-35 Comparison
Air Force Association - F-22 Versus F-35 ComparisonAir Force Association - F-22 Versus F-35 Comparison
Air Force Association - F-22 Versus F-35 ComparisonTommy Toy
 
Airbus military product update 2012
Airbus military product update 2012Airbus military product update 2012
Airbus military product update 2012ICSA, LLC
 
F22 analysis
F22 analysisF22 analysis
F22 analysisPicard578
 
F 35 and Current Weapons
F 35 and Current WeaponsF 35 and Current Weapons
F 35 and Current WeaponsICSA, LLC
 
F 35 a lightning ii, usa - joint strike fighter aircraft
F 35 a lightning ii, usa - joint strike fighter aircraftF 35 a lightning ii, usa - joint strike fighter aircraft
F 35 a lightning ii, usa - joint strike fighter aircrafthindujudaic
 
ICAO Cabin Crew Safety Training Manual
ICAO Cabin Crew Safety Training ManualICAO Cabin Crew Safety Training Manual
ICAO Cabin Crew Safety Training Manualazadairss
 
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)Lockheed Martin F35 Lightning II(Aerodynamics Presentation)
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)SYEDMOEEDHUSSAIN1
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 CockpitICSA, LLC
 
A330 MRTT Briefing, June 2016
A330 MRTT Briefing, June 2016A330 MRTT Briefing, June 2016
A330 MRTT Briefing, June 2016ICSA, LLC
 
Gripen seeing is_believing
Gripen seeing is_believingGripen seeing is_believing
Gripen seeing is_believingaeroplans france
 
F 15 vs su-27
F 15 vs su-27F 15 vs su-27
F 15 vs su-27mishanbgd
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012ICSA, LLC
 

Mais procurados (20)

Lockheed Martin F35 Lightning II(Propulsion Presentation)
Lockheed Martin F35 Lightning II(Propulsion Presentation)Lockheed Martin F35 Lightning II(Propulsion Presentation)
Lockheed Martin F35 Lightning II(Propulsion Presentation)
 
M-346 fact sheet
M-346 fact sheetM-346 fact sheet
M-346 fact sheet
 
Syring MDA Briefing
Syring MDA BriefingSyring MDA Briefing
Syring MDA Briefing
 
Air Force Association - F-22 Versus F-35 Comparison
Air Force Association - F-22 Versus F-35 ComparisonAir Force Association - F-22 Versus F-35 Comparison
Air Force Association - F-22 Versus F-35 Comparison
 
Airbus military product update 2012
Airbus military product update 2012Airbus military product update 2012
Airbus military product update 2012
 
F22 analysis
F22 analysisF22 analysis
F22 analysis
 
F 35 and Current Weapons
F 35 and Current WeaponsF 35 and Current Weapons
F 35 and Current Weapons
 
F 35 a lightning ii, usa - joint strike fighter aircraft
F 35 a lightning ii, usa - joint strike fighter aircraftF 35 a lightning ii, usa - joint strike fighter aircraft
F 35 a lightning ii, usa - joint strike fighter aircraft
 
Air Dominance
Air DominanceAir Dominance
Air Dominance
 
ICAO Cabin Crew Safety Training Manual
ICAO Cabin Crew Safety Training ManualICAO Cabin Crew Safety Training Manual
ICAO Cabin Crew Safety Training Manual
 
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)Lockheed Martin F35 Lightning II(Aerodynamics Presentation)
Lockheed Martin F35 Lightning II(Aerodynamics Presentation)
 
The C-295W
The C-295W The C-295W
The C-295W
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 Cockpit
 
1 -efis
1  -efis1  -efis
1 -efis
 
Avionics sai
Avionics saiAvionics sai
Avionics sai
 
A330 MRTT Briefing, June 2016
A330 MRTT Briefing, June 2016A330 MRTT Briefing, June 2016
A330 MRTT Briefing, June 2016
 
Gripen seeing is_believing
Gripen seeing is_believingGripen seeing is_believing
Gripen seeing is_believing
 
F 15 vs su-27
F 15 vs su-27F 15 vs su-27
F 15 vs su-27
 
FDSA Thor Design Study Stage 1.pdf
FDSA Thor Design Study Stage 1.pdfFDSA Thor Design Study Stage 1.pdf
FDSA Thor Design Study Stage 1.pdf
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012
 

Destaque

Aerospace Capability Overview
Aerospace Capability OverviewAerospace Capability Overview
Aerospace Capability Overviewpaulferguson6
 
Avio Aerospace Case Study
Avio Aerospace Case Study Avio Aerospace Case Study
Avio Aerospace Case Study Open iT Inc.
 
Carol daniele
Carol danieleCarol daniele
Carol danieleNASAPMC
 
Javaの登場と発展
Javaの登場と発展Javaの登場と発展
Javaの登場と発展Tamiya Onodera
 
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Real-Time Innovations (RTI)
 
Quality in software industry
Quality in software industryQuality in software industry
Quality in software industryRicha Goel
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsProgrameter
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metricsdespicable me
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Clipping pousadas 2010/01
Clipping pousadas 2010/01Clipping pousadas 2010/01
Clipping pousadas 2010/01Agência DUE
 
Politics of human trafficking
Politics of human traffickingPolitics of human trafficking
Politics of human traffickingSarah Rainey
 
effective design
effective designeffective design
effective designteachflute
 
IOTO 1: introductie social media 8 november 2011
IOTO 1: introductie social media 8 november 2011IOTO 1: introductie social media 8 november 2011
IOTO 1: introductie social media 8 november 2011Al Sauerfield
 
sociale media voor delifrance ondernemers
sociale media voor delifrance ondernemerssociale media voor delifrance ondernemers
sociale media voor delifrance ondernemersAl Sauerfield
 
2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーター2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーターEdelman Japan
 

Destaque (20)

Aerospace Capability Overview
Aerospace Capability OverviewAerospace Capability Overview
Aerospace Capability Overview
 
Avio Aerospace Case Study
Avio Aerospace Case Study Avio Aerospace Case Study
Avio Aerospace Case Study
 
Carol daniele
Carol danieleCarol daniele
Carol daniele
 
Javaの登場と発展
Javaの登場と発展Javaの登場と発展
Javaの登場と発展
 
Coding standard
Coding standardCoding standard
Coding standard
 
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
Learn About the FACE Standard for Avionics Software and a Ready-to-Go COTS Pl...
 
Quality in software industry
Quality in software industryQuality in software industry
Quality in software industry
 
Software Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and MetricsSoftware Measurement: Lecture 1. Measures and Metrics
Software Measurement: Lecture 1. Measures and Metrics
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Mobile App Development: In-house Vs Outsource
Mobile App Development: In-house Vs OutsourceMobile App Development: In-house Vs Outsource
Mobile App Development: In-house Vs Outsource
 
Clipping pousadas 2010/01
Clipping pousadas 2010/01Clipping pousadas 2010/01
Clipping pousadas 2010/01
 
Politics of human trafficking
Politics of human traffickingPolitics of human trafficking
Politics of human trafficking
 
Women & work rev
Women & work revWomen & work rev
Women & work rev
 
effective design
effective designeffective design
effective design
 
IOTO 1: introductie social media 8 november 2011
IOTO 1: introductie social media 8 november 2011IOTO 1: introductie social media 8 november 2011
IOTO 1: introductie social media 8 november 2011
 
sociale media voor delifrance ondernemers
sociale media voor delifrance ondernemerssociale media voor delifrance ondernemers
sociale media voor delifrance ondernemers
 
2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーター2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーター
 
Seniorsurfdagen
SeniorsurfdagenSeniorsurfdagen
Seniorsurfdagen
 

Semelhante a T 50 avionics embedded software development using java

Richlong2013Modified
Richlong2013ModifiedRichlong2013Modified
Richlong2013Modifiedrichtx
 
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxEclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxBrett Hackleman
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxBrett Hackleman
 
Mil soft company overview 2012 v2
Mil soft company overview 2012 v2Mil soft company overview 2012 v2
Mil soft company overview 2012 v2milsoftSDC
 
Mil soft company_overview_2013
Mil soft company_overview_2013Mil soft company_overview_2013
Mil soft company_overview_2013milsoftSDC
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System DevelopmentEmmanuel Fuchs
 
Sandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional ResumeSandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional Resumesandeep kumar yarlagadda
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityGerardo Pardo-Castellote
 
Ruszkowski.james
Ruszkowski.jamesRuszkowski.james
Ruszkowski.jamesNASAPMC
 
Rajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi ResumeRajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi ResumeRajkumar Reddy
 
Yakaiah_Resume_9Yrs
Yakaiah_Resume_9YrsYakaiah_Resume_9Yrs
Yakaiah_Resume_9YrsYakaiah S
 

Semelhante a T 50 avionics embedded software development using java (20)

Richlong2013Modified
Richlong2013ModifiedRichlong2013Modified
Richlong2013Modified
 
Prabhaharan_$CV
Prabhaharan_$CVPrabhaharan_$CV
Prabhaharan_$CV
 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
 
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems ToolboxEclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
EclipseEmbeddedDay2009-OSGi: Best Tool In Your Embedded Systems Toolbox
 
OSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems ToolboxOSGi: Best Tool In Your Embedded Systems Toolbox
OSGi: Best Tool In Your Embedded Systems Toolbox
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
 
Mil soft company overview 2012 v2
Mil soft company overview 2012 v2Mil soft company overview 2012 v2
Mil soft company overview 2012 v2
 
Mil soft company_overview_2013
Mil soft company_overview_2013Mil soft company_overview_2013
Mil soft company_overview_2013
 
Resume
ResumeResume
Resume
 
RamachandraParlapalli_RESUME
RamachandraParlapalli_RESUMERamachandraParlapalli_RESUME
RamachandraParlapalli_RESUME
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
 
resume
resumeresume
resume
 
Sandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional ResumeSandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional Resume
 
OMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle InteroperabilityOMG DDS and its Relation to Unmanned Vehicle Interoperability
OMG DDS and its Relation to Unmanned Vehicle Interoperability
 
Ruszkowski.james
Ruszkowski.jamesRuszkowski.james
Ruszkowski.james
 
CV Nagaraju Sreeram
CV Nagaraju SreeramCV Nagaraju Sreeram
CV Nagaraju Sreeram
 
Resume_01
Resume_01Resume_01
Resume_01
 
Rajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi ResumeRajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi Resume
 
CLV_Viswanath_K
CLV_Viswanath_KCLV_Viswanath_K
CLV_Viswanath_K
 
Yakaiah_Resume_9Yrs
Yakaiah_Resume_9YrsYakaiah_Resume_9Yrs
Yakaiah_Resume_9Yrs
 

Último

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Último (20)

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

T 50 avionics embedded software development using java

  • 1. ISET 2011 - The 6th International Symposium on Embedded Technology (May 20-21, 2011) T-50 Avionics Embedded Software Development using Java Warning: This material may contain defense sensitive data, competitive and sensitive trade secret or technical information of KAI proprietary rights. The use (to provide, disclose, reproduce or copy to the third person/party) of this material without the prior approval of KAI is strictly prohibited in accordance with the related laws and regulations.
  • 2. Overview • The Flagship Project − Core Software • Why Java? − C/C++ Experience in Other Projects • Pointer Problems − Java Pros and Cons • Real-time Java • Language Selection • Development − OFP Layers − Speed & Size Issues − Optimizations • Points to Ponder Korea Aerospace Industries Proprietary Information 2
  • 3. The Flagship Project • Total systems development − Core software: FC, MFDS, IUFC, HUD, and SMS − Core avionics hardware: KMC, SMC − Test bench, and Mission support system Avionics Embedded System Verification Software Development Test Bench Development - FC - System Integration Laboratory - MFDS - Software Development Station - IUFC by AMC - HUD by DoDaam Systems Operation & Maintenance RTOS Certification Ground Support System - NEOS by MDS Technology (DO-178B Level A Certifiable) - MPSS by KIDA Hardware Development - KMC by Intellics KMC: Korea Mission Computer - SMC by DoDaam Systems FC: Fire Control MFDS: Multi-Function Display Set HUD: Head Up Display MPSS: Mission Planning and Support System IUFC: Integrated Up Front Controls SMC: Stores Management Computer KIDA: Korea Institute for Defense Analysis SMS: Stores Management System Korea Aerospace Industries Proprietary Information 3
  • 4. Core Software • Software (OFP) developed from scratch with enhanced capabilities compared to initial T-50 OFPs − 6 independent 5x7 MFD pages (3 for each seat) − Embedded Training functions Aerial Gunnary Target Simulation MFD: Multi-Function Display OFP: Operational Flight Program Korea Aerospace Industries Proprietary Information 4
  • 5. Core Software • Central to Systems integration & mission operations Aircraft & Weapon Pilot Interface Specific Characteristics Static & Pilot Dynamic Control & Parameters Command Control Core Software Mission/Flight Commands Flight Mission & Stores Information Control Displays Mgmt Secondary, Tertiary Software Vehicle Nav. Aids Management Communication Targeting Avionic Systems Korea Aerospace Industries Proprietary Information 5
  • 6. Why Java? • Avionics Needs An Empirical Study of Programming Language Trends, IEEE Software, 2005 30 − Safety (DO-178) 25 Java Percent of respondents C − Long lifecycle support 20 15 C++ • Language Trends 10 Ada C++ 5 Ada − F-16: Jovial 0 Java C 1993 1998 2003 2008 − F-22: Ada Year − F-35: C++ TIOBE Programming Community Index, www.tiobe.com, 2011 − T-50: C/C++ 25 Java Percent search hits 20 Java C 15 C • Evolution of Java C++ C++ 10 − Real-time Java (JSR-1) 5 − Safety Critical Java (JSR-302) 0 2002 2005 2008 2011 Year JSR: Java Specification Request Korea Aerospace Industries Proprietary Information 6
  • 7. C/C++ Experience in Other Projects • C/C++ demands high alertness and workload − Resource management : new/delete, open/close, lock/unlock • For C++, RAII helps but not without attention to copy constructors and copy assignment operators (The Rule of Three) − Exception handling: assert was used instead for debugging − Pointers: cannot live without but usually the culprit of most of the troubles − Many other do’s and don’ts • Lessons learned from prior projects including T-50 went into KUH − Coding guidelines became Coding Standards − Peer review prerequisites are enforced with automated tools • LDRA coding rule checking and PolySpace static verification KUH: Korea Utility Helicopter RAII: Resource Acquisition is Initialization Korea Aerospace Industries Proprietary Information 7
  • 8. Pointer Problems • Problems such as an example shown below would easily be identified by a static analysis tool − An example of one of the problems • extract_data outputs an address of a data block to MESSAGE_DATA • sidd_write_link uses MESSAGE_DATA to transmit the data block // doubleTrouble.c typedef void* Data_Pointer_Type; Would read better if named: Data_Pointer_Type MESSAGE_DATA; MESSAGE_DATA_PTR void extract_data(Data_Pointer_Type* MSG_DATA_PTR,...); void write_link(Data_List_Type* DATA_LIST,...); Should be a reference: : &MESSAGE_DATA : Should not dereference: (MESSAGE_DATA) extract_data(MESSAGE_DATA,...); Casting not needed ... write_link((Data_List_Type *)(*(unsigned int*)MESSAGE_DATA),... Korea Aerospace Industries Proprietary Information 8
  • 9. Java Pros and Cons • Lessons learned from prior projects also led to considering Java − Boosted by the presence of OOTiA and RTSJ (2004) • Pros − C/C++ like syntax : easier transition to the new language − No pointers, No header files − Safer and more secure • Cons − Garbage Collection − Big JamaicaVM caught our attention so it was evaluated − Slow OOTiA: Object Oriented Technology in Aviation RTSJ: Real-time Specification for Java Korea Aerospace Industries Proprietary Information 9
  • 10. Real-time Java • JSR-1 RTSJ adds features that are immune to GC − Memory models and regions that are not subject to GC − Real-time threads that are not preemptible by GC From aicas technology brief GC: Garbage Collection JSR: Java Specification Request RTSJ: Real-time Specification for Java Korea Aerospace Industries Proprietary Information 10
  • 11. Real-time Java • JamaicaVM from aicas − Implements Work-Based GC which runs when and where memory allocation occurs − Also implements RTSJ but having deterministic GC enables real-time programming easier From aicas technology brief GC: Garbage Collection RTSJ: Real-time Specification for Java Korea Aerospace Industries Proprietary Information 11
  • 12. Language Selection • Performance Evaluation − Test program • Existing in-house tool written in C was converted to Java • The tool was a weapon delivery accuracy analysis software based on actual ballistics algorithm − Target Environment • OS: VxWorks 5.5.1, BSP 1.2/1.10 • CPU: SBS CK5 MPC 7447A 999MHz • RAM: 512MB − Some optimizations were done with profiling and adjusting compile options to get the best possible results BSP: Board Support Package Korea Aerospace Industries Proprietary Information 12
  • 13. Language Selection • Results C Java Speed (msec) 1.43 2.8 Java is 1.98 times slower Java includes JVM which is File Size 157KB 4MB 3~4MB depending on packages • Conclusion − Target CPU speed (1.6 GHz) and large memory size (1 GB) were thought to be sufficient enough to run Java applications • JamaicaVM was selected for the development of the Flagship Project Korea Aerospace Industries Proprietary Information 13
  • 14. Development • Development Environment − Models containing code are put under configuration control Requirements : DOORS Version Control : PVCS Ground Test / Rhapsody Flight Test Eclipse STE & SIL JamaicaVM EMMA / VeriFlux CodeCover GUI : GL Studio - evaluated but not integrated with the process, yet SIL: System Integration Laboratory STE: Software Test Equipment Korea Aerospace Industries Proprietary Information 14
  • 15. OFP Layers • JVM’s platform independence enables modular development − Success story : One day integration of JVM and HUD OFP JVM provided portability Self (KAI) provided portability T-50 Java Applications (OFP) KUH C++ Applications (OFP) FC HUD MFDS IUFC SMM PFD MFDS CDU KAI Works JNI JOGL KAI API KAI OpenGL Framework Real-time JVM based on Vendor Rhapsody OXF Device Works Device (OS Services) OpenGL SC Drivers Drivers OS* OS* * OS : VxWorks, NEOS, Windows * OS : VxWorks, Windows CDU: Control & Display Unit JNI: Java Native Interface JOGL: Java OpenGL JVM: Java Virtual Machine KUH: Korea Utility Helicopter OXF: Object Execution Framework PFD: Primary Flight Display SC: Safety Critical SMM: System Mission Management Korea Aerospace Industries Proprietary Information 15
  • 16. Speed & Size Issues • OFP is designed with 50Hz rate groups − Each rate group should complete well within 20msec • Initially, it took almost 40msec for a FC OFP rate group to complete which was double the time limit − One of the reasons was data I/O utilizing JNI, especially MIL-STD-1553 due to its tight coupling with the OFP − The other reasons were compile options • HUD and MFDS were also suffered − HUD requires many JNI calls to present cursive graphic objects on the display − MFDS initially had a size of over 300MB before optimization Korea Aerospace Industries Proprietary Information 16
  • 17. Optimizations • Took a few months to optimize − Compile/build options including • Tradeoff between profiled interpreter code vs compiled code • Static binding for virtual calls (no dynamic class loading), etc. − JNI • Reducing the number of JNI calls • Reducing run-time creation of temporary data buffers − Some design considerations • Making final and static where applicable e.g. constants • Reducing the number of threads • Overall efforts brought down the speed to within 20msec, and the size from over 80MB to 50MB and then to 30MB in case of FC OFP Korea Aerospace Industries Proprietary Information 17
  • 18. Points to Ponder • JNI − With some care, it is a nice solution for hardware interfaces − Alternatives may be considered e.g. CORBA, XML • But are they DO-178 compliant? • Sound practice is needed regardless of languages − Programming idioms such as LSP, and − Design & Coding standards enforcing them, and − Review processes with support from automated tools • But within the same rules, Java eases much of a burden off the programmer − Enables spending more time on design, or having a longer coffee break LSP: Liskov Substitution Principle Korea Aerospace Industries Proprietary Information 18
  • 19. Points to Ponder • DO-178C and supplement documents are due by the end of 2011 − After 7 years of preparation since OOTiA handbook in 2004 − Will enable the use of real-time Java Technology with deterministic garbage collection in critical avionics software • Open source, cost effective tools and environments − One such case is TOPCASED • Eclipse based systems/software development environment promoting model-driven development and formal methods • Java is a good language of choice for safety-critical, hard real-time embedded software development DO-178C: Safety Considerations in Airborne Systems and Equipment Certification OOTiA: Object Oriented Technology in Aviation TOPCASED: The Open-Source Toolkit for Critical Systems Korea Aerospace Industries Proprietary Information 19
  • 20. Thank you Bang, Keugyeol 방극열 Principal Research Engineer 수석연구원 Avionics Advanced R&D Team 항전선행연구팀 bkyeol@koreaaero.com 010-9048-0828 Korea Aerospace Industries Proprietary Information 20
  • 21. Acronyms Air-BEST Air-borne Embedded System and Technologies MIL-STD Military Standard API Application Program Interface MPSS Mission Planning and Support System ARINC Aeronautical Radio Incorporated OFP Operational Flight Program BSP Board Support Package OOTiA Object Oriented Technology in Aviation, FAA CDU Control and Display Unit OpenCL Open Computing Language FAA Federal Aviation Administration OpenGL Open Graphics Library FC Fire Control OS Operating System GC Garbage Collection OXF Object Execution Framework HUD Head Up Display PDR Preliminary Design Review IUFC Integrated Up Front Controls PFD Primary Flight Display JNI Java Native Interface RAII Resource Acquisition Is Initialization JOGL Java OpenGL RTOS Real-time Operating System JSR Java Specification Request RTSJ Real-time Specification for Java JVM Java Virtual Machine SC Safety Critical KAI Korea Aerospace Industries, Ltd. SIL System Integration Laboratory KIDA Korea Institute for Defense Analysis SMC Stores Management Computer KUH Korea Utility Helicopter SMM System Mission Management KMC Korea Mission Computer SMS Stores Management System LSP Liskov Substitution Principle STE Software Test Equipment MFDS Multi-function Display Set UFC Up-front Controls Korea Aerospace Industries Proprietary Information 21