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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,87627bdc747a0287 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!postnews.google.com!m79g2000cwm.googlegroups.com!not-for-mail From: "jimmaureenrogers@worldnet.att.net" Newsgroups: comp.lang.ada Subject: Re: Martian Rover Spirit's mulitasking software reset. Date: 5 Sep 2006 21:47:37 -0700 Organization: http://groups.google.com Message-ID: <1157518057.446951.89720@m79g2000cwm.googlegroups.com> References: <12fsfpic0ccq16b@corp.supernews.com> NNTP-Posting-Host: 69.170.65.169 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" X-Trace: posting.google.com 1157518063 19232 127.0.0.1 (6 Sep 2006 04:47:43 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 6 Sep 2006 04:47:43 +0000 (UTC) User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6,gzip(gfe),gzip(gfe) Complaints-To: groups-abuse@google.com Injection-Info: m79g2000cwm.googlegroups.com; posting-host=69.170.65.169; posting-account=SqOfxAwAAAAkL81YAPGH1JdBwpUXw9ZG Xref: g2news2.google.com comp.lang.ada:6461 Date: 2006-09-05T21:47:37-07:00 List-Id: ME wrote: > The mars rover Spirit suffered a software reset as a result of a multitasking problem. > > "The apparent cause was that the rover's central processing unit was overworked as several tasks were running in parallel at the time." > > > > The rover uses VX works and I believe C. Testing obviously did not catch this fault. Would the use of Ada made any difference? Not necessarily. While there could be many reasons for this problem, one likely one was the dynamic creation of Pthreads. A similar problem could have been designed into an Ada program using dynamic creation of tasks from a task type. The problem appears to be fundamentally caused by poor design. Ada does not prevent poor design. On the other hand, it may have been easier to spot the problem during code reviews using Ada, since Ada tasking is done at a much higher level of abstraction than Pthreads using C. The higher level of abstraction often aids in human understanding of code. Jim Rogers