comp.lang.ada
 help / color / mirror / Atom feed
From: Tucker Taft <stt@averstar.com>
Subject: Re: Ada Protected Object Tutorial #1
Date: 2000/01/02
Date: 2000-01-02T00:00:00+00:00	[thread overview]
Message-ID: <386F898C.76FF1DBB@averstar.com> (raw)
In-Reply-To: 845pgk$qkf$1@nnrp1.deja.com



Robert Dewar wrote:
> 
> In article
> <Pine.A41.3.96-heb-2.07.991226141254.25330A-100000@pluto.mscc.hu
> ji.ac.il>,
> > This very interesting article tries to explain why it
> > is almost always better to use protected types, and create
> > less tasks. It gives detailed examples of many tasking idiom,
> > so it is also helpful as a guide to Ada tasking.
> 
> I disagree with this conclusion. Indeed my view is that it is
> almost always better to use an intermediate task than a
> protected object unless you specifically need the low level
> efficiency that protected objects can provide in some
> implementations...

One of the critical features of protected objects is the
guarantee of bounded priority inversion.  In non-real-time
systems, this is generally irrelevant.  In real-time systems,
it can be essential to achieving schedulability.  So
it is not so much "low level efficiency" as "bounded
priority inversion" that protected objects provide,
which is a somewhat higher level concern
in real-time systems.

Perhaps there should be two separate variants of protected types,
one that bounds priority inversion, and imposes other restrictions,
and one that has no particular restrictions, but makes no
guarantees.  This would clearly need to be a "spec" property of the
protected type, so which variant is wanted would need to be
identified somehow in the protected type specification.

Historically, we were trying to create a feature to address
real-time concerns with rendezvous.  The fact that the protected
type construct has since been recognized as a potentially useful
paradigm for non-real-time synchronization is nice, but may
require some liberalization of the language rules
to ensure this kind of use is portable across implementations.

-Tucker Taft  stt@averstar.com
AverStar, Inc.   Burlington, MA  01803




  parent reply	other threads:[~2000-01-02  0:00 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-12-15  0:00 Ada Protected Object Tutorial #1 James S. Rogers
1999-12-16  0:00 ` Kaz Kylheku
1999-12-16  0:00   ` James S. Rogers
1999-12-17  0:00     ` Laurent Guerby
1999-12-16  0:00   ` John English
1999-12-16  0:00     ` Ed Falis
1999-12-16  0:00       ` Usenet Poster Boy
1999-12-17  0:00     ` Karel Th�nissen
1999-12-17  0:00       ` Laurent Guerby
1999-12-18  0:00         ` Karel Th�nissen
1999-12-18  0:00           ` Laurent Guerby
1999-12-18  0:00         ` Kaz Kylheku
1999-12-18  0:00           ` Robert A Duff
1999-12-18  0:00             ` Kaz Kylheku
1999-12-18  0:00           ` Laurent Guerby
1999-12-18  0:00             ` Kaz Kylheku
1999-12-19  0:00               ` Laurent Guerby
1999-12-20  0:00                 ` Stanley R. Allen
1999-12-21  0:00               ` Robert I. Eachus
     [not found]             ` <33qr5scnbs04v391ev4541p5bv48hklg3q@4ax.com>
1999-12-20  0:00               ` Robert A Duff
1999-12-17  0:00       ` Mike Silva
1999-12-24  0:00       ` Kenneth Almquist
1999-12-17  0:00   ` Robert A Duff
1999-12-17  0:00     ` Vladimir Olensky
1999-12-17  0:00   ` Tucker Taft
1999-12-18  0:00     ` Kaz Kylheku
1999-12-18  0:00       ` Robert A Duff
1999-12-18  0:00         ` Kaz Kylheku
1999-12-19  0:00           ` swhalen
1999-12-19  0:00             ` Kaz Kylheku
1999-12-19  0:00               ` Laurent Guerby
1999-12-19  0:00               ` Robert Dewar
1999-12-20  0:00       ` Vladimir Olensky
1999-12-26  0:00         ` Ehud Lamm
1999-12-26  0:00           ` Robert Dewar
1999-12-26  0:00             ` Kaz Kylheku
1999-12-27  0:00               ` Robert Dewar
1999-12-27  0:00               ` Robert Dewar
1999-12-27  0:00                 ` Jean-Pierre Rosen
1999-12-27  0:00                 ` Richard D Riehle
1999-12-27  0:00                   ` Robert Dewar
1999-12-31  0:00                     ` Richard D Riehle
2000-01-02  0:00             ` Tucker Taft [this message]
1999-12-17  0:00 ` Robert A Duff
1999-12-18  0:00   ` Kaz Kylheku
replies disabled

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