The (un)Lucky 13 Aviation Safety Commandments!

13 Apr

The 13 (un)Lucky Commandments of Aviation Safety

Ethiopian Airlines Flight Remains post-Crash, March 2019

Fellow Aviation Engineers – I was discussing recent aviation headlines with our AFuzion senior engineering staff and it’s unanimous: the past six months are the historic Tipping Point which will be spoken of for the next 100 years. Remember your school Physics class and the video of the failing Tacoma Narrows Bridge emphasizing the need for safety via resonant frequencies? If you don’t know that one, you are either not an engineer or you skipped class that day.  Similarly, most of us have heard of the 10 Commandments received by Moses … Well, did you know there are ‘AFuzion’s Thirteen Commandments of Aviation Safety 2020”? If not, keep reading …

Yes, times were simpler back in Moses’ day – the aviation technology world is far more complex so an (un)lucky 13 Commandments are required. Our aviation great grandchildren will be discussing 2019 one hundred years from now as well. Perhaps we will have actually learned from these Thirteen Commandments of Aviation Safety for 2020. Yes, these are directed at the Boeing 737 MAX disasters, and specifically how we can learn from and apply these Thirteen Commandments; just as bridge design changed after the Tacoma Narrows disaster, aircraft safety, design, and oversight will be forever changed starting today. Hopefully. But only if we all understand and apply these Commandments. So here, I’ve summarized them for all current and future aviation engineers: for the next 100 years …

The (un)Lucky 13 Aviation Safety Commandments:

1.      Follow mandatory ARP4761 for Development Assurance Level (DAL) Assignment. When the safety assessment provided to FAA and EASA states the 737 MAX MCAS will only adjust the Horizontal Stabilizer by 0.6 degrees and then the airframer changes it during flight testing to 2.5 degrees x 2 activations = 5 degrees, that is a fundamentally different design and Major safety impact. Such requires a formal Functional Hazard Assessment (FHA) update and a DAL reassessment, in this case resulting in a DAL of “A” (1 x 10—9) probability instead of DAL B (1 x 10—7) or DAL C (1 x 10—5) as was originally specified and approved. Remember: the United States 14 Code of Federal Regulations (CFR) 25.1309 is not optional and this failure violates the “Update Safety Assessment Continually Commandment”.

2.     Utilize mandatory redundancy for critical systems. When people can die, the Development Assurance Level is A if the failure can cause a plane to crash or Level B if passengers can die. For Level A and B, the required reliability is met via redundancy. Yes, the 737 MAX was equipped with two sensors (redundant), but MCAS only actively used one of the sensors thus violating the “Redundancy Commandment”.

3.      Follow mandatory ARP4754A processes for System Requirements. Software is only as good as the System requirements mandated to precede it. Those System requirements must include Safety and derived requirements from the FHA and Preliminary System Safety Assessment (PSSA) per ARP4754A. This includes power-up testing of the Angle-of-Attack sensor, redundancy requirements, and pilot display/awareness requirements. The 737 MAX system requirements missed this Commandment therefore its software was doomed; subsequent patching (changing) of software to address missing Systems requirements is just another form of broken “System Commandment”.

4.     Implement both Continuous and Power-up Built-In-Test (BIT) on Power-up to test both Angle-of-Attack (AOA) Sensors and mismatches. When the sensor angle outputs differ by more than a nominal calibration amount (1-2 degrees), either both sensors should be deactivated with an accompanying pilot annunciation and MCAS deactivation, or a 3-sensor voting design should instead be deployed as befitting the MCAS system’s true DAL A FHA designation. Failure to consider these is a clear violation of “ARP4754A’s Continuous Safety Update Commandment”.

5.      Follow mandatory System Safety Assessment (SSA) ARP4754A/4761 FMEA and MTBF calculations to determine the AOA sensor reliability was insufficient for DAL B let alone DAL A; use this finding to update the design and apply to an updated PSSA thus requiring active sensor redundancy usage. Failure to do this violates the “ARP4761 FMEA/MTBF Validation Commandment”.

6.      Implement Built-In-Test (BIT) on Power-up to test both Angle-of-Attack (AOA) Sensors and mismatches. Evidence indicates the active LionAir sensor was off by 20-degrees while the plane was still taxiing yet such result was not actively used in MCAS system deactivation or pilot annunciation; this violates the “ARP4754A Derived Safety Requirement Commandment”.

7.     Follow rules for mandatory display of aircraft safety conditions including explicit pilot annunciation of MCAS Activation. When flight data recorders yield soon-to-be-dead pilots thumbing through operating manuals to determine what’s going on, it’s clear the 737 MAX pilots were not informed of MCAS system activation whose AOA sensor failure plunged them to the surface. Boeing previously had an enviable record deploying aircraft where the pilot exercised primary control versus a more automated-avionics approach. While either approach is feasible, the pilot-in-command strategy (historic Boeing and 737 MAX training protocols) require the 737MAX pilots to be informed of MCAS activation. They were not and the resultant crashes result from violating the “Promote Pilot Situational Awareness Commandment”.

8.     Follow New Aircraft Cert rules for New Aircraft. When the 737 MAX aircraft revision and heavy new engines so significantly changes the Center of Gravity thus requiring a new system (MCAS) to compensate, this is a Major design change. Adding an all-new system to mitigate the 737 MAX’s higher stall probability is good, but this yields a New design with mandatory higher recertification standards and requisite mandatory pilot retraining with significant procedural and operating manual updates. Sneaking in a Major change via a Minor update violates the “Certification Transparency Commandment”.

