comp.lang.ada
 help / color / mirror / Atom feed
* Ada as a real time language
@ 2002-08-28  8:45 Marcus Hedlund
  2002-08-28 13:05 ` Marin D. Condic
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Marcus Hedlund @ 2002-08-28  8:45 UTC (permalink / raw)


Hi!

I was just wondering about the real-time quality in the Ada language.
Is it possible to write a good hard real-time system without a RTOS, or
is it necesary to use a RTOS to achieve good real-time proporties?

Any help will be greatly appreciated

//M.Hedlund






^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28  8:45 Ada as a real time language Marcus Hedlund
@ 2002-08-28 13:05 ` Marin D. Condic
  2002-08-28 13:20 ` John McCabe
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 12+ messages in thread
From: Marin D. Condic @ 2002-08-28 13:05 UTC (permalink / raw)



I have no idea what you mean when you ask about writing hard realtime
with/without an RTOS. Having an RTOS or not doesn't have much to do with
Ada. You can write Ada programs for a bare board if you have an appropriate
compiler. In that case, the embedded target compiler would come with a
runtime library that did some of the work of an RTOS (scheduling, etc.) If
you have an RTOS and an Ada compiler that targets the RTOS/board combination
then, quite naturally, you can write hard realtime systems with it. If you
have a non-RTOS on the hardware in question (Windows, for example) then
there isn't anything that Ada or any other language can do for you to enable
hard realtime development - unless you simply move the OS out of the way and
write to the bare machine.

In general, Ada has excellent features to support development of realtime
and embedded applications. However, you must always keep in mind that not
all compilers are created equal and you need to evaluate the available
implementations to determine which is best for your application.

MDC
--
Marin David Condic
Senior Software Engineer
Pace Micro Technology Americas    www.pacemicro.com

Enabling Digital.
Our Vision is to be the biggest supplier worldwide of digital gateway
technology.
www.pacemicro.com

"Marcus Hedlund" <marcus.hedlund@avionics.saab.se> wrote in message
news:aki282$jhp$1@newstoo.ericsson.se...
> Hi!
>
> I was just wondering about the real-time quality in the Ada language.
> Is it possible to write a good hard real-time system without a RTOS, or
> is it necesary to use a RTOS to achieve good real-time proporties?
>
> Any help will be greatly appreciated
>






^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28  8:45 Ada as a real time language Marcus Hedlund
  2002-08-28 13:05 ` Marin D. Condic
@ 2002-08-28 13:20 ` John McCabe
  2002-08-28 13:37   ` Pat Rogers
  2002-08-28 15:25 ` Mikael Lundqvist
  2002-08-28 17:27 ` Ted Dennison
  3 siblings, 1 reply; 12+ messages in thread
From: John McCabe @ 2002-08-28 13:20 UTC (permalink / raw)


On Wed, 28 Aug 2002 10:45:18 +0200, "Marcus Hedlund"
<marcus.hedlund@avionics.saab.se> wrote:

>Hi!
>
>I was just wondering about the real-time quality in the Ada language.
>Is it possible to write a good hard real-time system without a RTOS, or
>is it necesary to use a RTOS to achieve good real-time proporties?

>Any help will be greatly appreciated

