comp.lang.ada
 help / color / mirror / Atom feed
From: "Samuel T. Harris" <sam_harris@hso.link.com>
Subject: Re: Is Apex dead as an environment for Ada & Java?
Date: 1999/11/30
Date: 1999-11-30T00:00:00+00:00	[thread overview]
Message-ID: <38441AAE.29B2D8@hso.link.com> (raw)
In-Reply-To: 04d17460.3bc3fd68@usw-ex0101-008.remarq.com

jim_snead wrote:
> 
> In article <81s370$7am$1@nnrp1.deja.com>, mike_zebrowski@my-deja.com
> wrote:
> > Apex subsystems help prevent circular references.
> > Ada95 naming coventions do not.
> > Mike Zebrowski
> > Sent via Deja.com http://www.deja.com/
> > Before you buy.
> 
> I found out that Apex allows mutually importable
> subsystems, which is what I think the
> circular refers to.  So much for strict enforcement.

Well, it is strict. Mutually imports require that ALL
the mutally dependent views be managed collectively.
In other words, if views x, y, and z are mutually 
dependent, then I cannot make a release of view x
by itself. I have to make a relase based on x, y, and z
at the same time. They are, in practical terms, a single
logical subsystem split between multiple actual subsystems.
So they are much more restricted than regular, non-circular
import dependencies.

One way to eliminate circular dependencies is to insure
each interface is in a separate subsystem from its users.
For instance, say I have two major code collections called
X and Y. They both interface with each other, so X provides
an interface which Y uses and Y provides an interface which
X uses. If X's interface in packaged with X's code and similarly
for Y, then we have a mutual import dependency.

However, if I split the interfaces out into separate subsystems,
say X_Iface, X_Model, Y_Iface, and Y_Model, then I eliminate
the circular dependencies. If all models have a separate Iface
subsystem, then I never get circular dependencies no matter
what the interface topology. This also alows a natural release
strategy of releasing updated interfaces independently. This
allows all models to progress to the new interfaces in succession.
This architecture is very flexible to a variety of scheduling
paradims.

> 
> * Sent from RemarQ http://www.remarq.com The Internet's Discussion Network *
> The fastest and easiest way to search and participate in Usenet - Free!

-- 
Samuel T. Harris, Principal Engineer
Raytheon, Scientific and Technical Systems
"If you can make it, We can fake it!"




  reply	other threads:[~1999-11-30  0:00 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-11-26  0:00 Is Apex dead as an environment for Ada & Java? jim_snead
1999-11-28  0:00 ` Martin Dowie
1999-11-28  0:00   ` jim_snead
1999-11-28  0:00     ` mike_zebrowski
1999-11-28  0:00       ` jim_snead
1999-11-29  0:00         ` reason67
1999-11-29  0:00           ` jim_snead
1999-11-30  0:00             ` reason67
1999-11-30  0:00               ` jim_snead
1999-11-30  0:00             ` Martin Dowie
1999-11-29  0:00         ` Samuel T. Harris
1999-11-29  0:00           ` jim_snead
1999-11-29  0:00             ` John Duncan
1999-11-30  0:00               ` reason67
1999-12-01  0:00               ` Robert Dewar
1999-11-30  0:00                 ` John Duncan
1999-11-30  0:00             ` Samuel T. Harris
1999-11-30  0:00             ` Martin Dowie
1999-12-01  0:00             ` Aidan Skinner
1999-12-02  0:00               ` Robert Dewar
1999-12-03  0:00                 ` Simon Wright
1999-12-03  0:00               ` David C. Hoos, Sr.
1999-11-30  0:00         ` Martin Dowie
1999-11-29  0:00       ` jim_snead
1999-11-30  0:00         ` Samuel T. Harris [this message]
1999-11-30  0:00           ` jim_snead
1999-12-01  0:00             ` Samuel T. Harris
1999-11-30  0:00     ` Martin Dowie
1999-11-30  0:00       ` jim_snead
1999-12-01  0:00       ` Robert Dewar
1999-12-01  0:00         ` Martin Dowie
1999-12-01  0:00     ` jim_snead
1999-12-02  0:00       ` Robert Dewar
1999-12-02  0:00       ` Ted Dennison
1999-12-02  0:00         ` Larry Kilgallen
1999-12-09  0:00           ` Mark Hertel
1999-12-11  0:00         ` Robert Dewar
1999-12-11  0:00           ` Richard D Riehle
1999-12-11  0:00             ` Marin D. Condic
1999-12-11  0:00             ` Marin D. Condic
1999-12-11  0:00             ` Marin D. Condic
1999-12-11  0:00             ` Marin D. Condic
1999-11-30  0:00   ` Simon Wright
1999-11-30  0:00     ` jim_snead
1999-11-30  0:00 ` Tucker Taft
1999-11-30  0:00   ` jim_snead
1999-12-01  0:00     ` Larry Kilgallen
1999-12-01  0:00 ` Andreas Winckler
1999-12-01  0:00   ` David W. Glessner
1999-12-01  0:00   ` jim_snead
1999-12-02  0:00     ` Andreas Winckler
1999-12-02  0:00     ` Samuel T. Harris
1999-12-02  0:00       ` jim_snead
1999-12-06  0:00         ` Samuel T. Harris
1999-12-18  0:00         ` Steven Hovater
  -- strict thread matches above, loose matches on Subject: below --
1999-11-26  0:00 Tom_Hargraves
     [not found] ` <01bf3857$22ca59a0$022a6282@dieppe>
1999-11-26  0:00   ` Ed Falis
     [not found]   ` <01bf38cc$04d205e0$022a6282@dieppe>
1999-11-27  0:00     ` jim_snead
1999-12-18  0:00       ` Steven Hovater
1999-11-26  0:00 ` jim_snead
1999-11-26  0:00   ` Steven Hovater
1999-11-26  0:00     ` jim_snead
1999-12-09  0:00       ` Wes Groleau
1999-12-12  0:00         ` jim_snead
1999-11-27  0:00     ` Robert Dewar
1999-12-09  0:00   ` Henrik Delin
replies disabled

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