9.     Pilot workload and situational awareness are the single leading cause of aviation safety incidents; in my personal pilot ground-school training, pilot procedures and situational awareness were the principal training focus. Mandatory ARP4761 FHA processes require an assessment of pilot workload; both 737 MAX disasters occurred minutes after takeoff during initial climb out and relatively low altitudes: a high-risk area for aviation safety and pilot awareness. ARP4761 requires consideration of flight phase and pilot workload; had this been properly performed during the 737 MAX and MCAS FHA, the MCAS system response should have lessened the automatic horizontal stabilizer deflection angle while simultaneously alerting the pilot. Remember, automatic descent initiation is obviously problematic when the aircraft is still climbing out after takeoff – the ground (water) is just 40 seconds away instead of 5-10 minutes. This failure violated the “Consider Flight Phase and Pilot Workload during FHA Commandment”.

10.  Keep Certification independent: Maintain FAA or 3rd Party (Independent Designated Engineering Representative) oversight and proactive involvement instead of increasing Organization Design Approval (ODA) fraught with incestuous schedule/profit driven motivations.   Yes, this requires more FAA work meaning more funding (the annual FAA funding game is the laughingstock of the aviation world, trust me). Listen to the senior FAA personnel who specifically complained about the lack of oversight else such violates the “Independent Certification Commandment”.

11.   Apply mandatory ARP4761 System Safety Assessment specifying 10—5 (or 10—7 if active DAL B) Mean-Time-Between Failure (MTBF) to AOA sensors. Affirm AOA manufacturer’s MTBF calculations via screening and retest at airframe integrator. The 737 MAX sensors should not have experienced two separate failures on new aircraft. Such poor sensor reliability violates the “Prove Device Failure Rate MTBF Assumptions via Screening and Testing Commandment.”

12.  Keep things simple: aircraft are designed for the Average pilot, not the Best (military-trained) pilot. Forcing a pilot to learn to override a system via control stick updates, motor cutoff and trim adjustments is stupid (the Lion Air routine on the day’s prior flight with a well-trained pilot hitching a ride in the jumpseat). Instead, simply display “MCAS Activated – Continue or Disable?” on Primary Flight Displays with quick access for pilots to disable. Otherwise we violate the “Keep It Simple for Average Pilots Commandment.

13.  When the plane almost crashes on Sunday (Lion Air) it’s not readily cleared for safe flight the next day Monday without fixing the problem. Period. Aviation safety is built upon Root Cause Analysis and if you could not find the root cause you certainly could not then analyze it. This violates the “Don’t Be Stupid. Period. Commandment.”

There: Thirteen Aviation Safety Commandments. Interestingly, these Commandments are Forgiving: Had the 737 MAX events violated only one, or only seven, or only 12 of these Commandments, it’s my opinion the two crashes could have been prevented. But when thirteen of thirteen Commandments are broken, it’s time to seek Forgiveness – but only after going back and learning Prevention. Because after all, requesting Permission really is better than requesting Forgiveness.

Author’s note: AFuzion normally sells its “Applying ARP4754A” whitepaper and “Applying ARP4761” whitepaper for $50 each. But in the interest of world aviation safety, these two papers are free for anyone to download from now through April 30, 2019. Simply go to the Whitepaper page on www.afuzion.com. Download for free here: https://afuzion.com/rp-4761a-introduction-avionics-safety/

Safe Skies, Vance Hilderman, CEO, AFuzion Inc.

New Cyber-Security in Aviation LinkedIn Group and record Cyber-Security Class Attendance in Munich

17 Mar

New Cyber-Security in Aviation LinkedIn Group has started (join below), and big Kudos to AFuzion’s Mr. Aharon David teaching a large Aviation Cyber-Security DO-326A / ED-202A full-day course at Europe’s largest aviation event: Aerospace Tech Week in Munich last week.

Aharon’s cyber-security expertise was enjoyed by a large group of class attendees who learned about aviation’s newest requirements for Cyber-Security.  Demand was so strong that seven more classes are added for 2019 including Madrid, Italy, and DASC/San Diego.

For a free copy of AFuzion’s 20-page technical Aviation Cyber-Security paper on DO-326A and ED-202A, click here: Click here for AFuzion’s 20-age Tech Whitepaper on Aviation Cyber Security

To join the new Cyber-Security in Aviation group on LinkedIn, please click here: Click To Join Free Cyber-Security in Aviation or Engineers/Managers LinkedIn Group

 

Aviation Cyber Security & DO-326A: The New 2019 Mandates

15 Jan

Aviation Cyber Security will be perhaps the largest new development affecting all avionics developers and aircraft integrators for 2019.

Are you ready?  If not, read below for a free technical 1-hour tutorial webinar on February 7th and also training in Munich at Aviation Tech Week on March 12, 2019. To sign up for the free Feb 7 webinar, click here:   Click Here To Watch 1-Hour AFuzion DO-326A / ED202A Aviation Cyber-Security Webinar/Recording

To register for the March 12 Munich Aviation Week Aviation Security Training, click here: Aviation Security 1-Day Training Info & Registration Munich March 12

