comp.lang.ada
 help / color / mirror / Atom feed
From: hestermeyer@ida.ing.tu-bs.de (Andreas Hestermeyer)
Subject: Grouping data from different modules together
Date: Mon, 1 Mar 1993 15:32:17 GMT
Date: 1993-03-01T15:32:17+00:00	[thread overview]
Message-ID: <1993Mar1.153217.3290@ibr.cs.tu-bs.de> (raw)

We are designing software for small space borne control systems of scientific
experiments on spacecrafts. Because of the radiation environment, one
main goal is to keep the amount of memory needed, especially the ROM
memory, as small as possible.
  One possible contribution to small code is to group data from several
modules with the same functional semantics together in memory and let 
another, centralized, module use the data. Examples for such data groups 
are address lists of initialization functions, error counters, 
configuration data. 
  Whereas the data defining modules know the inidividual meaning of each
data item in a group, a system module may only know the structure and
basic semantics of each item and know nothing about the individual 
meaning. I.e. the system initialization code would run through the list
of initialization function addresses and call each initialization 
function. Or a reconfiguration module would take the block of 
configuration data and store it in a permanent powered RAM (without knowing
about each individual item). 
An error checking module could cyclically browse through the block 
of error counters and notify any changes in the outgoing datastream.

  So far for the basic concept. To be efficient, all items of a group
should be allocated an undivided space in memory. It is usually very
easy to define such GROUPS in assembler language and have the linker
taking care of grouping the data together. So each data item can be defined
in the source code file of the module it belongs to. No extra source
file, where all data items of a group would be defined together, is 
needed and this serves the aspects of modularization and independance 
very well.

  Is there any language construct in C,C++,PASCAL,Modula or ADA to 
support such data groups ?
  I haven't found any. If not : why didn't anybody invent such things ?

Comments to this are welcome.

   Andreas Hestermeyer
   internet : hestermeyer@ida.ing.tu-bs.de



             reply	other threads:[~1993-03-01 15:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-03-01 15:32 Andreas Hestermeyer [this message]
     [not found] ` <1993Mar1.153634.4146@ibr.cs.tu-bs.de>
     [not found]   ` <1993Mar1.153053.2961@ibr.cs.tu-bs.de>
1993-03-01 17:10 ` Grouping data from different modules together Mark A Biggar
1993-03-01 19:17   ` Robert Firth
1993-03-02 16:05     ` throopw%sheol
     [not found]     ` <1993Mar2.073345.29349@ib <62368@aurs01.UUCP>
1993-03-04  8:07       ` Andreas Hestermeyer
1993-03-10  7:43         ` Richard A. O'Keefe
  -- strict thread matches above, loose matches on Subject: below --
1993-03-02  7:33 agate!spool.mu.edu!caen!sol.ctr.columbia.edu!ira.uka.de!news.dfn.de!tubsi
replies disabled

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