comp.lang.ada
 help / color / mirror / Atom feed
* Re: Grouping data from different modules together
@ 1993-03-02  7:33 agate!spool.mu.edu!caen!sol.ctr.columbia.edu!ira.uka.de!news.dfn.de!tubsi
  0 siblings, 0 replies; 7+ messages in thread
From: agate!spool.mu.edu!caen!sol.ctr.columbia.edu!ira.uka.de!news.dfn.de!tubsi @ 1993-03-02  7:33 UTC (permalink / raw)


In article <1993Mar1.171045.17020@wdl.loral.com> mab@wdl1.wdl.loral.com (Mark A
 Biggar) writes:
>In article <1993Mar1.153217.3290@ibr.cs.tu-bs.de> hestermeyer@ida.ing.tu-bs.de
 (Andreas Hestermeyer) writes:
>>  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 ?
>
>There is a standard way to do this in all the above languages. It is called
>the record stucture.  It is the standard way to group related data items
>together.  This deos require that all the related data items be defined
>in the same file, but if they are related enough to be grouped together, then
>they are related enough to be defined together.
>
>--
>Mark Biggar
>mab@wdl1.wdl.loral.com
>
>
I disagree. This leads to a situtation where, if you exchange one module with
another, you would have to change (at least) to files. This really isn't necess
ary.
One should think of a portable way to implement this.

Andreas Hestermeyer

^ permalink raw reply	[flat|nested] 7+ messages in thread
* Grouping data from different modules together
@ 1993-03-01 15:32 Andreas Hestermeyer
       [not found] ` <1993Mar1.153634.4146@ibr.cs.tu-bs.de>
  1993-03-01 17:10 ` Mark A Biggar
  0 siblings, 2 replies; 7+ messages in thread
From: Andreas Hestermeyer @ 1993-03-01 15:32 UTC (permalink / 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



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~1993-03-10  7:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1993-03-02  7:33 Grouping data from different modules together agate!spool.mu.edu!caen!sol.ctr.columbia.edu!ira.uka.de!news.dfn.de!tubsi
  -- strict thread matches above, loose matches on Subject: below --
1993-03-01 15:32 Andreas Hestermeyer
     [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 ` 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

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