Aviation Security – it’s imperative in 2019 to develop an understanding of what is required for new avionics/aircraft development and operations via the new mandatory DO-326A/ED-202A documents.

The DO-326A/ED-202A set of documents is all about the mitigation of the aviation/aircraft safety effects of “Intentional Unauthorized Electronic Interaction (IUEI)”, a.k.a. “Cyber Threats”, and which were explicitly excluded from the classic DO-178/ED-12/ARP4754 set.

DO-326A/ED-202A & DO-356A/ED-203A focus upon type certification during the first three phases of an aircraft (including avionics) type: 1) Initiation, 2) Development or Acquisition, and 3) Implementation. Their companions DO-355/ED-204 focus upon security for continued airworthiness. DO-326A/ED-202A currently has 3 (three) companion documents: ED-201, DO-355/ED-204 and DO-356A / ED-203A, and a few more planned. DO-326A / ED202A provide requirements and objectives in a similar fashion to DO-178C, DO-254, and ARP4754A; while the DO-326A guidance is just that, certification authorities increasingly assess DO-326A compliance as added requirements for aviation suppliers.

The DO-326A/ED-202A set currently applies to fixed-wing aircraft (Part 25), with clear FAA recommendations for the adaptation/tailoring of DO-326A/ED-202A for general aviation (Part 23),rotorcraft (Parts 27 and 29), engines (Part 33) and propellers (Part 35), and clear indications of it will increasingly being applied to these other aircraft including military beginning in 2022 or thereafter.

DO-326A/ED-202A is “Airworthiness Security Process Specification”, used to mitigate effects of intentional electrical equipment intrusion, a.k.a. “IUEI” (Intentional Unauthorized Electronic Interaction) which could impact aircraft safety. DO-326A/ED-202A currently has 3 (three) companion documents: ED-201, DO-355/ED-204 and DO-356A / ED-203A (see below for detailed information) , and a few more planned. DO-326A / ED202A provide requirements and objectives in a similar fashion to DO-178C, DO-254, and ARP4754A; while the DO-326A guidance is just that, certification authorities increasingly assess DO-326A compliance as added requirements for aviation suppliers. Currently, DO-326A/ED-202A only applies to larger commercial aircraft, greater than 19 seats, hence is for Part 25 fixed-wing aircraft, however – clear FAA recommendations already exist for the adaptation/tailoring of DO-326A/ED-202A for general aviation (Part 23),rotorcraft (Parts 27 and 29), engines (Part 33) and propellers (Part 35). AFuzion’s participation in various committees and client work indicates DO-326/ED-202 will increasingly be applied to these other aircraft including military beginning in 2022 or thereafter. DO-326A focuses upon type certification during the first three phases of an aircraft (including avionics) type: 1) Initiation, 2) Development or Acquisition, and 3) Implementation. See DO-355/ED-204 below which focuses upon security for continued airworthiness.

Avionics and aircraft manufacturers need to address both developmental and operational aspects of their aircraft/systems. This ecosystem of secure safety within aviation development and operation focuses upon prevention of malware entering the avionics systems while they are being developed or data-loaded, and also during flight operations where such malware (or external hacking) could alter intended aircraft operations and safety.

As their titles suggest, ED-201 serves as the top-level “WHY” guide for the entire information security process. DO-326A/ED-202A define the “WHAT”, including risk assessment for ARP4761A; DO-356A/ED-203A comprise the “HOW” – more or less the “security-companions” of DO-178C/ED-12C et al; DO-355/ED-204 are the “WHAT THEN” – feeding to ARP5150; and the new ED-205 is for the ground (CNS/ATM, e.g. companions to DO-278A), more or less the “security-companions” of DO-278A/ED-109A, et al. Where the base aviation guidelines (DO-178C, DO-254, DO-278A, ARP4754A,…) suggest safe and verifiable engineering processes, the aforementioned security-related documents provide guidance and rules which augment those engineering processes for security intrusions and extend through aircraft operations. For DO-326A / ED-202A Guidance, DO-326A Training, DO-326A Mentoring, or DO-326A Gap Analysis, contact AFuzion.

For information on private DO-326A Training and ED-202A Training, see the AFuzion training page for more details here: AFuzion Cyber Security Training Info Click Here

Santa, All We Want For New Year 2019 is … Seven More Avionics Engineers!

4 Jan

OK, time for honesty:  did everyone get what they wanted from Santa Claus ten days ago?!?   Yes, Santa was good for everyone here at AFuzion Inc. with our record-breaking year doubling last year’s $ results.  But one thing (actually seven things) were missing from under the Tree … yes, Engineers.

You see, we’ve been steadily increasing staff here the past five years to keep up with our growing business in 25 countries.  At our December planning meeting, we actually wrote a letter to Santa asking him ” Santa, please bring us 9 more engineers. To start work Jan 7, 2019.”  Really.  Now folks, all of us either have children, know children, or are still children.  My kids even say I’m just a big child during the holidays.  We BELIEVE in Santa Claus. (Santa, are you listening?)  When we were kids, we usually got some of what we wanted.  But this year, Santa only brought us two engineers.  2.  T-W-O.    Santa, can you spell “N I N E”?  As in “9”.  We asked for 9.  We got 2.

