comp.lang.ada
 help / color / mirror / Atom feed
From: jm59@prism.gatech.edu (John M. Mills)
Subject: Re: Tell this C programmer about Ada and realtime...
Date: 1998/09/21
Date: 1998-09-21T00:00:00+00:00	[thread overview]
Message-ID: <6u5nsf$b28@acmey.gatech.edu> (raw)
In-Reply-To: 360179F8.24DE@ix.netcom.com

In comp.lang.ada you write:

>I'm a longtime programmer who's bounced between PC and embedded/realtime
>applications.  Now I'm back in the realtime field and I'd like to learn
>something about Ada -- partly in response to occasional "I'd *never*
>program a critical realtime application in C" comments I hear and read.

>So, would anybody like to "sell" Ada to a receptive potential buyer?

Mike -

What's to "sell?"  Ada, particularly Ada95, is a strongly-typed, modular
language with constructs to link objects from other languages and to
directly address system hardware.  For real-time applications, you need
an executive package which will launch your process(es) and link your
required hardware resources to interrupts or whatever.  You naturally need
some type of debugging support.

If your Real-Time-E[nvironment|xecutive] (RTE) vendor uses the GNU tool
suite (This includes at least one mainstream vendor - perhaps Wind River),
you're good to go with GNAT, which I have found very serviceable.  The current
public release handles tasks as UNIX threads, which is fairly clean to spin
off ISRs, etc. (he says, having only used others' libs for ipc).

Anyway, the question for me falls into the RTE vendor-selection venue, and
you can use Ada if you're comfortable with it.  You can similarly link
parts of your code written in Ada, C, and Fortran, with only minimal over-
head.  I have a fairly comprehensive example for Ada-Fortran-Ada on my ftp
site:
ftp://jmills.gtri.gatech.edu/

in:
pub/coding/

as:
ada_fortran_calls.gz

Note: We found this works very easily if the 'main' is in GNAT, but
requires that you explicitly force task instantiation if your main is [say]
in C.  I can get more info on this if you turn out to need it.

If you like Ada, it's highly useable.  Naturally you have to be[come]
comfortable with Ada, but the language was originally conceived for this
type of application -- it may have taken a few iterations to grow into the
truly useable tool I find it to be now.  My summary would be: "Ada is like
Pascal with an Attitude."  You "pay up front" as you design the module
breakout and interface data types for your Ada app, then you cash in pretty
well at integration and support time, when the enforced clarity and type-
checking pays off.  This is particularly true when the project requires a
group of coders to put in to a common library pool.

Regards - jmm

-- 
 John M. Mills, Senior Research Engineer   --   john.mills@gtri.gatech.edu
   Georgia Tech Research Institute, Georgia Tech, Atlanta, GA 30332-0834
        Phone contacts: 404.894.0151 (voice), 404.894.6258 (FAX)
           "Lies, Damned Lies, Statistics, and Simulations."




  parent reply	other threads:[~1998-09-21  0:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-09-17  0:00 Tell this C programmer about Ada and realtime Mike Silva
1998-09-17  0:00 ` Tucker Taft
1998-09-21  0:00 ` John M. Mills [this message]
1998-09-21  0:00   ` dewar
1998-09-21  0:00   ` John M. Mills
1998-09-21  0:00     ` dewarr
1998-09-21  0:00   ` dennison
1998-09-21  0:00     ` dewar
replies disabled

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