comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation)
Date: 1996/11/04
Date: 1996-11-04T00:00:00+00:00	[thread overview]
Message-ID: <EACHUS.96Nov4182340@spectre.mitre.org> (raw)
In-Reply-To: EACHUS.96Nov1103759@spectre.mitre.org


In article <1996Nov4.072757.1@eisner> kilgallen@eisner.decus.org (Larry Kilgallen) writes:

  > Running under an operating system on a uniprocessor there clearly
  > must be a method of yielding to the lock-holder.  In a preemptive
  > scheduling environment this is automatic (although a yielding call
  > is more polite).  In a non-preemptive scheduling environment,
  > a simple call to yield the processor should suffice, and that
  > still leaves the overhead as approximately a memory read and
  > test.

   Not to pick on Larry--or anyone participating in this
discussion--but I am really confused.  Since all of the possible
modifications of Bounded_Strings must be done (legally) through a few
calls in the package, and Ada rules are really very clear in this
area, the Bounded_Strings package doesn't have to maintain any locks.

   It is the case that if you want to have a program which has
multiple tasks which reference the same bounded string, and one of
them does an update, then you have to have a synchronization point
before the next reference.

   Now as long as there are no synchronization points in the string
ops, you don't have a problem.  You can even allow for the case where
an allocation or free can be an external synchronization point.  The
only problem is transitive updates:

   Task 1:                     Task 2:

     Create string A;
     Create B = A; 
     Synch with task 2;          Synch with task 1;
     Modify B;                   Create string C = A;

     If you pay attention to the order of operations--and you have
atomic memory increment and decrement instruction--this works fine.
On systems where "cheap" synchronization operations are other than the
test and set model or counting semaphores, you may be limited to at
most two strings sharing the same text.  A better alternative would be
to put the creating task id in the heap object and only allow sharing
between strings created by the same task.  (It turns out not to be a
problem if a task goes away an a new task takes its identity.)

     So my proposal would be to write the code calling 'PRED and 'SUCC
on a volatile count field, and provide the current body on machines
which can't honor the pragma Volatile.  Oops!  One last merry little
detail.  Make the count type unsigned full word size so that you don't
get pessimistic code to deal with overflow.  (Yes, on some machines it
might be possible to have Unsigned'LAST + 1 pointers to the same
string object without overflowing memory, but I'm not going to worry
about it.)

--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...




  parent reply	other threads:[~1996-11-04  0:00 UTC|newest]

