comp.lang.ada
 help / color / mirror / Atom feed
* Need advice re package organization.
@ 2003-07-26 13:08 Bobby D. Bryant
  2003-07-26 14:25 ` Robert I. Eachus
  2003-07-26 17:03 ` Nick Roberts
  0 siblings, 2 replies; 38+ messages in thread
From: Bobby D. Bryant @ 2003-07-26 13:08 UTC (permalink / raw)



Most of my work with Ada has involved either smallish programs or simple
self-contained library units where a good package organization was
obvious, but now I'm doing something with several layers of interrelated
parts and I'd like to get some experienced advice on how to organize my
components into packages.

For the (n+1)th revision of my research code I'm going to break up my
neural network implementation into a hierarchy of objects, not a
derivational hierarchy but a hierarchy of objects composed from more
elementary objects.  In particular I'll start with some atomic types for
weights, activation accumulators, etc., implement neurons as compositions
of those atomic types, layers as compositions of neurons, and networks as
compositions of layers.  Each component will have various utility
procedures and functions in addition to the type definitions, and most of
the types will be tagged types to facilitate the creation of derived types
for instrumenting the behavior of individual objects and some other odd
things I do in my research.

The intent of that component design is to allow programs or auxiliary
packages to manipulate networks as high-level abstractions, but to be able
to reach down and manipulate a layer or a neuron directly when necessary.
My question is how would be the best way to translate that structural
hierarchy into Ada packages.  Three obvious solutions come to mind:

1) Roll everything into a single package.

2) Create an independent package for each level of the hierarchy,
"with"ing the other packages as needed.

3) Create a lean parent package and implement each object in a separate
child package, "with"ing the others as needed.

The third does not seem a very obvious solution to me, but I'm considering
it because that's generally how GtkAda is organized.  However, the
hierarchy flattened by the GtkAda package structure is more a derivational
hierarchy than a compositional hierarchy, so I don't know whether the same
design considerations would apply.

Any suggestions, either for my specific example or for more general
considerations?

Thanks,

-- 
Bobby Bryant
Austin, Texas




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

end of thread, other threads:[~2003-08-05  7:16 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-26 13:08 Need advice re package organization Bobby D. Bryant
2003-07-26 14:25 ` Robert I. Eachus
2003-07-26 15:27   ` Warren W. Gay VE3WWG
2003-07-26 22:00     ` Robert I. Eachus
2003-07-27 22:01       ` chris
2003-07-28  2:53         ` Robert I. Eachus
2003-07-29  4:52           ` Richard Riehle
2003-07-27 22:02       ` Warren W. Gay VE3WWG
2003-07-28  8:38         ` Dmitry A. Kazakov
2003-07-29 17:18           ` Warren W. Gay VE3WWG
2003-07-30  8:42             ` Dmitry A. Kazakov
2003-07-30 21:00               ` Warren W. Gay VE3WWG
2003-07-30 22:46                 ` Randy Brukardt
2003-07-31 16:39                   ` Warren W. Gay VE3WWG
2003-07-31 17:31                     ` Randy Brukardt
2003-07-31 21:00                       ` Warren W. Gay VE3WWG
2003-07-31 22:13                     ` Robert I. Eachus
2003-08-01 12:51                       ` Warren W. Gay VE3WWG
2003-07-31  5:57                 ` Matthew Heaney
2003-07-31 16:57                   ` Warren W. Gay VE3WWG
2003-07-31 22:33                     ` Robert I. Eachus
2003-08-01  2:58                       ` Chad R. Meiners
2003-08-01 13:51                         ` Stephen Leake
2003-08-01 22:15                           ` Robert I. Eachus
2003-08-04 13:45                             ` Stephen Leake
2003-08-01 13:01                       ` Warren W. Gay VE3WWG
2003-07-31  9:04                 ` Dmitry A. Kazakov
2003-07-31 16:59                   ` Warren W. Gay VE3WWG
2003-07-31 20:41                     ` Randy Brukardt
2003-07-31 21:15                       ` Warren W. Gay VE3WWG
2003-08-01 20:04                         ` Randy Brukardt
2003-08-01 21:33                           ` Stephen Leake
2003-08-04 19:40                             ` Randy Brukardt
2003-08-04 19:52                               ` Stephen Leake
2003-08-05  3:36                   ` Richard Riehle
2003-08-05  4:03                     ` Hyman Rosen
2003-08-05  7:16                     ` Dmitry A. Kazakov
2003-07-26 17:03 ` Nick Roberts

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