comp.lang.ada
 help / color / mirror / Atom feed
From: "jimmaureenrogers@worldnet.att.net" <jimmaureenrogers@worldnet.att.net>
Subject: Re: Crosstalk Article from Aonix
Date: 10 Feb 2006 07:20:30 -0800
Date: 2006-02-10T07:20:30-08:00	[thread overview]
Message-ID: <1139584829.987401.81260@g43g2000cwa.googlegroups.com> (raw)
In-Reply-To: Y8YGf.28933$F_3.9344@newssvr29.news.prodigy.net


adaworks@sbcglobal.net wrote:
> In a recent article about safety-critical software, the author,
> an employee of Aonix, manages to avoid even one mention
> of  Ada.  He seems to be unaware that, in the safety-critical
> domain, Ada is still a much better option than Java.

I had an email conversation with the author of that article.
He is aware of Ada. He also claims that Ada is loosing market
share in real-time applications.

Looking into the safety-critical Java specification I find that
Ben Brogsol has been credited with some work on the specification.
Ben was deeply involved with the first Ada definition and the Ada 95
definition.

The author is clearly trying to provide some marketing for safety-
critical Java. He claims that most safety-critical code is currently
being done in C and C++. He believes safety-critical Java is a better
tool.

While he answered many of my questions he did not answer my
question about safety-critical Java's support for thread temporal
self-determination. That is my term for the capability of a thread to
maintain its own critical timing even in the face of conditional
synchronization of shared resources. Ada provides the select
command to allow a task to extract itself from an entry queue
based upon various conditions, including a time-out. The Java
model of conditional synchronization uses the wait() command.
There are two versions of the wait() command, one with a time-out
and one without a time-out. The problem is that the calling thread
does not control the wait() command. It is called within the
synchronized block. This would be like putting a timeout inside
the queue handler of a protected entry. The calling thread has no
control over its own timing. All threads calling a common synchronized
block are treated the same.

There is also still no queuing policy for the wait() command, although
there is some defense against priority inversion with various priority
promotion schemes.

Jim Rogers




  parent reply	other threads:[~2006-02-10 15:20 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-10  8:28 Crosstalk Article from Aonix adaworks
2006-02-10 10:29 ` Pascal Obry
2006-02-10 12:45   ` jean-Pierre FAUCHE
2006-02-10 13:14     ` Pascal Obry
     [not found]     ` <GEELLGGKALBLGOBLCHBAOEMJCNAA.erik@delta-utec.com>
2006-02-10 19:37       ` Colin Paul Gloster
2006-02-10 19:41         ` Ed Falis
2006-02-10 20:00           ` Colin Paul Gloster
2006-02-10 19:45     ` Jeffrey R. Carter
2006-02-11  2:59     ` adaworks
2006-02-11  3:10   ` adaworks
2006-02-10 15:20 ` jimmaureenrogers [this message]
2006-02-10 21:00 ` Mike Silva
2006-02-11  7:05   ` Martin Krischik
replies disabled

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