Santa, do you not do math at the North Pole?  When Susie or Johnnie ask for a new bike, do you simply bring them one tire?  Yes, the two engineers you brought were great. Really.  Truly.  Top 10% of their field which is our minimum standard.  Thank you Santa.  But again we asked for Nine.  We got TWO …

Santa, if you are listening, we won’t tell anyone if you secretly make another trip to our chimney and bring us seven more engineers.  Yes, these are for the USA so must be USA citizens.  Yes, these are for the western USA so hopefully they want to live in Los Angeles, Phoenix, or Dallas.  Please Santa, if you can’t bring the engineers directly to us, please just send us their contact info or CV to our email at info@afuzion.com.  Otherwise Santa, we’re going to spread the word that you sleep in funny red pajamas and live off cookies, milk, and … reindeer meat.  Santa, really.  Lay off the reindeer – just send us great Engineers please. ASAP!!!

Yours truly,

All the Engineers (Elves) at AFuzion Inc.

AFuzion Releases All-New Requirements Whitepaper for DO-178C, DO-254, and ARP4754A Software, Hardware, and Systems

20 Dec

 

AFuzion Inc. today announces the free availability of its newest technical whitepaper: “Requirements for Safety-Critical & Avionics Software, Hardware, and Systems”.  Previously available only to AFuzion’s 300+ clients, this latest paper is now available for free download from AFuzion’s whitepaper page.   Says Jeff Stevenson, AFuzion’s Business Manager:  “When AFuzion was smaller, we did business with 30-40% of the world’s avionics companies. But now the majority of them are AFuzion’s clients and our  technical papers are so widely distributed it only makes sense to make them fully available to all engineers worldwide.  The key is Safety, combined with efficiency and quality, so we’re adding a little year-end Holiday Cheer and making AFuzion’s latest paper publicly available.”

Adds Vance Hilderman, AFuzion’s Chief Technical Office and the author of this paper: “System, Software, and Hardware requirements are truly the key to safety-critical project success.  As we have taught 20,000 engineers in our AFuzion courses, Requirements development, management, and refinement are the true keys to project success. ARP4754 System requirements, DO-178C software requirements, and DO-254 hardware requirements development is both a science and an art. This paper describes how to build better systems faster and cheaper via Requirements.  Few things in life, or in aviation, are simple. But that truism is.”

This latest AFuzion paper is 14-pages filled with detailed information on creating, managing, refining, and validating requirements. Remember, verification means “does the implementation meet the requirements”, whereas validation asks “and do we have the ‘right’ requirements”.  This AFuzion paper shows why Validation is more important than Verification because without the right requirements, it is largely irrelevant if they are then verified.  Indeed. 

AFuzion has created perhaps the world’s largest library of technical whitepapers for safety-critical and aviation development. AFuzion’s decade’s old papers are still distributed by former employees (with the author’s name accidentally removed and replaced), but all AFuzion’s latest papers are freely available to clients.  Anyone is allowed to download up to two papers for free, so no reason to refer to the decades-old versions passed around elsewhere. 

For a free download, simply click here or go the AFuzion website under Whitepapers: Click Here For Free AFuzion Whitepaper Download

AFuzion Launches New CAST-32A Multi-Core Processing Training

18 Nov

AFuzion’s new CAST-32A Multi-Core Processing for Avionics and Safety-Critical developers has launched with strong acclaim. The future of embedded processing is via multi-core processors as the need for added processing power has surpassed the ability of CPU’s to keep up. However, multi-core processors utilize shared cache, shared memory, and shared communications I/O. This sharing between the MCP cores produces potential interference which can violate the very “determinism” requisite for certifiable safety-critical systems. For example, avionics DO-178C and DO-254 require adherence to CAST-32A recently updated by the worldwide Certification Authorities Software Team (CAST).

CAST-32A is the worldwide (America, Europe, Asia) Certification Authorities Software Team (CAST) guidance for ensuring safe implementation of Multi-Core Processing (MCP) within avionics systems. Increasingly MCP’s are used in avionics and understanding what must be done to plan for, implement, and verify deterministic “safe” MCP development via CAST-32A is the focus of this AFuzion 2-day private training course. Attendees will understand how to utilize multiple-cores providing simultaneous operations using deterministically shared resources such as cache, memory, and communications and performing MCP CAST-32A Interference Analysis. Attendees will also learn how to work with RTOS vendors and RTOS’s themselves to comply with CAST-32A and develop safer avionics.  For a free technical whitepaper on CAST-32A, download here: Click Here for Free AFuzion Technical Whitepaper “Understanding CAST-32A

 

CAST-32A is increasingly relevant to avionics developers but users find it vague and challenging to understand. AFuzion’s 2-day CAST-32A Training teaches attendees how to properly understand, deploy, and verify MCP-based applications. AFuzion’s training was recently provided with our industry partner Lynx Software to 45 senior MCP developers in Huntsville Alabama and it was a resounding success; all the attendees stated it was highly worthwhile and crisply delivered to provide a true practical understanding of CAST-32A deployment for avionics via DO-178C and DO-254. AFuzion’s CAST32A training syllabus is summarized below, with full details at AFuzion’s website, https://afuzion.com/training/cast-32a-multi-core-processing-training/

 

