From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 115aec,f41f1f25333fa601 X-Google-Attributes: gid115aec,public X-Google-Thread: 103376,a3ca574fc2007430 X-Google-Attributes: gid103376,public From: James Thiele Subject: Re: Ada and Automotive Industry Date: 1996/11/06 Message-ID: <1996Nov6.210957.3070@ole.cdac.com>#1/1 X-Deja-AN: 194941175 sender: news@ole.cdac.com (Usenet News) references: <55ea3g$m1j@newsbf02.news.aol.com> <3280DA96.15FB@hso.link.com> organization: Cascade Design Automation, Bellevue, WA newsgroups: comp.lang.ada,comp.realtime Date: 1996-11-06T00:00:00+00:00 List-Id: In article <3280DA96.15FB@hso.link.com> "Stanley R. Allen" writes: >ETHoierman wrote: > >> I see a lot about Ada in the aircraft >> avionics world but I haven't seen >> much on cars/trucks. Any suggested >> reading material, forums, etc? >> > >(I'm re-posting this note because it seems like >my ISP can't deliver my usenet posts very well...) > >Russ Hersch compiles FAQ information on the embedded >processor real-time market, and posts a notice each >month to comp.realtime about the various processors, >languages, kernels, tools, and vendors in that area. >In the last FAQ I saw (10-1-96), he mentioned >the automobile industry when discussing the growth of >the embedded processor market, to quote: "The auto- >motive market is the most important single driving >force in the mocrocontroller market... several >microcontroller families were developed specifically >for automotive applications...". I buy that. >>From his overview, almost all of the languages used >are loosely typed (assmebler, C, FORTH). Ada is >not mentioned, in spite of the success that the >avionics world has had with it. > >The two domains have so much in common, that it's just >a shame that most of the automotive industry hasn't >heard (much) of Ada. Both are building large real- >time distributed systems with high reliability & >safety requirements, with potentially long operations >and maintenance phases. [snip] > >Ada almost single-handedly drove the state-of-the-art >in optimizing compiler technology in the 80's. The >Ada83 market was very competitive, and some of the >DoD embedded processors were quite tiny; the best I've never seen Ada for Intel 8051 or Motorola 6800 series microcontrollers, and these are common in the auto industry. >minds in compiler optimization were hired and put >to the task -- as a result, Ada code generators >often equal or exceed C or even hand-coded assembly >(see http://www.ti.com/sc/docs/news/1994/94018.htm). >So, Ada is probably more than adequate to meet the >performance needs of the automobile industry. This reference refers to the speed of compiled Ada on a 32 bit DSP - I don't see the relevance to 8/16 micros. Also code size is much more important to the auto industry than to aerospace. If GM, Ford, or Honda have to use a larger PROM in a product they'll have to buy a million of them in a cost sensitive market. Aerospace industry products rarely have production runs larger than a few thousand, and are often rather cost insensitive. >As for the presumed prejudice against Ada, well... >I have personally worked with a number of programmers >that have come to Ada from a different background, >including hard-core C developers; almost invariably >they gain appreciation and respect for Ada after >working with it on real projects. Prejudices start >to break down with more familiarity. The Big Picture >is grasped. When I did Ada work at Boeing, I found a quote calling Ada "PASCAL for lawyers." The LRM for Ada 83 was a huge, dense document full of legalese. The language itself was hardly consistent. Quick, why is for i in -1..1 -- illegal in Ada 83? >Once you appreciate the problems that Ada was designed >to solve, you appreciate the solutions it provides. Ada was supposed to be used to build avionics, like autopilots. When we started thinking about how to build an autopilot in Ada 83 it immediately became apparent that the Ada 83 tasking model didn't work. Why not? Because you could not schedule a time critical task. An autopilot must update inputs and outputs regularly, say 20 times a second. In Ada 83 you can't schedule a periodic event reliably -- no Ada task was guaranteed to run at the time requested. Everyone I knew who used Ada for avionics in the 80s wrote their own scheduler. Note that automotive systems must handle periodic events. >And as the auto industry relies more and more on >embedded software, it should begin to look at Ada >and appreciate it more. Why should they appreciate a bloated language that requires them to hire new or retrain old programmers to write programs that won't fit on the microcontrollers they use? Perhaps Ada 9x has solved all these problems, but I doubt it. -- James -- James Thiele james@cdac.com (work) or jet@eskimo.com (home) http://www.eskimo.com/~jet