comp.lang.ada
 help / color / mirror / Atom feed
From: Marin David Condic <nobody@noplace.com>
Subject: Re: Isn't this in favour of Ada??
Date: Wed, 20 Jul 2005 12:26:14 GMT
Date: 2005-07-20T12:26:14+00:00	[thread overview]
Message-ID: <GprDe.1797$6f.554@newsread3.news.atl.earthlink.net> (raw)
In-Reply-To: <wccll42acu6.fsf@shell01.TheWorld.com>

Yes, interrupt handling is platform specific, but since Ada found a way 
to connect a protected procedure to an interrupt, it would seem that 
some similar mechanism could be invented to translate a platform 
specific interrupt into a portable representation. I don't see how this 
wouldn't be in the general spirit of Ada - especially if I can hide the 
hardware connection in a package BODY so it can be substituted for 
different platforms. (Or do I need to raise the whole issue of 
conditional compilation again? ;-)

It doesn't seem like a big leap to have some language defined "signal" 
abstraction that could be either hardware triggered, OS triggered or 
software triggered so that the protected procedure could do what it is 
currently doing to connect to an interrupt (connecting to the "signal" 
abstraction instead), but you could hide the triggering mechanism under 
a package body somewhere.

I'm not looking to avoid having to do some code substitution between a 
target machine and a simulation. What I'm looking for is a mechanism 
that lets you hide the SOURCE of the interrupt in a package BODY so that 
the embedded executive developer and the workstation simulation 
developer can both work from a common specification and all we have to 
do to get off the target and on to the simulation is substitute one 
package body. With Ada as it stands, I'm not sure I can do that without 
some significant gyrations. A language defined "signal" would seem to 
provide a simple mechanism for doing that.

MDC

Robert A Duff wrote:
> 
> The problem you're talking about is "How to deal with cases where you
> need to write different code for different platforms."  If the language
> is well designed, and the compilers aren't too buggy, this will happen
> fairly rarely.  Interrupt handling is inherently platform specific, so
> this is one case where you'll need platform-specific code.  The usual
> solutions are to use a preprocessor of some sort, or to write different
> versions of the same source file, and have the build process select
> among them.
> 
> So I think no interrupt-specific language mechanism is warranted here.
> 
> I agree with you that it would be nice to have a way to trigger an
> interrupt under program control.
> 
> - Bob

-- 
======================================================================
Marin David Condic
I work for: http://www.belcan.com/
My project is: http://www.jsf.mil/NSFrames.htm

Send Replies To: m   o   d   c @ a   m   o   g
                    c   n   i       c   .   r

     "The Christian ideal has not been tried and found wanting. It has
      been found difficult; and left untried."

         --  G. K. Chesterton
======================================================================



  parent reply	other threads:[~2005-07-20 12:26 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-14 11:34 Isn't this in favour of Ada?? Erlo Haugen
2005-07-14 14:56 ` Mike Silva
2005-07-14 16:11   ` Jeffrey Carter
2005-07-14 18:06     ` Marc A. Criley
2005-07-15 13:05       ` Marin David Condic
2005-07-19 17:03         ` James Alan Farrell
2005-07-19 17:31           ` Ed Falis
2005-07-20 11:49           ` Marin David Condic
2005-07-19 11:40     ` Erlo Haugen
2005-07-19 17:10       ` Jeffrey Carter
2005-07-19 15:41     ` Dan McLeran
2005-07-19 17:17       ` Adrien Plisson
2005-07-20  2:22       ` Jeffrey Carter
2005-07-20  5:13         ` Dan McLeran
2005-07-22  7:30     ` Erlo Haugen
2005-07-22 13:12       ` Marc A. Criley
2005-07-22 13:36         ` Erlo Haugen
2005-07-22 14:24           ` Dan McLeran
2005-07-22 14:29           ` Bob Spooner
2005-07-23 13:02             ` Ludovic Brenta
2005-07-22 18:01           ` Marc A. Criley
2005-07-22 15:49       ` Jeffrey Carter
2005-07-15 14:04 ` Florian Weimer
2005-07-15 21:10   ` Larry Kilgallen
2005-07-18 12:37     ` Marin David Condic
2005-07-18 12:57       ` Ed Falis
2005-07-18 13:18         ` Marin David Condic
2005-07-18 14:12           ` Ed Falis
2005-07-19 12:51             ` Marin David Condic
2005-07-19 18:08               ` Robert A Duff
2005-07-20  5:12                 ` Simon Wright
2005-07-20 15:37                   ` Robert A Duff
2005-07-21 12:15                     ` Marin David Condic
2005-07-21 15:32                       ` Robert A Duff
2005-07-20 12:26                 ` Marin David Condic [this message]
2005-10-27  7:20                   ` Robert I. Eachus
2005-08-04 12:59     ` Florian Weimer
2005-08-05 14:29       ` Larry Kilgallen
2005-08-05 16:58         ` Florian Weimer
2005-08-05 23:15           ` Larry Kilgallen
2005-08-06  4:01           ` tmoran
2005-08-06 10:28           ` Pascal Obry
2005-08-06 10:33             ` Pascal Obry
2005-08-06 11:02           ` Dmitry A. Kazakov
2005-07-21 13:27 ` Maciej Sobczak
2005-07-22  7:39   ` Erlo Haugen
2005-07-22  9:29     ` Maciej Sobczak
2005-07-22 10:41       ` Erlo Haugen
2005-07-22 14:28         ` Alex R. Mosteo
2005-07-22 15:02           ` Pascal Obry
2005-07-25  9:48             ` Tassilo v. Parseval
2005-07-25 13:31               ` Adrien Plisson
2005-07-25 15:08                 ` Jerome Hugues
2005-07-25 15:58                   ` Adrien Plisson
2005-07-25 21:03                     ` Jerome Hugues
2005-07-26  6:03                       ` Tassilo v. Parseval
2005-07-25 16:39               ` Pascal Obry
2005-07-26  5:58                 ` Tassilo v. Parseval
2005-07-26 17:25                   ` Pascal Obry
2005-07-22 15:26           ` Georg Bauhaus
replies disabled

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