340 likes | 617 Views
Ada in the Avionics Industry. George Romanski. romanski@verocel.com. Overview. Evolution of the Ada Industry Personal Observations and Experiences Certification Projects Certification Guidance Integrated Modular Avionics (IMA) Ada on IMA . 1980 – Ada Compiler - Germany.
E N D
Ada in the Avionics Industry George Romanski romanski@verocel.com
Overview • Evolution of the Ada Industry • Personal Observations and Experiences • Certification Projects • Certification Guidance • Integrated Modular Avionics (IMA) • Ada on IMA SigAda-2005
1980 – Ada Compiler - Germany • Front-End – Karlsruhe University • Host – Siemens (IMB 370 clone) • Target – Siemens process control computer Project included: Compiler ‘middle-end’ Back-end Code generator Run-time system SigAda-2005
1980 – Ada Compiler - Germany • Front-End – Karlsruhe University • Host – Siemens (IMB 370 clone) • Target – Siemens process control computer Project included: Compiler ‘middle-end’ Back-end Code generator Run-time system Did not meet expectations ! But learned from the experience ! SigAda-2005
1983 – MCHAPS Project • Ada Compiler and support environment • Well engineered design/specifications (lots of paper) • Spent lots of money SigAda-2005
1983 – MCHAPS Project • Ada Compiler and support environment • Well engineered design/specifications (lots of paper) • Spent lots of money Did not meet expectations ! But learned from the experience ! SigAda-2005
1984 – SD-Ada • Systems Designers /Systeam (Karlsruhe) • Host - VAX • Target – 68K, 1750A Bootstrap 24 hrs on VAX 785 (Recompile the compiler) SigAda-2005
1984 – SD-Ada • Systems Designers /Systeam (Karlsruhe) • Host - VAX • Target – M68K, 1750A Bootstrap 24 hrs on VAX 785 (Recompile the compiler) M68K moderately successful ! VAX compiler, 1750A compiler – did not meet $ expectations SigAda-2005
1986 - XD-Ada Compiler • Systems Designers / DEC • Host - VAX • Target • M68K • 1750A Commercial and Military Avionic systems Mostly Military and space based systems Front/Middle-end Vax-Ada SigAda-2005
1986 - XD-Ada Compiler • Systems Designers / DEC • Host - VAX • Target • M68K • 1750A Commercial and Military Avionic systems Mostly Military and space based systems Front/Middle-end Vax-Ada M68K Lots of $$’ 1750A compiler – moderately successful SigAda-2005
1990 Alsys • Host – Many • PC with 4-MByte memory board • Targets – Many (including) • Intel • 68K Used on BOEING 777 C-SMART (Certifiable Small Ada Run-Time) SigAda-2005
1990 Alsys • Host – Many • PC with 4-MByte memory board • Targets – Many (including) • Intel • 68K Used on BOEING 777 C-SMART (Certifiable Small Ada Run-Time) COTS Certification Package using DO-178B SigAda-2005
1991 – 1994 Boeing 777 • Most systems written in Ada • Many proprietary subsets • Mostly certified by users • (no RTS or minimal RTS) • C-SMART • Certification package was 35 pounds per 1000 LOC. Ada – great success story !! SigAda-2005
1998 – Ada’95 + Ravenscar • Aonix • C-SMART (Ada 95) • Raven Certification package SigAda-2005
1998 – Ada’95 + Ravenscar • Aonix • C-SMART (Ada 95) • Raven Certification package Used on several avionics projects SigAda-2005
Verocel – 1999 – to present • ‘C’ based certifications • Ada Based certifications • PLM Based certifications • Targets • PIC micro-controller • 68K • Cold-Fire • PPC 400 bytes RAM ½ GByte RAM (larger than Machines for early Host compilers) SigAda-2005
Verocel – 1999 – to present • ‘C’ based certifications • Ada Based certifications • PLM Based certifications • Targets • PIC micro-controller • 68K • Cold-Fire • PPC 400 bytes RAM ½ GByte RAM (larger than Machines for early Host compilers) 40% certification work done in Ada (measured by LOC) All based on DO-178B SigAda-2005
Certification Guidance • Guidance used for Software • DO-178B Software Considerations in Airborne Systems and Equipment Certification • DO-248B Annual Report for Clarification of DO-178B • ARINC-653 Avionics Application Standard Interface • DO-xxx Integrated Modular Avionics Development Guidance and Certification Considerations (SC-200 working group) DO-178B IMA SigAda-2005
Continued Evolution of DO-178B Guidance DO-178B (1991) DO-248B DO-278 Issue Papers CAST Papers SC-205 Annexes DO-178C + Model Based Development Object Oriented Programming Formal Methods … (2008?) SigAda-2005
IMA Guidance • ARINC-653 • Published in 1997 • Supplement 1 published 2003 • Supplement 2 ‘few months away’ • SC-200 • Approved by Plenary committee Aug 2005 • Submitted for final editorial review and approval • To be published as DO-xxx (next available number) SigAda-2005
Use Of IMA • Many new projects are based on IMA architectures. • Airbus 380 • Boeing 787 • 767 Tanker • C-130 AMP • Airbus 400M • X45, X47 (Unmanned aircraft) SigAda-2005
Use Of IMA • Many new projects are based on IMA architectures. • Airbus 380 • Boeing 787 • 767 Tanker • C-130 AMP • Airbus 400M • X45, X47 (Unmanned aircraft) All of these IMA systems based on ARINC-653 SigAda-2005
Line Replaceable Units - Databus Effectors Sensors Databus LRU-B LRU-A LRU-C Most flying planes Use this architecture SigAda-2005
Line Replaceable Units - Switch Effectors Sensors Databus LRU-B LRU-A LRU-C Switch Switch is a high-bandwidth Communication system SigAda-2005
Line Replaceable Module Effectors Sensors DC- Data Concentrators DC DC DC Switch LRM A B C LRM houses applications A,B and C SigAda-2005
Partitioning Applications on LRM App. 1 Ada App. 2 C++ App. 3 C Partition Operating System APEX APEX APEX POS POS POS Module Operating System MOS Config. Table SigAda-2005
ARINC-653 Organization – on LRM Application Partition 2 System Partition 2 Applications Software Layer Application Partition 1 System Partition 1 Apex Interface Core Software Layer O/S Kernel System Specific Functions Hardware SigAda-2005
IMA Model for an Ada application Virtual Target Ada Application Virtual Address Space ARTE Health Management System POS Communication through virtual Ports only SigAda-2005
Ada Objects Created not Declared Ada Program CREATE_PROCESS (Ada_Procedure, ) No Ada Tasks CREATE_SEMAPHORE CREATE_EVENT Process Object POS Event Object Semaphore Object SigAda-2005
Ada Exceptions Divide by zero Exception Handler ARTE POS Partition HM Module HM MOS System HM H/W exception handler SigAda-2005
Ada on ARINC 653 • ARINC 653 is a standard that abstracts the operating system services from the application • Ada fits in but gives up scheduling operations • All support libraries must be certified Ada is Highly suitable for Avionics Applications on ARINC-653 platforms SigAda-2005
Where does Ada fit in? In with a good chance! The main objection to Ada is: SigAda-2005
Where does Ada fit in? In with a good chance! The main objection to Ada is: Lack of Ada Programmers! SigAda-2005