comp.lang.ada
 help / color / mirror / Atom feed
From: wheeler@ida.org (David Wheeler)
Subject: Re: dynamic memory allocation
Date: 1997/06/18
Date: 1997-06-18T00:00:00+00:00	[thread overview]
Message-ID: <5o9436$qlo@news.ida.org> (raw)
In-Reply-To: 33A55F1B.63FE@gsfc.nasa.gov


Stephen Leake (Stephen.Leake@gsfc.nasa.gov) wrote:
: I'm trying to convince my project that dynamic memory allocation is a
: bad idea in an embedded software system (a satellite control system, in
: this case). 

: They are proposing a message passing scheme where sending tasks allocate
: buffers for each message from a heap, and receiving tasks deallocate. I
: have suggested that the heap could become fragmented (the buffers are
: NOT all the same size). They say "we'll just test it thoroughly".

"NASA Guidebook for Safety Critical Software" (NASA-GB-1740.13-96)
(see http://www.ivv.nasa.gov) says in 4.2.2.4 on page 47:

 Dynamic memory allocation: ensure adequate resources are available
 to accomodate usage of dynamic memory allocation, without conflicts.
 Identify and protect critical memory blocks. Poor memory management
 has been a leading factor in several critical failures.


Alsys' (now Aonix') "Safety-Critical Handbook" (sorry, I don't see
a year of publication), page 26, says:

 Heap Storage

 Use of heap storage presents a number of problems for certification...
 To minimize fragmentation, the runtime system typically uses algorithms
 to search for space availability ... As these searches are not
 deterministic, they are not permitted in safety critical systems.
 The use of the heap must be restricted to a predictable set of
 operations where the time and memory used can be determined by analysis,
 and verified by testing.



You might also wish to see:
"Assessing Traditional Verification's Effectiveness on Safety-Critical
Software Systems" by Gowen and Collofello, Journal of Systems Software,
1994:26:103-115.  In an experiment, testing failed to find key safety defects.






--- David A. Wheeler
    dwheeler@ida.org





  parent reply	other threads:[~1997-06-18  0:00 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-16  0:00 dynamic memory allocation Stephen Leake
1997-06-16  0:00 ` Joel Seidman
1997-06-16  0:00 ` Samuel Mize
1997-06-17  0:00 ` Robert Dewar
1997-06-17  0:00   ` Spam Hater
1997-06-17  0:00     ` Robert Dewar
1997-06-17  0:00   ` Stephen Leake
1997-06-17  0:00     ` Michael F Brenner
1997-06-17  0:00     ` Brian Rogoff
1997-06-17  0:00 ` Glen Cornell
1997-06-17  0:00 ` Jon S Anthony
1997-06-18  0:00   ` Mats.Weber
1997-06-18  0:00     ` Jon S Anthony
1997-06-18  0:00 ` David Wheeler [this message]
1997-06-18  0:00 ` David Wheeler
1997-06-18  0:00   ` Stephen Leake
1997-06-19  0:00     ` Arthur Schwarz
1997-06-20  0:00     ` David Wheeler
1997-06-19  0:00   ` JP Thornley
  -- strict thread matches above, loose matches on Subject: below --
1997-06-19  0:00 Marin David Condic, 561.796.8997, M/S 731-93
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox