SlideShare a Scribd company logo
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

More Related Content

What's hot

F 35 brief
F 35 briefF 35 brief
F 35 brief
Picard578
 
B737mrg exterior inspection
B737mrg exterior inspectionB737mrg exterior inspection
B737mrg exterior inspection
Francisco Buenrostro
 
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYSEASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
soulstalker
 
F22 analysis
F22 analysisF22 analysis
F22 analysis
Picard578
 
How to Fly a Boeing 737 - Quick & Easy Basics
How to Fly a Boeing 737 - Quick & Easy BasicsHow to Fly a Boeing 737 - Quick & Easy Basics
How to Fly a Boeing 737 - Quick & Easy Basics
bfsim737
 
8 fighter aircraft avionics-part i
8 fighter aircraft avionics-part i8 fighter aircraft avionics-part i
8 fighter aircraft avionics-part i
Solo Hermelin
 
Continuing airworthiness management organisation
Continuing airworthiness management organisationContinuing airworthiness management organisation
Continuing airworthiness management organisation
S P Singh
 
Alaska Airlines Airbus Study Presentation 2
Alaska Airlines Airbus Study Presentation 2Alaska Airlines Airbus Study Presentation 2
Alaska Airlines Airbus Study Presentation 2
ShawnSmith231
 
Airworthiness review
Airworthiness reviewAirworthiness review
Airworthiness review
S P Singh
 
AIP Operations Basic Training 020904
AIP Operations Basic Training 020904AIP Operations Basic Training 020904
AIP Operations Basic Training 020904
AiDY
 
Case study air florida90_presentation
Case study air florida90_presentationCase study air florida90_presentation
Case study air florida90_presentation
Gregory Stamp
 
F22
F22F22
Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35
ICSA, LLC
 
Airworthiness Review Certificate
Airworthiness Review CertificateAirworthiness Review Certificate
Airworthiness Review Certificate
S P Singh
 
Avionics Systems Instruments
Avionics Systems InstrumentsAvionics Systems Instruments
Avionics Systems Instruments
Michael Bseliss
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 Cockpit
ICSA, LLC
 
Naval Aircraft & Missiles Web
Naval Aircraft & Missiles WebNaval Aircraft & Missiles Web
Naval Aircraft & Missiles Web
Lynn Seckinger
 
01. boeing 727 ata 22 - autoflight
01. boeing 727   ata 22 - autoflight01. boeing 727   ata 22 - autoflight
01. boeing 727 ata 22 - autoflight
DiegoRuddyArcaineZeg
 
F 15 vs su-27
F 15 vs su-27F 15 vs su-27
F 15 vs su-27
mishanbgd
 
BVR combat brief
BVR combat briefBVR combat brief
BVR combat brief
Picard578
 

What's hot (20)

F 35 brief
F 35 briefF 35 brief
F 35 brief
 
B737mrg exterior inspection
B737mrg exterior inspectionB737mrg exterior inspection
B737mrg exterior inspection
 
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYSEASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
EASA PART-66 MODULE 5.11 : ELECTRONIC DISPLAYS
 
F22 analysis
F22 analysisF22 analysis
F22 analysis
 
How to Fly a Boeing 737 - Quick & Easy Basics
How to Fly a Boeing 737 - Quick & Easy BasicsHow to Fly a Boeing 737 - Quick & Easy Basics
How to Fly a Boeing 737 - Quick & Easy Basics
 
8 fighter aircraft avionics-part i
8 fighter aircraft avionics-part i8 fighter aircraft avionics-part i
8 fighter aircraft avionics-part i
 
Continuing airworthiness management organisation
Continuing airworthiness management organisationContinuing airworthiness management organisation
Continuing airworthiness management organisation
 
Alaska Airlines Airbus Study Presentation 2
Alaska Airlines Airbus Study Presentation 2Alaska Airlines Airbus Study Presentation 2
Alaska Airlines Airbus Study Presentation 2
 
Airworthiness review
Airworthiness reviewAirworthiness review
Airworthiness review
 
AIP Operations Basic Training 020904
AIP Operations Basic Training 020904AIP Operations Basic Training 020904
AIP Operations Basic Training 020904
 
Case study air florida90_presentation
Case study air florida90_presentationCase study air florida90_presentation
Case study air florida90_presentation
 
F22
F22F22
F22
 
Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35Combat Systems Fusion Engine for the F-35
Combat Systems Fusion Engine for the F-35
 
Airworthiness Review Certificate
Airworthiness Review CertificateAirworthiness Review Certificate
Airworthiness Review Certificate
 
Avionics Systems Instruments
Avionics Systems InstrumentsAvionics Systems Instruments
Avionics Systems Instruments
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 Cockpit
 