Correct me if I'm wrong, but I think the Ravenscar profile has
something to do with HRT systems. If you look on the web for Ada and
Ravenscar you might find something useful.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 13:20 ` John McCabe
@ 2002-08-28 13:37   ` Pat Rogers
  2002-08-28 15:05     ` John McCabe
  0 siblings, 1 reply; 12+ messages in thread
From: Pat Rogers @ 2002-08-28 13:37 UTC (permalink / raw)


"John McCabe" <john.nospam@nospamassen.nospamdemon.co.uk> wrote in
message news:3d6cce03.19310466@news.demon.co.uk...
> Correct me if I'm wrong, but I think the Ravenscar profile has
> something to do with HRT systems. If you look on the web for Ada and
> Ravenscar you might find something useful.

The Ravenscar Profile is appropriate for hard real-time systems, in
and of itself, but it is especially appropriate for systems that
involve the kinds of analyses required for high-integrity
applications.  As a subset of the language intended for
safety-critical applications it is not necessarily optimal for more
general real-time designs, although the restrictions it imposes are
reasonable for small footprint, high performance, hard real-time
systems.

Don't get me wrong -- I'm an advocate of Ravenscar -- I'm just saying
that Ravenscar is not the sum and total of Ada's real-time
capabilities.  Since the OP was asking in the most general sense I
thought it best to provide a more precise description of Ravenscar's
domain.


--
Patrick Rogers                       Consulting and Training in:
http://www.classwide.com          Real-Time/OO Languages
progers@classwide.com               Hard Deadline Schedulability
Analysis
(281)648-3165                                 Software Fault Tolerance







^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 13:37   ` Pat Rogers
@ 2002-08-28 15:05     ` John McCabe
  0 siblings, 0 replies; 12+ messages in thread
From: John McCabe @ 2002-08-28 15:05 UTC (permalink / raw)


On Wed, 28 Aug 2002 13:37:27 GMT, "Pat Rogers" <progers@classwide.com>
wrote:

>"John McCabe" <john.nospam@nospamassen.nospamdemon.co.uk> wrote in
>message news:3d6cce03.19310466@news.demon.co.uk...
>> Correct me if I'm wrong, but I think the Ravenscar profile has
>> something to do with HRT systems. If you look on the web for Ada and
>> Ravenscar you might find something useful.
>
>The Ravenscar Profile is appropriate for hard real-time systems, in
>and of itself, but it is especially appropriate for systems that
>involve the kinds of analyses required for high-integrity
>applications.  As a subset of the language intended for
>safety-critical applications it is not necessarily optimal for more
>general real-time designs, although the restrictions it imposes are
>reasonable for small footprint, high performance, hard real-time
>systems.
>
>Don't get me wrong -- I'm an advocate of Ravenscar -- I'm just saying
>that Ravenscar is not the sum and total of Ada's real-time
>capabilities.  Since the OP was asking in the most general sense I
>thought it best to provide a more precise description of Ravenscar's
>domain.

That seems perfectly reasonable so thank you.

I expected to be able to find something on the Ada IC site about
Ravenscar, but it wasn't obvious from the front page where it would
be, and there doesn't appear to be a search engine so I kind of gave
up at that point (which is when I suggested the OP should look himself
:-)




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28  8:45 Ada as a real time language Marcus Hedlund
  2002-08-28 13:05 ` Marin D. Condic
  2002-08-28 13:20 ` John McCabe
@ 2002-08-28 15:25 ` Mikael Lundqvist
  2002-08-28 15:44   ` Thierry Lelegard
                     ` (4 more replies)
  2002-08-28 17:27 ` Ted Dennison
  3 siblings, 5 replies; 12+ messages in thread
From: Mikael Lundqvist @ 2002-08-28 15:25 UTC (permalink / raw)


I have heard that the Ada Run Time doesn't handle load
that well. If you have to many tasks or to much input/output
the Runtime gives in so to speak. In that regard you should
be better of with a RTOS. I have not any experience myself
with large Ada programs. Anybody out there who could comment?

Regards,
Mikael

Marcus Hedlund wrote:

> Hi!
>
> I was just wondering about the real-time quality in the Ada language.
> Is it possible to write a good hard real-time system without a RTOS, or
> is it necesary to use a RTOS to achieve good real-time proporties?
>
> Any help will be greatly appreciated
>
> //M.Hedlund




^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 15:25 ` Mikael Lundqvist
@ 2002-08-28 15:44   ` Thierry Lelegard
  2002-08-28 15:44   ` Pat Rogers
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Thierry Lelegard @ 2002-08-28 15:44 UTC (permalink / raw)


