comp.lang.ada
 help / color / mirror / Atom feed
From: Ludovic Brenta <ludovic@ludovic-brenta.org>
Subject: Re: Exception propagation
Date: Thu, 16 Mar 2006 22:29:20 +0100
Date: 2006-03-16T22:29:20+01:00	[thread overview]
Message-ID: <87acbqdqof.fsf@ludovic-brenta.org> (raw)
In-Reply-To: 1142435766.866193.190130@i40g2000cwc.googlegroups.com

"REH" <spamjunk@stny.rr.com> writes:
> I found this "In a distributed program, the identity is unique across
> an entire program, not just across a single partition. Exception
> propagation works properly across RPC's. An exception can be propagated
> from one partition to another, and then back to the first, where its
> identity is known. " in the ARM.
>
> Does this mean that the id of an exception is identical in each
> partition? So, if I am using a partitioned OS, can I send an
> exception's id from one partition to another and reliably raise it?

I am under the impression that you confuse the Ada notion of a
"partition" and the OS notion; please correct me if I'm wrong.

In Ada, you have one "program" distributed in "partitions".
Partitions may run on the same or on different computers; for example
a FreeDOS machine may run only one partition at a time, but GNU/Linux
can run several, as each partition is a process.  You may also use a
bare board embedded computer to run a single partition with no
operating system underneath it.

In operating systems, "partitions" all run on the same physical
system, and each "partition" contains an instance of an operating
system.  At least, that's the terminology used by e.g. IBM with "LPAR"
- logical partitions.  This technology appeared first on mainframes,
then migrated to AS/400 (now iSeries), then RS/6000 (now pSeries) and
is finally reaching low-end x86 boxes now.

The Ada distributed systems annex says that the run-time system will
propagate an exception from one "Ada" partition to another, wherever
they may be.  And yes, the ID of the exception is the same in all Ada
partitions, since together they form one single Ada program.  And yes,
if you happen to run several instances of an operating system on one
server ("LPAR"), each containing one or more of your Ada partitions,
then exceptions will propagate from one LPAR to another, and even from
one physical computer to another if that's what you need.

You don't send the ID of an exception, because you comile all your
partitions together as one program; thus each partition has the same
table of exception definitions.  You just "raise" in a subprogram in
one partition and handle in the possibly different partition
containing the calling subprogram.

Does that answer your question?

-- 
Ludovic Brenta.



  reply	other threads:[~2006-03-16 21:29 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-15 15:16 Exception propagation REH
2006-03-16 21:29 ` Ludovic Brenta [this message]
2006-03-16 22:19   ` REH
2006-03-16 22:51     ` Ludovic Brenta
2006-03-17  2:52       ` REH
2006-03-17 14:52         ` Georg Bauhaus
  -- strict thread matches above, loose matches on Subject: below --
1999-06-07  0:00 Exception Propagation Decker, Christian R
1999-06-07  0:00 ` dennison
1999-06-08  0:00   ` Glen
1999-06-08  0:00     ` Robert Dewar
1999-06-09  0:00       ` Matthew Heaney
1999-06-08  0:00         ` R. Tim Coslet
1999-06-09  0:00         ` dennison
1999-06-09  0:00         ` Robert Dewar
1999-06-08  0:00     ` dennison
1999-06-08  0:00     ` Decker, Christian R
1999-06-08  0:00       ` David C. Hoos, Sr.
1999-06-08  0:00       ` Robert Dewar
1999-06-09  0:00       ` dennison
1999-06-14  0:00         ` Robert A Duff
1999-06-14  0:00           ` Bryce Bardin
1999-06-14  0:00           ` dennison
1999-06-15  0:00             ` Robert A Duff
1999-06-15  0:00           ` Dale Stanbrough
1999-06-15  0:00             ` Robert A Duff
replies disabled

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