KEY FEATURES:

  • CAST-32A Introduction
  • Summary of DO-178C, for Multi-Core usage
  • RTOS Introduction & Scheduling, Processes, Tasks, and Threads
  • MCP What & Why
  • DO-178C & MCP – Plans, Standards, Activities
  • CAST-32A MCP Robust Partitioning Principles
  • RTOS Specifics – Technical Info
  • DO-254 & MCP
  • MCP Cert, Deadlines, Benchmarks & Reports
  • Overview: IMA, ARP4754A, ARP4761 & MCP
  • IMA & CAST-32A Modules and Partitioning
  • DO-178C’s & MCP Requirements, Design & Verification –
  • MCP & CAST-32A Best Practices for Planning, Testing, & Certification
  • MCP & CAST-32A WCET Mistakes & Best Practices

Can Multi-Core Processing Be Safe? Maybe … (CAST-32A)

3 Oct

 

 

Yes, you are busy and in today’s world you want immediate answers to important questions. “Is Multi-Core Processing safe?” The quick answer: “It can be, but …”. The slightly less quick answer: read the next few paragraphs. The proper answer: review CAST-32A or listen in on the free technical webinar on October 11, 2018 (sign up here: free but limited to the first 500 signups and these always are oversubscribed: Free Multi-Core Technical Webinar Signup: )

For safety-critical systems, a key facet of safety is “determinism”, via apriori planning, development, verification, then safety certification. But Multi-Core Processing (MCP) achieves faster processing by performing multiple activities at the same time, in parallel, by allocating tasks to different processing cores which are all embedded on a single processor. Today, your computer or cellphone likely uses MCP. Why MCP? Simple: we want our devices to do more and to do it more quickly. We’re slowly reaching the point of diminishing returns on silicon density technology where we’ve blissfully followed Moore’s law via improved processor fabrication and faster clock speeds. The answer: put multiple processing cores on a single chip and enable use of shared resources (memory, cache, etc.) to enable faster “parallel” processing (where actual “parallelism” is determined by both the application developer’s architecture and the task allocation model, including operating system).

But just as free lunches are rarely “free”, MCP isn’t fully “free”; certainly not for safety-critical systems where that pesky “Determinism” attribute is important. Just five years ago, MCP was considered to be so dangerous it was indirectly “banned” by worldwide aviation authorities. But those authorities are too smart (clever?) to actually “ban” a technology, so they published a document named CAST-32 which essentially stated “MCP could be used if the developer could prove all cores were disabled except for one”. Wait – if you disable all cores except one, then you don’t really “have” MCP, do you?!? Who knew the advanced certification experts had a great sense of humor. Now, when disabling three out of four engines on a four-engine airplane, you’re essentially flying a heavier single engine airplane with worse performance characteristics than a true single engine aircraft. Same with disabling all the cores on a multi-core processor. Brilliant.

And then, voila, technical evolution meets Today: the new update to CAST-32, aptly titled CAST-32A, allows for true MCP usage in airborne safety-critical systems. But the new MCP lunch isn’t free: we now have to prove determinism within the MCP including its innermost secret (intellectual property) workings. This means we must prove predictable memory and cache usage without interference. The burden of proof is on the user and typical users don’t understand (and don’t have access to) the real-time operating system (RTOS and MCP internal design to enable such proofs. Affirming MCP determinism is not trivial and you almost certainly need a certifiable MCP RTOS to enable MCP certifiability.

In the software certification world, there is an interesting relationship between OOT and MCP. Yes, both acronyms have three letters. But the real similarity is in utilizing safe subsets. Example: true C++ was not fully usable 15 years ago until rules for safe object oriented technology via defined language subsets (MISRA C++) were formalized. The result was that full C++ cannot be used without rules limiting its usage (for example, restricting the use of inheritance, polymorphism, overloading, and garbage collection). Similarly, full MCP usage will be difficult to prove deterministic usage so limitations simplify MCP acceptability; those limitations include core/task allocation models which greatly reduce potential interference paths between cores. So, a certifiable MCP use-case is there and becoming clearer. To make it very clear, simply watch the free AFuzion technical webinar at the link provided above. Or watch it anytime later via the AFuzion free technical training webinars posted on YouTube here: AFuzion Free Technical Youtube Webinars.

There you go: quick answers for you busy engineers. But we’re never too busy to be safe so keep your cores deterministic.

Safe Skies,

Cheers, Vance Hilderman (CEO AFuzion Inc.)

To Succeed, We Must Know Failure

26 Aug

TO SUCCEED, WE MUST FIRST KNOW FAILURE.

Have you noticed that each Fall, many new articles are published supposedly teaching us how to Succeed. But one year later, an all-new set of “How To Succeed” articles is published, meaning the prior books must not have worked. The reason? This author believes the answer is easy: “To succeed, we must first know failure.”

That’s right: success requires a solid foundation and that foundation must be devoid of cracks. To avoid cracks in your success foundation, we must know what causes cracks. Consider a simple building: foundation cracks can be caused by poor design, weak cement, insufficient steel reinforcement, earthquakes, water intrusion, loose underlayment, and here in AFuzion’s Manhattan headquarters as I write this … water intrusion from storms. Any attempt to build a solid foundation without knowing the causes of cracks requires perfect luck along with blissful ignorance. In real life, continuous luck never happens so success requires knowing the causes of failure.

FAILURE & CHOICE.

Several years ago while starting AFuzion, I needed firsthand Failure knowledge. Why? Simple – I had lost several friends in airplane crashes and I was working on my own pilot license. My 50+ years had many successes, however there were several instances of failure which I hadn’t fully explored. However, in aviation, there would be no opportunity for self-exploration of failures, so I realized I needed to understand the cause of past failures. Yes, I too had read hundreds of those “Success” articles mentioned above and found them helpful. Helpful at creating the successes but worthless at preventing my Failures. There’s the answer and it was a simple choice: I could either rely upon perfect luck to avoid dying in my airplane, or I needed to really understand Failure. I chose the latter.

For millennia, humans evolved knowledge by improving upon successes while simultaneously learning from failures. The quotation “Those who don’t understand history are bound to repeat it” rang true: early humans quickly learned two fundamental truths: 1) “If it worked the first time there’s no guarantee it will always work the second time”, and 2) “If it didn’t work the first time, it probably won’t work the second time”.

