comp.lang.ada
 help / color / mirror / Atom feed
From: "Bobby D. Bryant" <bdbryant@mail.utexas.edu>
Subject: Need advice re package organization.
Date: Sat, 26 Jul 2003 07:08:27 -0600
Date: 2003-07-26T07:08:27-06:00	[thread overview]
Message-ID: <pan.2003.07.26.13.08.25.810488@mail.utexas.edu> (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




             reply	other threads:[~2003-07-26 13:08 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-26 13:08 Bobby D. Bryant [this message]
2003-07-26 14:25 ` Need advice re package organization 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
replies disabled

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