Global stocks sank Wednesday after US President Donald Trump said he was not satisfied with talks that are aimed at averting a trade war with China. Equities were also dented by poor eurozone economic data, and as Trump cast doubt on a planned summit with North Korean leader Kim Jong Un. “Trump (is) continuing to drive uncertainty over global trade,” said analyst Joshua Mahony at trading firm IG. “European markets are following their Asian counterparts lower, as a pessimistic tone from Trump is compounded by downbeat economic data,” he added. Markets had surged Monday after US Treasury Secretary Steven Mnuchin and Chinese Vice Premier Liu He said they had agreed to pull back from imposing threatened tariffs on billions of dollars of goods, and continue talks on a variety of trade issues. However, Trump has declared that he was “not satisfied” with the status of the talks, fuelling worries that the world’s top two economies could still slug out an economically pain
There are no language recommendations or requirements, other than what is sensible given the verification requirements in the various standards (e.g., DO-178B/C). For the highest design assurance levels, the generated code must be inspected down at the op-code level to ensure no known processor gotchas are invoked. You also end up having to test every part of every conditional, both the true and the false sides, and ensure that no jump instructions will take you someplace where you didn't expect it to go.
For these reasons, the big three languages in use in embedded avionics today are:
- C++ (as a better C. The OO nature is often used only sparingly. Things like polymorphism are just too expensive to verify)
- Ada (You may not like it, but a TON of current avionics are written in Ada, and are currently being maintained and updated with new features)
- C - As close to the hardware as you want to get and still be highly productive (not intending to offend anyone who is productive in something else)
Assembler is frequently used for specific needs, but it would not be used to a greater degree than one of the above-mentioned languages.
What makes these languages ideal for avionics is that they are relatively close to the hardware and memory structure, not too abstract. Their tools are mature and well-known. People have years of experience certifying software written in them. And there are lots of programmers who can get up to speed in them quickly (Yes, even Ada).
Non-safety critical software, both on and off the aircraft, will be written in any of the big languages of the day: Java, C#, VB, C, C++, Python, Perl, Ruby, etc.
iPads are becoming useful inside the cockpit and are approved in limited situations. iOS apps are written in Objective-C, C, C++, and increasingly, Swift (Apple's new language).
Comments
Post a Comment