Now wouldn’t it be refreshing to have open discourse about our failures so that others could learn from and prevent repetition? The conundrum: authors mistakenly believe their reputations will be tarnished if others learn how often they failed … so much better to avoid Failure discussions and write only about Success! And that dear readers is why this Fall’s plethora of newly released Success articles will so closely resemble last year’s … until now.

I completed my piloting ground school not studying only successful pilot actions but also studying accidents and what caused them. In most aviation accidents, the ground and onboard fuel are unforgiving so it’s up to the investigators to help us learn from the failure. But my real career has been devoted to thirty years of avionics development – mostly successful but a few failures intertwined. While the successes were numerous (founding and leading three of the world’s largest avionics development/certification companies), failures sometimes occurred. Fortunately the Success spotlight shone brighter than the Failures meaning the latter could be cast aside. Ignored by most. I went on to write many articles and books about achieving avionics development success but never recorded the Failures. Until now. Truly, I learned from those failures. I learned they were more numerous than imagined because we optimistic humans readily gloss over failures. And I learned my failures were preventable as I never repeated a failure; instead I simply found the freedom to incur new failures interspersed with many successes. Did my successes diminish my failures? Only on the grand stage of Visibility which differs from real life. So now, with the help of my fellow avionics development colleague Mr. Joao Esteves, we have recorded for all posterity “How To Fail at Avionics Development”.   Yes, go ahead and read this Fall’s new batch of Success articles. Enjoy them and have good luck with them. But pilots (and avionics developers) who rely upon luck soon find it in short supply. Instead, try something new: study real failures and their causes. Mine. Ours. And hopefully not Yours.

For a free download of “How To Fail at Avionics Development” simply email info@afuzion.com or download free whitepapers here: Click here for free AFuzion Technical Paper download

Brazil Safety-Critical Training Week, September 10 – 14, 2018 (Both Free & Paid Training)

23 Jul

Brazil’s largest full week of safety-critical development training is just six weeks away – hope to see you there!

Free Safety-Critical Software/Hardware Seminar, Sept 10, 2018: 

Theme: “Electronic complex and embedded software in critical systems”

Location: Technological Park of São José dos Campos, SP – Brazil

Date: September 10, 2018

Ticket price: FREE

Speakers:

  1. Vance Hilderman

CEO of AFuzion and specialist in software and systems development, with a focus on “safety-critical” in the aerospace and automotive sectors;

  1. Gilberto Trivelato

CEO of Seamax Aircraft and specialist in development of safety-critical control systems with aeronautical certification levels;

  1. Two other highly specialized specialists related to the theme.

 

Formal DO-254 Intermediate Avionics Hardware Development & Certification Training

Date: September 11-12, 2018

Location: Technological Park of São José dos Campos, SP – Brazil

 

Details:

Since DO-254 was released ten years ago, the knowledge of software hardware development processes, techniques, and strategies for safety-critical hardware has vastly changed and in some cases improved.  However, there is a large gap between understanding the real intent of DO-254 certification and the minimalist words in the Book. Just as commercial hardware development techniques have advanced, so has the world of aviation hardware development and certification. This Intermediate DO-254 training will provide important knowledge for attendees to rise to, understand, and apply those advancements and new hardware certification requirements for FAA, EASA and worldwide certification agencies.  This Intermediate DO-254 training is intended for persons with basic familiarity of DO-254, DO-178, or safety-critical standards. If no prior training, just request AFuzion’s training papers to read in advance – freely provided to attending students.  The developer/teacher is the principal founder of two of the world’s largest avionics consulting companies and the principal author of several of the world’s most popular publications on DO-254: Vance Hilderman has taught over 11,000 avionics engineers and managers worldwide, including FAA and EASA officials, and engineers from 95 of the world’s largest 100 aviation companies: more than all the competitor’s current trainers in the world, combined.

AFuzion’s training has been provided to over 17,500 aviation engineers from 1,000 companies in 30 countries; more than all other trainers in the world combined. Brief summary below; contact us for more free information.

 