> I have heard that the Ada Run Time doesn't handle load
> that well. If you have to many tasks or to much input/output
> the Runtime gives in so to speak. In that regard you should
> be better of with a RTOS. I have not any experience myself
> with large Ada programs. Anybody out there who could comment?

There is no such thing as "THE" Ada Run Time. There are as many
implementations of an Ada Run Time as compiler/platform combinations.

Using DEC Ada (Ada83) on OpenVMS systems, we had applications
using up to 6000 tasks in one single process, with a high I/O
rate, which run quite smoothly. You can acheive this with a
robust and versatile O/S and a perfect integration of the Ada
Run Time with the underlying O/S.

-Thierry Lelegard



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 15:25 ` Mikael Lundqvist
  2002-08-28 15:44   ` Thierry Lelegard
@ 2002-08-28 15:44   ` Pat Rogers
  2002-08-28 15:49   ` Steve O'Neill
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Pat Rogers @ 2002-08-28 15:44 UTC (permalink / raw)


"Mikael Lundqvist" <mikael.lundqvist@avionics.saab.se> wrote in
message news:3D6CEB7E.E6930EAD@avionics.saab.se...
> I have heard that the Ada Run Time doesn't handle load
> that well. If you have to many tasks or to much input/output
> the Runtime gives in so to speak. In that regard you should
> be better of with a RTOS. I have not any experience myself
> with large Ada programs. Anybody out there who could comment?

To be precise, there is no such thing as *The* Ada Run-Time; perhaps
you heard about some vendor's buggy *implementation*?  There is no
reason to expect an implementation to fail (is that what you mean by
"give in"?) because there are many tasks or a lot of I/O.  Failure in
such a case would be a bug.

Certainly the performance will vary with the load, just as it would
with an (RT)OS present.  If the performance degrades more quickly than
necessary, that is either a poor implementation or one that is making
tradeoffs in other areas that are not appropriate for the specific
application. Who knows.

For that matter, when Ada is used with an RTOS it is reasonable (and
probably typical) to expect that an Ada task is mapped directly to an
RTOS thread -- on other words, an Ada task *is* an RTOS thread -- so
there would be no difference.  That is the case with GNAT on VxWorks,
to cite one example vendor and RTOS.

We'd be better sticking to facts than what one has heard.







^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 15:25 ` Mikael Lundqvist
  2002-08-28 15:44   ` Thierry Lelegard
  2002-08-28 15:44   ` Pat Rogers
@ 2002-08-28 15:49   ` Steve O'Neill
  2002-08-28 17:01   ` Larry Kilgallen
  2002-08-29  0:47   ` Jerry Petrey
  4 siblings, 0 replies; 12+ messages in thread
From: Steve O'Neill @ 2002-08-28 15:49 UTC (permalink / raw)


Mikael Lundqvist wrote:
> 
> I have heard that the Ada Run Time doesn't handle load
> that well. If you have to many tasks or to much input/output
> the Runtime gives in so to speak. 

Well, I certainly can't speak for all implementations but I would
consider this to be
1) a sweeping generalization 
2) hearsay
3) urban legend

In any case I'd prefer that you not repeat this kind of potential
mis-information.
Unless, of course, you have specific knowledge where this is true.  

> In that regard you should be better of with a RTOS. 

Maybe, maybe not.

> I have not any experience myself with large Ada programs. 

Then I have to wonder about the value of this information.

> Anybody out there who could comment?

Yes.  I *do* have experience with numerous Ada programs both large and
small.  Some of these used RTOS' while others did not.  I can say that
neither the Ada language nor the Ada run-time have ever been an obstacle
to producing real-time systems.  As others have said the primary reason
that we would use an RTOS was for the other services that they provide -
not for performance reasons.

This is not to say that you should blindly ignore potential performance
issues - you must keep these in mind as you design your system.