Thread overview: 250+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-10-08  0:00 Once again, Ada absent from DoD SBIR solicitation Gregory Aharonian
1996-10-08  0:00 ` Gandalf
1996-10-09  0:00 ` Bill Nielsen
1996-10-09  0:00   ` Stanley R. Allen
1996-10-09  0:00     ` C++ Standardization (was: Once again, Ada absent from DoD SBIR solicitation) David Shochat
1996-10-10  0:00       ` Robert Dewar
1996-10-10  0:00         ` David Shochat
1996-10-20  0:00           ` Richard Riehle
1996-10-20  0:00             ` nasser
1996-10-21  0:00               ` Shayne Flint
1996-10-21  0:00                 ` Robert A Duff
1996-10-21  0:00                   ` Robert Dewar
1996-10-22  0:00                   ` Ken Garlington
1996-10-22  0:00                   ` Shayne Flint
1996-10-22  0:00                     ` Robert A Duff
1996-10-22  0:00               ` Rush Kester
1996-10-11  0:00         ` Ed Falis
1996-10-11  0:00           ` Robert Dewar
1996-10-12  0:00             ` Kevin D. Heatwole
1996-10-12  0:00               ` Robert Dewar
1996-10-13  0:00                 ` Larry Kilgallen
1996-10-13  0:00             ` Ed Falis
1996-10-11  0:00       ` Dave Wood
1996-10-11  0:00         ` Dave Wood
1996-10-17  0:00         ` Garbage Collection in Ada Thomas Kendelbacher
1996-10-10  0:00     ` Once again, Ada absent from DoD SBIR solicitation Mike Stark
1996-10-10  0:00       ` Stanley R. Allen
1996-10-11  0:00         ` Mitch Gart
1996-10-11  0:00           ` Ken Garlington
1996-10-11  0:00           ` Robert Dewar
1996-10-14  0:00             ` Mitch Gart
1996-10-14  0:00               ` Ken Garlington
1996-10-14  0:00           ` Norman H. Cohen
1996-10-14  0:00             ` Bevin R. Brett
1996-10-10  0:00     ` Mitch Gart
1996-10-10  0:00       ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Brian Rogoff
1996-10-10  0:00         ` Dave
1996-10-11  0:00           ` Tucker Taft
1996-10-14  0:00             ` Brian Rogoff
1996-10-15  0:00               ` Mitch Gart
1996-10-15  0:00                 ` Larry Kilgallen
1996-10-15  0:00                   ` Mark A Biggar
1996-10-16  0:00                 ` Brian Rogoff
1996-10-28  0:00                 ` Kenneth Almquist
1996-10-29  0:00                   ` Invoking parental methods (was: Java vs Ada 95) Larry Kilgallen
1996-10-31  0:00                     ` Kenneth Almquist
1996-10-31  0:00                       ` Larry Kilgallen
1996-11-05  0:00                         ` Mitch Gart
1996-11-05  0:00                           ` Larry Kilgallen
1996-11-09  0:00                             ` Joel VanLaven
1996-11-05  0:00                           ` Tucker Taft
1996-11-05  0:00                             ` Larry Kilgallen
1996-11-06  0:00                               ` Robert A Duff
1996-11-06  0:00                                 ` Larry Kilgallen
1996-11-06  0:00                             ` Mitch Gart
1996-11-06  0:00                             ` Robert I. Eachus
1996-11-07  0:00                               ` David Wheeler
1996-11-08  0:00                             ` Robert I. Eachus
1996-11-08  0:00                             ` Jon S Anthony
1996-10-15  0:00               ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Mike Stark
1996-10-15  0:00                 ` Robert Dewar
1996-10-16  0:00                   ` Mike Stark
1996-10-17  0:00                     ` Robert A Duff
1996-10-17  0:00                 ` Why no Propagates? Matthew Heaney
1996-10-18  0:00                   ` Robert A Duff
1996-10-18  0:00                   ` Robert Dewar
1996-10-18  0:00                   ` Norman H. Cohen
1996-10-18  0:00                     ` Robert Dewar
1996-10-15  0:00               ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Robert A Duff
1996-10-15  0:00                 ` Portability of Arithmetic (was: Java vs Ada 95) Larry Kilgallen
1996-10-16  0:00                   ` Robert A Duff
1996-10-16  0:00                     ` Robert Dewar
1996-10-17  0:00                       ` Robert A Duff
1996-10-17  0:00                         ` Robert Dewar
1996-10-18  0:00                           ` Norman H. Cohen
1996-10-18  0:00                             ` Robert Dewar
1996-10-18  0:00                               ` Brian R. Hanson
1996-10-19  0:00                                 ` Robert Dewar
1996-10-19  0:00                                   ` Larry Kilgallen
1996-10-22  0:00                                     ` Once again, Ada absent from DoD SBIR solicitation Dale Stanbrough
1996-10-27  0:00                                       ` Robert Dewar
1996-10-21  0:00                                   ` Portability of Arithmetic (was: Java vs Ada 95) Norman H. Cohen
1996-10-21  0:00                                     ` Robert Dewar
1996-10-21  0:00                               ` Norman H. Cohen
1996-10-21  0:00                                 ` Robert Dewar
1996-10-22  0:00                                   ` Larry Kilgallen
1996-10-23  0:00                                     ` Robert Dewar
1996-10-23  0:00                                       ` Larry Kilgallen
1996-10-23  0:00                                   ` Norman H. Cohen
1996-10-21  0:00                               ` Lance Kibblewhite
1996-10-18  0:00                           ` Larry Kilgallen
1996-10-18  0:00                             ` Robert A Duff
1996-10-17  0:00                         ` Larry Kilgallen
1996-10-18  0:00                           ` Robert A Duff
1996-10-17  0:00                     ` Stephen Leake
1996-10-17  0:00                       ` Robert A Duff
1996-10-17  0:00                         ` Larry Kilgallen
1996-10-18  0:00                           ` Robert A Duff
1996-10-17  0:00                         ` Robert Dewar
1996-10-15  0:00                 ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Robert Dewar
1996-10-17  0:00                 ` Alan Brain
1996-10-17  0:00                   ` Robert Dewar
1996-10-17  0:00                   ` Robert A Duff
1996-10-18  0:00                   ` Keith Thompson
1996-10-20  0:00                     ` Alan Brain
1996-10-24  0:00                 ` Robert I. Eachus
1996-10-16  0:00             ` Brian Rogoff
1996-10-16  0:00               ` Robert Dewar
1996-10-17  0:00                 ` Robert A Duff
1996-10-17  0:00                   ` Robert Dewar
1996-11-22  0:00                 ` Van Snyder
1996-11-25  0:00                   ` Java vs Ada vs Inferno, floating point arithmetic Anssi Porttikivi
1996-10-16  0:00             ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Brian Rogoff
1996-10-16  0:00             ` Jon S Anthony
1996-10-11  0:00           ` Stephen Leake
1996-10-11  0:00             ` Dave
1996-10-11  0:00               ` Robert Dewar
1996-10-12  0:00                 ` Dave
1996-10-12  0:00                   ` Robert Dewar
1996-10-14  0:00                   ` Keith Thompson
1996-10-11  0:00           ` Robert Dewar
1996-10-12  0:00             ` davedave
1996-10-12  0:00               ` Robert Dewar
1996-10-13  0:00               ` Larry Kilgallen
1996-10-18  0:00           ` Why no Propagates? Michel Gauthier
1996-10-22  0:00             ` Richard A. O'Keefe
1996-10-23  0:00           ` Michel Gauthier
1996-10-11  0:00         ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Mitch Gart
1996-10-11  0:00       ` Jon S Anthony
1996-10-11  0:00       ` Jon S Anthony
1996-10-12  0:00         ` Robert Dewar
1996-10-14  0:00           ` Mitch Gart
1996-10-14  0:00           ` Brian R. Hanson
1996-10-14  0:00         ` Keith Thompson
1996-10-15  0:00           ` Dale Stanbrough
1996-10-15  0:00             ` Brian R. Hanson
1996-10-20  0:00           ` nasser
1996-10-12  0:00       ` davedave
1996-10-12  0:00         ` Robert Dewar
1996-10-16  0:00           ` Jon S Anthony
1996-10-16  0:00           ` Jon S Anthony
1996-10-14  0:00       ` Brian Rogoff
1996-10-14  0:00       ` Jon S Anthony
1996-10-14  0:00       ` Jon S Anthony
1996-10-14  0:00         ` Robert Dewar
1996-10-15  0:00           ` Robert A Duff
1996-10-15  0:00             ` Larry Kilgallen
1996-10-16  0:00               ` Lars Farm
1996-10-16  0:00                 ` Robert Dewar
1996-10-17  0:00           ` Why no Free? Matthew Heaney
1996-10-18  0:00             ` Robert Dewar
1996-10-18  0:00             ` Robert A Duff
1996-10-18  0:00             ` John Herro
1996-10-19  0:00               ` John Herro
1996-10-14  0:00       ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Jon S Anthony
1996-10-14  0:00       ` Jon S Anthony
1996-10-15  0:00       ` Robert I. Eachus
1996-10-15  0:00         ` Robert Dewar
1996-10-15  0:00       ` Brian Rogoff
1996-10-15  0:00       ` Robert I. Eachus
1996-10-16  0:00       ` Jon S Anthony
1996-10-16  0:00       ` Jon S Anthony
1996-10-16  0:00       ` Samuel T. Harris
1996-10-16  0:00       ` Jon S Anthony
1996-10-17  0:00         ` Robert Dewar
1996-10-17  0:00         ` Robert Dewar
1996-10-16  0:00       ` Jon S Anthony
1996-10-18  0:00         ` Keith Thompson
1996-10-16  0:00       ` Jon S Anthony
1996-10-18  0:00       ` Jon S Anthony
1996-10-18  0:00       ` Jon S Anthony
1996-10-18  0:00       ` Jon S Anthony
1996-10-29  0:00       ` Kenneth Almquist
1996-10-29  0:00         ` Robert Dewar
1996-10-31  0:00           ` Kenneth Almquist
1996-10-29  0:00       ` Jon S Anthony
1996-10-29  0:00       ` Robert I. Eachus
1996-10-30  0:00       ` Stephen Leake
1996-10-31  0:00         ` Lars Farm
1996-10-31  0:00       ` Kenneth Almquist
1996-10-31  0:00       ` Jon S Anthony
1996-11-01  0:00       ` Robert I. Eachus
1996-11-01  0:00         ` Robert A Duff
     [not found]           ` <55gkch$gg6@fozzie.sun3.iaf.nl>
