ࡱ> i((' d/ 0DTimes New Roman0Wo 0DWingdingsRoman0Wo 0 b .  @n?" dd@  @@`` xp6      R  AA1?@8 jmX ʚ;U_8ʚ;g4FdFd0Pppp@ <4!d!d 0L<4dddd 0L<4BdBd 0LT80___PPT10 ? %&"#FAA-Qualifiable Ada Subset Compiler$$(V. Santhanam BoeingAgendajProblem statement Qualifying a compiler The subset Compiler architecture Verifying the compiler ConclusionProblem StatementFAA certification of software levels of criticality Level A (catastrophic failure) Level B (severe failure) Level C (major failure) Level D (minor failure) DO-178B is the de facto standard for FAA certificationH4h74h Problem StatementuCost of software certification climbs rapidly with complexity and level of criticality Software written in a HOL is often verified only at the source level For highest level of criticality, DO-178B calls for verification at the loaded object code level Qualifying the tools that transform the source code into a load image can significantly reduce the cost of certification&WW Qualifying a CompilerNQualifying a tool means obviating the need to verify its output Qualifying a compiler suite means being able to trust the load image if the source program can be trusted Software verification can be aimed entirely at the source program Results and coverage at the source program translate to results and coverage of the object program*@ZZ@ Qualifying a CompilerTo be able to take credit for source level verification at the object level, the compiler suite Must be deterministic Must map source code to object in a direct, context-independent manner Must not include extraneous or unreachable code&`` Qualifying a Compiler?To achieve FAA qualification as a code development tool, the suite must be Developed using DO-178B compliant software development process Documented to DO-178B standard Tested to same DO-178B standard applicable to the level of software it is intended to compile A typical COTS compiler meets none of the above criteria<KZZ9ZK9  The SubsetDecision to build a compiler for a subset of Ada was based on several factors Ada is widely recognized as a  safe language We had experience building compilers and analysis front-ends for Ada We had experience with large safety-critical systems developed in Ada We had helped define and filter software for subset restrictions suitable for safety critical applications*NZ$ZN$ The SubsetWThe subset was driven by four ground rules The compiler must be written in under 50,000 lines of Ada The subset must be suitable for up to medium-sized (< 100,000 SLOC) applications The subset must incorporate the most common restrictions placed on safety critical software The subset may not extend or alter the syntax or the semantics of Ada&+-+-  The SubsetDecision to keep or leave out a feature was made based on its  score on four factors Complexity it added to the compiler Need for it in small-to-medium sized high-integrity embedded applications Availability of alternatives Desirability for high-integrity applications&VV The SubsetThe choice was a subset of Ada 95 roughly equivalent to Ada 83 No tasking No generics No OO features No subunits or child units No run-time memory management No user overloading Limited nesting*?ZZ? The SubsetSome of the Ada 95 additions are retained Modular (unsigned) integer types Access to subprograms, global data Use type clause (no package use clause) Aliasing of objects (address clause)&**Compiler Architecture&Compiler architecture is untypical Performs virtually no optimizations Enforces safe coding standards as if they were language semantics Designed for testability, not performance Written in a portable subset of Ada Compiled with no optimizations All run-time checks on Liberal use of assertions*#ZZ#  The Zbra Compiler Suite  Compiler Architecture-Compiler targets to a virtual machine Stack-based VM supports Ada operations directly VM facilitates direct source-to-object mapping VM allows execution profiling without source code changes or a different compilation mode VM facilitates application portability VM serves as the run-time support layer&&& Verifying the CompilerQualification as a level A code development tool per DO-178B calls for Requirements-based testing Achieving maximum structural coverage through requirements-based testing Augmenting with module tests to achieve 100% structural coverage&GGVerifying the CompilerRequirements-based testing All applicable ACVC tests are included 562 tests were determined to be applicable Supplemented with architecture specific tests 116 tests A growing suite of  regression tests 106 tests to date'+. &'+. &  Verifying the Compiler|Module tests are employed only Where requirements-based tests leave coverage deficiencies When code is unreachable otherwise&^^Verifying the CompilerEAdditional means of verification planned Compiler itself is to be compiled using two independent Ada compilers All requirements-based tests are to be run on both versions of the compiler At least one Level A system will be constructed and deployed using conventional verification process Will serve to provide service history:)&)& Conclusion;We have Demonstrated that it is possible to build a qualifiable compiler for a useful subset of Ada Complemented the COTS technology with a unique product that fills a serious void Raised the bar on how safety critical systems ought to be built Provided a means by which software verification costs can be contained&44FAA-Qualifiable Compiler Question?"  d ` f3Eh` ff` MMMwww` ff3f3>?" dd@,?nKd@  d @nK` d n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>> % p h   (  T 1  "1  S BC1DEF ?Z B 0Z @1  S BB C DEF?rA r @\   S B+ C DEF?v*  v @   S BCIDEF??H\ @ I  NL7gֳgֳ ?"  T Click to edit Master title style! !    Z;1 ?"``  Z* 2    Z?1 ?"`   \*(2    ZD1 ?"`   \*(2Z    fG1 ?"   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S`  Hd޽h? ? f3Eh Blue Diagonal{      @  (   T 1   "1   S BC1DEF ?Z B 0Z @1   S BB C DEF?rA r @\    S B+ C DEF?v*  v @    S BCIDEF??H\ @ I  N4V+gֳgֳ ?" + T Click to edit Master title style! !  HdY+gֳgֳ ?"` @  + W#Click to edit Master subtitle style$ $  Z$\+1 ?"`` + ^* 2  Zdf+1 ?"`  + `*(2  Z8l+1 ?"`  + `*(2`  Hd޽h? ? f3Ehp P(     N&+9l9l ^(  + v* K&&KKqq  N +9l9l  ( + x* K&&KKqq  T3+9l9l ^'  + v* K&&KKqq  T+9l9l  ' + x* K&&KKqqH  0Ni' ? ̙3380___PPT10. Cm 0h$(  hr h S t+  + r h S lu+ ` @  + H h 0޽h ? f3Ehy___PPT10Y+D=' = @B +m  `l$(  lr l S =+  + r l S =+   + H l 0޽h ? f3Ehy___PPT10Y+D=' = @B +m  pp$(  pr p S `+  + r p S +   + H p 0޽h ? f3Ehy___PPT10Y+D=' = @B +}  $(  r  S +  + r  S +   + H  0޽h ? f3Eh___PPT10i.<+D=' = @B +m  t$(  tr t S ="  " r t S ?"   " H t 0޽h ? f3Ehy___PPT10Y+D=' = @B +  xP(  xr x S m    x S ,S  <$D  0  H x 0޽h ? f3Eh___PPT10+qZDh' = @B D#' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*x`v%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*x`vD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*x`vDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*xv%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*xvD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*xvDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*x%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*xD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*x+  |P(  |r | S I"  "  | S J"  <$D  0 " H | 0޽h ? f3Eh___PPT10+qZD|' = @B D7' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*|@%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*|@D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*|@+:  P(  r  S h{     S |  <$D  0  H  0޽h ? f3Eh"___PPT10+qZD' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*N|%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*N|D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*N|Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*|D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*|Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*r%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*rD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*r+J  P(  r  S \     S |S  <$D  0  H  0޽h ? f3Eh2*___PPT10 .|+qZD' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*+e%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*+eD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*+eDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*e%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*eD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*eDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*X%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*XD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*X+J  P(  r  S "  "   S ̕"  <$D  0 " H  0޽h ? f3Eh2*___PPT10 .̠E+qZD' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Vz%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*VzD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*VzDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*z%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*zD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*zDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*+" Q \(  x  c $"  "   c $|"  <$D  0 " H  0޽h ? f3Eh  ___PPT10h .+qZD@ ' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*?J%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*?JD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*?JDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*JV%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*JVD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*JVDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Ve%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*VeD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*VeDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*e%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*eD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*eDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*+:  P(  r  S      S \1"  <$D  0  H  0޽h ? f3Eh"___PPT10+qZD' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<**K%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<**KD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<**KDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Kn%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*KnD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*KnDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*n%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*nD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*nDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*+"   P(  r  S J+  +   S pK+  <$D  0 + H  0޽h ? f3Eh | ___PPT10\ +qZD@ ' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*#G%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*#GD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*#GDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*G%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*GD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*GDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* '%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* 'D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* '+R  /'Q(  B O # l1?N @ ,$@  0r  S "  " Hf i  13 #" .&62 2  i  3 C p"3  DZbra Source code   4 C <8"4XH`  HZbra Compiler (Zcmp)  Jf i  53 #" 4 ,62 6  i  7 C /7  FZbra Assembly code  Kf i  83 #"   62 9  i  : C 0:  GOther Z-code files   ; C p5;(H`  IZbra Assembler (Zasm)  42 = #   > S 8>(XP  GByte code (Z-code)   ? C <? H` `  FZbra Linker (Zvml)  LB A c $Dx xRB B s *DԔ0H0RB C s *DԔ0`  0RB D@ s *DԔ H  E  BCDE4FԔ ,h+ hv @    #"  $Fn  F  B8CgDE(FԔ 832g5uT(8 @   #"  H 2 G <BGs@HjJ p     H  BCDE4FԔ <Y> Ibtwx @    #" 6`   I c $\DI&p8  GZbra Compiler Suite   L c $HLjJ  : Z-code executable Zbra Virtual Machine Interpreter (ZVM),;  ( LB M c $D   N  f4N1?  BTarget Machine(2 Q  `R1?. ,$D  0 ? Native code (2 H  0޽h ? f3Eh  ___PPT10 +6XDO ' = @B D ' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*O%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*OD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*OD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*Q%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*QD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Q+8+0+Qi +   P(  r  S f     S g  <$D  0  H  0޽h ? f3Eh___PPT10p+qZDT' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*&V%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*&VD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*&VDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*V%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*VD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*VDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*.%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*.D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*.+m  0$(  r  S l   r  S Hm    H  0޽h ? f3Ehy___PPT10Y+D=' = @B +&  @P(  r  S Du     S $v  <$@  0  H  0޽h ? f3Eh___PPT10.0cB+1;[D' = @B Du' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*B%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*BD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*BD' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Bm%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*BmD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*BmD4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*m%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*mD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*mD' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*+^   PP(  r  S 4|     S }  <$D  0  H  0޽h ? f3EhF > ___PPT10 .(+qZD ' = @B D ' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Z%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*ZD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*ZDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*Z}%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*Z}D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Z}+  `P(  r  S Ȏ     S   <$D  0  H  0޽h ? f3Ehz___PPT10Z.AB+qZD.' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*)o%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*)oD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*)oDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*o%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*oD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*oD4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* F%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<* FD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<* F+:  pP(  r  S      S 8Ф  <$D  0  H  0޽h ? f3Eh"___PPT10+qZD' = @B D' = @BA?%,( < +O%,( < +Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*dD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*dDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*dD' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*dDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*<%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*<D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*<+}  $(  r  S d٤   r  S  ڤ    H  0޽h ? f3Eh___PPT10i.ˠ2ؓ+D=' = @B +rt0q(6pFMIKP1Sck@!;}:{`A7N>2Zfë|q mOh+'0# px , L X d p|Zbra Compiler Technologyi V. Santhanam TeSC:\Program Files\Microsoft Office\Templates\Presentation Designs\Blue Diagonal.potrobyogr16yMicrosoft PowerPointoso@'dQr@@e@`gZTUG"g  -& &&#TNPP2OMi & TNPP &&TNPP    &&--e- $ $  e- $ $((e- $((22d- $22<<d- $<<FFd- $FFPPc- $PPZZc- $ZZddc- $ddnnb- $nnxxb- $xxa- $`- $`- $_- $^- $^- $]- $\- $[- $Z- $Y- $X- $W- $U- $T- $S- $""R- $"",,P- $,,66O- $66@@M- $@@JJL- $JJTTJ- $TT^^H- $^^hhG- $hhrrE- $rr||C- $||A- $?- $>- $<- $:- $8- $6- $4- $3- $0z- $.t- $-p- $*k- $)g- $'a- $%]- $&&#X- $&&00!T- $00::O- $::DDJ- $DDNNF- $NNXXA- $XXbb=- $bbll8- $llvv4- $vv/- $+- $&- $ !- $ - $ - $- $- $---&&&{&&--&&f- $&&&- &$:LP6:&&-&& &&-B( UUUU-&&$:LP6:&&f- $&- --&&&&--&&f- $&&&- &$&&-&& &&-B( UUUU-&&$&&f- $&- --&&&lJ&--&&f- $lJJl&&&- &$Iul&&-&& &&-B( UUUU-&&$Iul&&f- $lJJl&- --&&&{b&--&&f- ${{bb&&&- &$]azD7&&-&& &&-B( UUUU-&&$]azD7&&f- ${{bb&- --&&&&G&qw@W1 LSwUSw0- &Gy& --yxH-- @Times New RomanLSwUSw0- . 2 FAA&&. . 2 FAA&&. . 2 -. . 2 -. .*2 'Qualifiable Ada Subset &% . .*2 %Qualifiable Ada Subset &% . .2 ~Compiler#(. .2 |Compiler#(.--1(-- @Times New RomanLSwUSw0- .2 Wi V. Santhanam   . .2 Vh V. Santhanam   . .2 Boeing . .2 Boeing .--"System 0-&TNPP &՜.+,0    ,On-screen ShowWch-Mil Times New Roman WingdingsBlue Diagonal$FAA-Qualifiable Ada Subset CompilerAgendaProblem StatementProblem StatementQualifying a CompilerQualifying a CompilerQualifying a Compiler The Subset The Subset The Subset The Subset The SubsetCompiler ArchitectureThe Zbra Compiler SuiteCompiler ArchitectureVerifying the CompilerVerifying the CompilerVerifying the CompilerVerifying the Compiler ConclusionFAA-Qualifiable Compiler  Fonts UsedDesign Template Slide Titles_}+robyroby  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)Current UserSummaryInformation(#PowerPoint Document(DocumentSummaryInformation8