Naval Aircraft & Missiles Web
Naval Aircraft & Missiles WebNaval Aircraft & Missiles Web
Naval Aircraft & Missiles Web
 
01. boeing 727 ata 22 - autoflight
01. boeing 727   ata 22 - autoflight01. boeing 727   ata 22 - autoflight
01. boeing 727 ata 22 - autoflight
 
F 15 vs su-27
F 15 vs su-27F 15 vs su-27
F 15 vs su-27
 
BVR combat brief
BVR combat briefBVR combat brief
BVR combat brief
 

Viewers also liked

Aerospace Capability Overview
Aerospace Capability OverviewAerospace Capability Overview
Aerospace Capability Overview
paulferguson6
 
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 daniele
NASAPMC
 
Javaの登場と発展
Javaの登場と発展Javaの登場と発展
Javaの登場と発展
Tamiya Onodera
 
Coding standard
Coding standardCoding standard
Coding standard
FAROOK Samath
 
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 industry
Richa 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 Metrics
Programeter
 
Chapter 6 software metrics
Chapter 6 software metricsChapter 6 software metrics
Chapter 6 software metrics
despicable me
 
Software Metrics
Software MetricsSoftware Metrics
Software Metrics
Massimo Felici
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
Utkarsh Khare
 
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
Keyideas Infotech Private Limited
 
Clipping pousadas 2010/01
Clipping pousadas 2010/01Clipping pousadas 2010/01
Clipping pousadas 2010/01
Agência DUE
 
Politics of human trafficking
Politics of human traffickingPolitics of human trafficking
Politics of human trafficking
Sarah Rainey
 
Women & work rev
Women & work revWomen & work rev
Women & work rev
Sarah Rainey
 
effective design
effective designeffective design
effective design
teachflute
 
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
Al Sauerfield
 
sociale media voor delifrance ondernemers
sociale media voor delifrance ondernemerssociale media voor delifrance ondernemers
sociale media voor delifrance ondernemers
Al Sauerfield
 
2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーター2015 エデルマン・トラストバロメーター
2015 エデルマン・トラストバロメーター
Edelman Japan
 

Viewers also liked (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
 

Similar to T 50 avionics embedded software development using java

Richlong2013Modified
Richlong2013ModifiedRichlong2013Modified
Richlong2013Modified
richtx
 
Prabhaharan_$CV
Prabhaharan_$CVPrabhaharan_$CV
Prabhaharan_$CV
Prabhaharan Balasubramani
 
Eclipse RT Day
Eclipse RT DayEclipse RT Day
Eclipse RT Day
Brett Hackleman
 
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
Brett 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 Toolbox
Brett Hackleman
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
sarinsahab
 
Mil soft company overview 2012 v2
Mil soft company overview 2012 v2Mil soft company overview 2012 v2
Mil soft company overview 2012 v2
milsoftSDC
 
Mil soft company_overview_2013
Mil soft company_overview_2013Mil soft company_overview_2013
Mil soft company_overview_2013
milsoftSDC
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012
ICSA, LLC
 
Resume
ResumeResume
RamachandraParlapalli_RESUME
RamachandraParlapalli_RESUMERamachandraParlapalli_RESUME
RamachandraParlapalli_RESUME
parlapalli ramachandra
 
Component Based Distributed System Development
Component Based Distributed System DevelopmentComponent Based Distributed System Development
Component Based Distributed System Development
Emmanuel Fuchs
 
resume
resumeresume
Sandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional ResumeSandeep Kumar Yarlagadda_Professional Resume
Sandeep Kumar Yarlagadda_Professional Resume
sandeep 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 Interoperability
Gerardo Pardo-Castellote
 
Ruszkowski.james
Ruszkowski.jamesRuszkowski.james
Ruszkowski.james
NASAPMC
 
CV Nagaraju Sreeram
CV Nagaraju SreeramCV Nagaraju Sreeram
CV Nagaraju Sreeram
nagaraju sreeram
 
Resume_01
Resume_01Resume_01
Rajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi ResumeRajkumar reddy Kommidi Resume
Rajkumar reddy Kommidi Resume
Rajkumar Reddy
 
CLV_Viswanath_K
CLV_Viswanath_KCLV_Viswanath_K
CLV_Viswanath_K
viswanath kondapalli
 

Similar to 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
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012
 
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
 

Recently uploaded

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
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
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
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
ThomasParaiso2
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
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
 
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
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
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
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

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
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
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
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...GridMate - End to end testing is a critical piece to ensure quality and avoid...
GridMate - End to end testing is a critical piece to ensure quality and avoid...
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
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
 
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
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

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