KEY FEATURES:

  • Quick refresher on basic DO-254 and “how” DO-254 is applied to advanced avionics
  • Understanding CAST-27 and AC 20-152 and related EASA certification requirements
  • Understanding actual hardware DO-254 requirements with actual case study
  • Advanced analysis, element analysis, and structural coverage for hardware logic
  • Actual hardware PHAC review checklist walkthrough
  • Actual hardware HWPA (“quality assurance”) review checklist walkthrough
  • Representative SOI audits for Hardware – what are they for #1, 2, 3, and 4
  • Hardware Requirements Validation – what is involved
  • Applying DO-254 to Military AND Commercial usage; differences between EASA & FAA
  • Understanding advanced DO-254 mistakes and best practices to avoid them element analysis/coverage
  • Controlling engineering cost/risks with DO-254 Requirements, Design, and Logic
  • Understanding and applying AC 20-152, CAST-27, and EASA-CM-SWCEH-001 for avionics hardware development per ED-80 and DO-254

WHO:  Attendees may include engineers, managers, quality assurance or certification personnel with previous knowledge, training, or experience in DO-254.

 For More Info & Registration: Click here for DO-254 Seminar Info

==========================================================================

Formal DO-178C Advanced Avionics Software Development & Certification Training

Date: September 13-14, 2018

Location: Technological Park of São José dos Campos, SP – Brazil

Details:

DO-178C (ED-12CC) is arguably the world’s most difficult software “standard” and many millions of lives rely on it yearly. But software development has rapidly evolved along with aircraft design:  many new technologies must be considered, and certified: C++, Model-Based Development, Formal Methods, non-CPU based logic, and advanced tools. New techniques for specifying avionics requirements and design must also be understood.  But what are detailed and derived DO-178C requirements?  How can C++ and OOT be safely used and certified per DO-332?   What are DO-178C Model-Based Development best practices in applying DO-331?  What are the answers to applying DO-178C’s Parameter Data Items?  What were the DO-178B weaknesses and how is DO-178C really different from DO-178B?  How can DO-178C cost and schedule be reduced by 20-30%?

This advanced DO-178C training is intended for persons with basic familiarity of DO-178 or safety-critical standards. If no prior training, just request AFuzion’s training papers to read in advance – freely provided to attending students.  The developer/teacher is the principal founder of two of the world’s largest avionics consulting companies and the principal author of the world’s most popular publications on DO-178: Vance Hilderman has taught over 11,000 avionics engineers and managers worldwide, including FAA and EASA officials, and engineers from 95 of the world’s largest 100 aviation companies: more than all the competitor’s current trainers in the world, combined.

AFuzion’s training has been provided to over 17,500 aviation engineers from 1,000 companies in 30 countries; more than all other trainers in the world combined. Brief summary below; contact us for more free information.

 KEY FEATURES:

  • Quick refresher on basic DO-178C and “how” DO-178C is applied to advanced avionics
  • Grasp key differences between DO-178B and DO-178C for more advanced users
  • Advanced Safety, Derived Requirements, and Detailed DO-178C Requirements
  • Understanding advanced DO-178C mistakes and best practices to avoid them including model based development, OOT, and C++
  • Controlling engineering cost/risks with DO-178C Requirements, Design, and Code
  • Understanding & applying DO-178C’s Supplements for:
    –     DO-330/ED-215 Software Tool Qualification
    –     DO-331/ED-216 Model-Based Development and Verification
    –     DO-332/ED-217 Object-Oriented Technology
    –     DO-333/ED-218 Formal Methods Supplement
  • Who:  Attendees may include engineers, managers, quality assurance or certification personnel with previous knowledge, training, or experience in DO-178.

For More Info & Registration:  Click Here for DO-178C Seminar Info

Object Oriented Technology, Safety Critical, and DO-332: Achieving Success in Software

17 Jul

If you’re involved in modern software development, then you care about OOT, or “Object Oriented Technology”.  If your software is for high-reliability or safety-critical applications, then you really care about OOT, especially “safe” OOT.  Why? Simple:  systems are becoming more complex, software is doing more of that complexity management, and schedules are tightening; while there’s no single magic bullet, OOT provides many answers.  And don’t you wish you had a single book that explained OOT, provided a tutorial, had decent examples, and emphasized the safety critical aspects?  Impossible for a single book to provide such?  We get this question often during AFuzion’s various safety-critical development training courses.  Our trainers have learned to provide a consistent answer: understand “DO-332”, the aviation community’s guideline for safety-critical OOT and you’ll have many of the answers.  Here is a brief synopsis below, and the full 12-page technical whitepaper is available here for a free download: Click here for AFuzion’s Free 12-Page Technical OOT Whitepaper

DO-332, Object-Oriented Technology and Related Techniques Supplement to DO-178C and DO-278A, is a 150-page guideline governing OOT usage in airborne and ground-based aviation software. However, since true OOT is relatively new to aviation software, (though Ada ’95 has been around since … 1995), the authors of DO-332 faced a large hurdle: how to provide meaningful guidelines to persons generally unfamiliar with object oriented software? The answer was skillfully handled within DO-332 by blending practical “guidelines” with an introduction to OOT which laid a common foundation for OOT terminology, application and certifiability.
There are many ways of approaching software development; hundreds of books are in print with many seemingly preaching their own “methodology”. But as all the many colors in a peacock stem from basic Red-Green-Blue, software development at its most (overly) simplified vantage has two “primary colors”: functional structured design and object-oriented design. Unlike the peacock, with software these “colors” do not blend well; many software design elements are considered to be either “functional” or “object oriented”. Traditional functional software is designed by considering then structuring each sequence of computer actions one at a time. Conversely, object oriented software is designed by first articulating software objects and actions to be performed on those objects, then integrating such objects/actions into meaningful groups and events. Yes, functional design may have some objects. Yes, object oriented design will use some sequential structural behaviors. But as a few drops of oil can float on water, that oil and water are hardly integrated; similarly functional and object oriented design are two distinct approaches which in their pure forms do not integrate easily with each other.