Steve O'Neill



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 15:25 ` Mikael Lundqvist
                     ` (2 preceding siblings ...)
  2002-08-28 15:49   ` Steve O'Neill
@ 2002-08-28 17:01   ` Larry Kilgallen
  2002-08-29  0:47   ` Jerry Petrey
  4 siblings, 0 replies; 12+ messages in thread
From: Larry Kilgallen @ 2002-08-28 17:01 UTC (permalink / raw)


In article <3D6CEB7E.E6930EAD@avionics.saab.se>, Mikael Lundqvist <mikael.lundqvist@avionics.saab.se> writes:
> I have heard that the Ada Run Time doesn't handle load
> that well. If you have to many tasks or to much input/output
> the Runtime gives in so to speak. In that regard you should
> be better of with a RTOS. I have not any experience myself
> with large Ada programs. Anybody out there who could comment?

There is no such entity as "the Ada Run Time".  There may be one
associated with particular Ada implementations, but performance
characteristics are associated with particular implementations
and not with the conceptual notion.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28  8:45 Ada as a real time language Marcus Hedlund
                   ` (2 preceding siblings ...)
  2002-08-28 15:25 ` Mikael Lundqvist
@ 2002-08-28 17:27 ` Ted Dennison
  3 siblings, 0 replies; 12+ messages in thread
From: Ted Dennison @ 2002-08-28 17:27 UTC (permalink / raw)


"Marcus Hedlund" <marcus.hedlund@avionics.saab.se> wrote in message news:<aki282$jhp$1@newstoo.ericsson.se>...
> I was just wondering about the real-time quality in the Ada language.
> Is it possible to write a good hard real-time system without a RTOS, or
> is it necesary to use a RTOS to achieve good real-time proporties?

We wrote a military-grade flight simulator, including its real-time
scheduler, using no OS calls whatsoever (with the exception of one
call to set the RTC frequency). Thus was under vxWorks, but all
synchronization and scheduling was done using standard Ada calls, and
thus should be portable to any system that supports the real-time
annex (and can cycle fast enough). We ran the same code under NT with
no trouble, other than the trouble one would expect when using a
non-realtime OS.

Its certainly easier to do this kind of thing in Ada than it is using
any other language.



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: Ada as a real time language
  2002-08-28 15:25 ` Mikael Lundqvist
                     ` (3 preceding siblings ...)
  2002-08-28 17:01   ` Larry Kilgallen
@ 2002-08-29  0:47   ` Jerry Petrey
  4 siblings, 0 replies; 12+ messages in thread
From: Jerry Petrey @ 2002-08-29  0:47 UTC (permalink / raw)




Mikael Lundqvist wrote:

> I have heard that the Ada Run Time doesn't handle load
> that well. If you have to many tasks or to much input/output
> the Runtime gives in so to speak. In that regard you should
> be better of with a RTOS. I have not any experience myself
> with large Ada programs. Anybody out there who could comment?
>
>

We use DDCI Ada with its runtime on a 72 Mhz 80486 in the missile I work on.
It has about 32 tasks and handles all our navigation, guidance and control
without
any problems.

Jerry
--
---------------------------------------------------------------------------------

-- Jerry Petrey
-- Senior Principal Systems Engineer - Navigation (GPS/INS), Guidance, &
Control
-- Raytheon Missile Systems          - Member Team Ada & Team Forth
-- NOTE: please remove <NOSPAM> in email address to reply
---------------------------------------------------------------------------------






^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2002-08-29  0:47 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-28  8:45 Ada as a real time language Marcus Hedlund
2002-08-28 13:05 ` Marin D. Condic
2002-08-28 13:20 ` John McCabe
2002-08-28 13:37   ` Pat Rogers
2002-08-28 15:05     ` John McCabe
2002-08-28 15:25 ` Mikael Lundqvist
2002-08-28 15:44   ` Thierry Lelegard
2002-08-28 15:44   ` Pat Rogers
2002-08-28 15:49   ` Steve O'Neill
2002-08-28 17:01   ` Larry Kilgallen
2002-08-29  0:47   ` Jerry Petrey
2002-08-28 17:27 ` Ted Dennison

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