SlideShare a Scribd company logo
1 of 21
Download to read 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

More Related Content

What's hot

Silent Eagle Media Brief.Doc
Silent Eagle Media Brief.DocSilent Eagle Media Brief.Doc
Silent Eagle Media Brief.DocStephen Trimble
 
T-X Requirements matrix
T-X Requirements matrixT-X Requirements matrix
T-X Requirements matrixNicolas Perron
 
F22 analysis
F22 analysisF22 analysis
F22 analysisPicard578
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 CockpitICSA, LLC
 
Leonardo AW101 NAWSARH - The superior solutions
Leonardo AW101 NAWSARH - The superior solutionsLeonardo AW101 NAWSARH - The superior solutions
Leonardo AW101 NAWSARH - The superior solutionsLeonardo
 
Stevenson f 22 brief
Stevenson f 22 briefStevenson f 22 brief
Stevenson f 22 briefPicard578
 
A400M Update June 2014
A400M Update June 2014A400M Update June 2014
A400M Update June 2014ICSA, LLC
 
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
 
drones-an introduction to design
drones-an introduction to designdrones-an introduction to design
drones-an introduction to designSafeer Muhammad
 
Hands on experience with various type of tabs
Hands on experience with various type of tabsHands on experience with various type of tabs
Hands on experience with various type of tabsMayank Gupta
 
Aircraft maintenance programme
Aircraft maintenance programmeAircraft maintenance programme
Aircraft maintenance programmeS P Singh
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012ICSA, LLC
 
Airbus a320 aircraft operation manual
Airbus a320 aircraft operation manualAirbus a320 aircraft operation manual
Airbus a320 aircraft operation manualMusab Elamien
 
Large scale topological optimisation: aircraft engine pylon case
Large scale topological optimisation: aircraft engine pylon caseLarge scale topological optimisation: aircraft engine pylon case
Large scale topological optimisation: aircraft engine pylon caseAltair
 
6 computing gunsight, hud and hms
6 computing gunsight, hud and hms6 computing gunsight, hud and hms
6 computing gunsight, hud and hmsSolo Hermelin
 
Design and Operation of UAV
Design and Operation of UAVDesign and Operation of UAV
Design and Operation of UAVSai Shubhankar
 

What's hot (20)

Silent Eagle Media Brief.Doc
Silent Eagle Media Brief.DocSilent Eagle Media Brief.Doc
Silent Eagle Media Brief.Doc
 
T-X Requirements matrix
T-X Requirements matrixT-X Requirements matrix
T-X Requirements matrix
 
Air Dominance
Air DominanceAir Dominance
Air Dominance
 
F22 analysis
F22 analysisF22 analysis
F22 analysis
 
The F-35 Cockpit
The F-35 CockpitThe F-35 Cockpit
The F-35 Cockpit
 
Leonardo AW101 NAWSARH - The superior solutions
Leonardo AW101 NAWSARH - The superior solutionsLeonardo AW101 NAWSARH - The superior solutions
Leonardo AW101 NAWSARH - The superior solutions
 
Stevenson f 22 brief
Stevenson f 22 briefStevenson f 22 brief
Stevenson f 22 brief
 
A400M Update June 2014
A400M Update June 2014A400M Update June 2014
A400M Update June 2014
 
F 35 brief
F 35 briefF 35 brief
F 35 brief
 
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
 
drones-an introduction to design
drones-an introduction to designdrones-an introduction to design
drones-an introduction to design
 
F 35 Production
F 35 ProductionF 35 Production
F 35 Production
 
Hands on experience with various type of tabs
Hands on experience with various type of tabsHands on experience with various type of tabs
Hands on experience with various type of tabs
 
Aircraft maintenance programme
Aircraft maintenance programmeAircraft maintenance programme
Aircraft maintenance programme
 
Airline strategy
Airline strategyAirline strategy
Airline strategy
 
A400 m training 2012
A400 m training 2012A400 m training 2012
A400 m training 2012
 
Airbus a320 aircraft operation manual
Airbus a320 aircraft operation manualAirbus a320 aircraft operation manual
Airbus a320 aircraft operation manual
 
Large scale topological optimisation: aircraft engine pylon case
Large scale topological optimisation: aircraft engine pylon caseLarge scale topological optimisation: aircraft engine pylon case
Large scale topological optimisation: aircraft engine pylon case
 
6 computing gunsight, hud and hms
6 computing gunsight, hud and hms6 computing gunsight, hud and hms
6 computing gunsight, hud and hms
 
Design and Operation of UAV
Design and Operation of UAVDesign and Operation of UAV
Design and Operation of UAV
 

Viewers also liked

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
 

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

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

Recently uploaded

2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FESTBillieHyde
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameKapil Thakar
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Libraryshyamraj55
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0DanBrown980551
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 

Recently uploaded (20)

2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
Technical SEO for Improved Accessibility WTS FEST
Technical SEO for Improved Accessibility  WTS FESTTechnical SEO for Improved Accessibility  WTS FEST
Technical SEO for Improved Accessibility WTS FEST
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
SheDev 2024
SheDev 2024SheDev 2024
SheDev 2024
 
Flow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First FrameFlow Control | Block Size | ST Min | First Frame
Flow Control | Block Size | ST Min | First Frame
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
How to release an Open Source Dataweave Library
How to release an Open Source Dataweave LibraryHow to release an Open Source Dataweave Library
How to release an Open Source Dataweave Library
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0LF Energy Webinar - Unveiling OpenEEMeter 4.0
LF Energy Webinar - Unveiling OpenEEMeter 4.0
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 

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