Prior to the publication of DO-332, safety-critical software developers had few rules for applying OOT. Programming standards such as MISRA C++ were available and well; those were used and should still be applied along with a commercial static analysis tool to sanitize and improve C++ source code. However, clear guidance for safety-critical OOT design and verification was lacking; DO-332 attempts to fill that void. In functional software design, the control flow is preordained by the developer thus the sequence of decisions (“control flow” in DO-178C) is considered along with the input and output data function-by-function (“data flow” in DO-178C). A typical structured sequence is depicted below:

In object-oriented software design, the individual data flow and control flow aspects are encapsulated via objects as depicted in this OOT class diagram; note the low level data/control flow elements are less visible than in the structured diagram depicted previously: (see the full diagram in AFuzion’s OOT whitepaper available here: Free Download AFuzion’s DO-332 OOT Whitepaper

Safety-critical domains including aviation are risk-averse; new technologies are considered suspect until their safety is proven. In safety-critical software, determinism and verifiability are paramount. For many years traditionalists held that functional software development was more deterministic than OOT: structured software’s execution sequencing was easily determined and repeatable. And at the unit level (software functions and collections of functions within a file), functional structured software was more readily verified: source code sections could be traced directly to associated software low-level requirements (LLR’s) and tested sequence by sequence. Thus functional software design readily enabled determinism and verifiability, while doing so reliably for decades. With such a successful track record of reliability, why would anyone desire OOT with its radical paradigm shift? Simple: the very essence of evolution …

According to Darwinism, evolution occurs in nature when a genetic change is seen to provide advantages for survival. Similarly for technology, evolution occurs when a change provides economic advantage, which is commercial survival. The software evolution from functional design to OOT occurred for the simple reason that OOT increasingly embodied two economic advantages over functional design: 1) greater ability to manage increasing software complexity, and 2) greater reusability. The seeds of aviation software evolution thus sprouted.

To understand the need for OOT is to understand the need for DO-332: aviation software, like all software, was (and still is today) growing dramatically in size, complexity, and thus cost. Enhanced safety meant increased software functionality which meant increased software size and complexity. Functional structured software is fine, even advantageous, when functionality is simple. Computing power increased exponentially according to Moore’s law allowing aviation developers to harness that increased capability.
OOT Introduction.
In the iron age of computing (fifty to twenty years ago), software was written manually by conceiving the sequential instruction execution necessary to accomplish an objective. When close hardware support was needed, assembly language was favored for more direct CPU-level control; otherwise source languages such as FORTRAN, Ada, or C were typically used for scientific programming. Aviation software grew exponentially in the 70’s and 80’s, meaning Ada and C predominated as the language of choice. Improving both reusability and complexity management was increasingly important so smart developers deployed a variety of techniques toward these goals: encapsulation, hardware abstraction, wrappers, and building libraries of software components with generic and robust interfaces. While these techniques improved reusability and complexity management, the commercial consumer and financial sectors went much further: they rethought the entire premise of programming via writing sequential instructions and instead adopted object oriented (OO) programming via a variety of languages designed especially for OO support. The safety-critical world slowly followed though OO posed challenges to verification, and thus certification. To understand why OO had such challenges, it’s necessary to first understand OO.

Instead of merely conceiving and writing (“coding”) sequential instructions for a computer program, OO developers think in terms of Objects. An object contains encapsulated data and procedures which are combined together and thus represent an entity. An object is a data structure that contains data. Instructions (“code”) are implemented within procedures which are called “methods”. The object has interfaces which describe how it interacts within the program. Instead of thinking in terms of individual sequential instructions, OO developers perform programming at a higher level by defining objects and interactions which consist of groups of instructions instead of single sequential instructions. An object’s methods can access, and possibly update, data within the object. Objects have many forms as shown here (see AFuzion’s whitepaper for actual figures).

Objects then can take many different forms, but in each of these forms an object maintains the following attributes:
 Is an abstraction of a real-world concept or thing
 Has a clear boundary
 Has a unique identity
 Knows things about itself
 May perform actions on itself
 May interact with other objects

Like people, professions, and even aircraft, objects can vary dramatically in their functionality, ability, and complexity. At their most simplistic, there are three basic types of objects as depicted below:

As can be seen in AFuzion’s whitepaper on OOT, objects themselves are capable and interesting. But by themselves they are not that useful. Consider an aircraft engine: by itself it too is capable and interesting. However the engine becomes powerful and useful when combined with an aircraft structure, wings, and control systems. Similarly, an object becomes powerful and useful when used within the context of Object Oriented Programming (OOP). The basic concepts of OOP are the software design capabilities incorporated within the programming language, typically C++ for aviation and many of today’s safety-critical systems. These aspects are summarized in the figure below (download AFuzion’s whitepaper for the complete details).

For information on advanced DO-178C training and  software development for safety-critical applications, click here: http://afuzion.com/training/avionics-software-advanced-do-178c-training-class/