1996-11-03  0:00             ` Robert A Duff
1996-11-03  0:00               ` Robert Dewar
1996-11-04  0:00                 ` Larry Kilgallen
1996-11-04  0:00                   ` Robert Dewar
1996-11-05  0:00                 ` Fast locking (Was Re: Java vs Ada 95) Geert Bosch
1996-11-06  0:00                   ` Larry Kilgallen
1996-11-06  0:00                     ` Geert Bosch
1996-11-07  0:00                       ` Larry Kilgallen
1996-11-07  0:00                         ` Robert Dewar
1996-11-11  0:00                           ` Norman H. Cohen
1996-11-08  0:00                         ` Geert Bosch
1996-11-06  0:00                     ` Robert Dewar
1996-11-02  0:00         ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Robert Dewar
1996-11-04  0:00         ` Robert I. Eachus [this message]
1996-11-05  0:00           ` Larry Kilgallen
1996-11-14  0:00           ` Robert Dewar
1996-11-16  0:00             ` Robert A Duff
1996-11-16  0:00               ` Robert Dewar
1996-11-17  0:00                 ` Unbounded strings (Was: Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation)) Robert A Duff
1996-11-18  0:00                   ` Robert Dewar
1996-11-19  0:00                     ` Robert A Duff
1996-11-23  0:00                       ` Robert Dewar
1996-11-24  0:00                         ` Robert A Duff
1996-11-25  0:00                         ` Norman H. Cohen
1996-11-27  0:00                           ` Robert Dewar
1996-11-19  0:00                     ` Joel VanLaven
1996-11-23  0:00                       ` Robert Dewar
1996-11-21  0:00                   ` Robert I. Eachus
1996-11-24  0:00                     ` Robert Dewar
1996-11-24  0:00                       ` Fergus Henderson
1996-11-24  0:00                         ` Robert Dewar
1996-11-25  0:00                       ` Kevin D. Heatwole
1996-11-25  0:00                         ` Robert A Duff
1996-11-26  0:00                           ` Kevin D. Heatwole
1996-11-26  0:00                             ` Robert A Duff
1996-11-26  0:00                               ` Larry Kilgallen
1996-11-27  0:00                               ` Robert Dewar
1996-11-27  0:00                               ` Norman H. Cohen
1996-11-29  0:00                                 ` Fergus Henderson
1996-11-29  0:00                                 ` Robert A Duff
1996-11-26  0:00                         ` Geert Bosch
1996-11-26  0:00                           ` Robert Dewar
1996-11-25  0:00                   ` Robert I. Eachus
1996-11-20  0:00                 ` Jon S Anthony
1996-11-24  0:00                   ` Robert Dewar
1996-11-16  0:00             ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Geert Bosch
1996-11-17  0:00               ` Robert Dewar
1996-11-17  0:00                 ` Robert A Duff
1996-11-18  0:00                   ` Robert Dewar
1996-11-19  0:00                     ` Robert A Duff
1996-11-18  0:00                 ` Norman H. Cohen
1996-11-18  0:00                 ` Geert Bosch
1996-11-22  0:00                   ` Robert Dewar
1996-11-06  0:00         ` Robert I. Eachus
1996-10-11  0:00     ` Ada and the DoD HLA (was: " John Cosby
1996-10-13  0:00     ` Java vs Ada 95 (Was " Hannes Haug
1996-11-03  0:00     ` Hannes Haug
1996-11-06  0:00     ` Fast locking (Was Re: Java vs Ada 95) Hannes Haug
1996-11-06  0:00     ` Hannes Haug
1996-10-11  0:00   ` Once again, Ada absent from DoD SBIR solicitation Matthew M. Lih
1996-10-18  0:00     ` Rush Kester
1996-10-21  0:00   ` C++ Standardization (was: Once again, Ada absent from DoD SBIR solicitation) David Emery
1996-10-10  0:00 ` Jon S Anthony
1996-10-11  0:00 ` Jon S Anthony
1996-10-22  0:00 ` Tarjei Jensen
1996-10-22  0:00   ` C++ Standardization (was: Once again, Ian Ward
1996-11-01  0:00 ` Java vs Ada 95 (Was Re: Once again, Ada absent from DoD SBIR solicitation) Jon S Anthony
replies disabled

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