comp.lang.ada
 help / color / mirror / Atom feed
* Ada tasking issues
@ 1996-06-06  0:00 Ravi Gedela
  1996-06-06  0:00 ` Robert Dewar
  1996-06-06  0:00 ` Robert A Duff
  0 siblings, 2 replies; 3+ messages in thread
From: Ravi Gedela @ 1996-06-06  0:00 UTC (permalink / raw)



: 
I'm Ravi Gedela. I'm a graduate student at EECS Dept., Univ. of 
Illinois at Chicago. 

I've been looking at Ada95 lately. I'm trying to model the Ada95
 tasking constructs using petrinets. Could anyone let me know if
 there are any papers published already in this area. 

I've some questions regarding the behavior of some constructs. 
I'd be thankful if you can take some time and clarify the 
following.

Asynchronous Transfer of Control

During ATC let us consider when the triggering statement is an
 entry call.  If the abortable part completes before the entry
 call is accepted and returned, then it is aborted. It is clear
 when the entry call is still in the queue that it is taken 
away from the queue.

But now if the call has been accepted and is being processed 
and the abortable part is completed an attempt to cancel the 
call is made. The Ada95 reference manual does not clearly 
explain what happens in such a situation. Could you please let
 me know how exactly the call that is being processed can be 
retracted.

Thanking you,

Ravi

PS : Please feel free to reply to my personal account  
E-mail : rgedela@eecs.uic.edu  




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

* Re: Ada tasking issues
  1996-06-06  0:00 Ada tasking issues Ravi Gedela
  1996-06-06  0:00 ` Robert Dewar
@ 1996-06-06  0:00 ` Robert A Duff
  1 sibling, 0 replies; 3+ messages in thread
From: Robert A Duff @ 1996-06-06  0:00 UTC (permalink / raw)



In article <4p7418$hi2@news.eecs.uic.edu>,
Ravi Gedela <rgedela@ernie.eecs.uic.edu> wrote:
>But now if the call has been accepted and is being processed 
>and the abortable part is completed an attempt to cancel the 
>call is made. The Ada95 reference manual does not clearly 
>explain what happens in such a situation. Could you please let
> me know how exactly the call that is being processed can be 
>retracted.

Normally, if the entry call has been selected (so the accept_statement
or entry_body is now running), that's the end of it -- the entry call
wins the race, and the abortable part loses.  The accept_stm or
entry_body runs to completion.

The one exception is if the entry is requeued-with-abort, and the entry
on which it is requeued is not ready to go -- then the call is
cancelled, and the abortable_part wins the race.

You can't cancel an entry call in the middle, while it's doing
something.  The cancellation will only take place if and when the call
is queued.  If it's queued in the normal way, or by a
requeue-with-abort, it will get cancelled.  If it's queued by a
requeue-without-abort it will not get cancelled.  An ATTEMPT to cancel
will be held until the entry is queued (abortably), in which case the
attempt succeeds, or until the entry call is finished, in which case the
attempt fails.

Usually, if the trigger of an ATC is an entry call, the entry body will
be short (often null).  The purpose of the trigger is just to notify the
caller that some event has taken place, not to do a whole lot of
processing.  Usually, I mean.

- Bob




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

* Re: Ada tasking issues
  1996-06-06  0:00 Ada tasking issues Ravi Gedela
@ 1996-06-06  0:00 ` Robert Dewar
  1996-06-06  0:00 ` Robert A Duff
  1 sibling, 0 replies; 3+ messages in thread
From: Robert Dewar @ 1996-06-06  0:00 UTC (permalink / raw)



Ravi asks

"I've been looking at Ada95 lately. I'm trying to model the Ada95
 tasking constructs using petrinets. Could anyone let me know if
 there are any papers published already in this area.
"
I don't have any references, but it's worthwhile to keep looking, I
*know* that there was some work in the area of modeling Ada 83
tasking with petrinets (might have been an Esprit project ???)





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

end of thread, other threads:[~1996-06-06  0:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-06-06  0:00 Ada tasking issues Ravi Gedela
1996-06-06  0:00 ` Robert Dewar
1996-06-06  0:00 ` Robert A Duff

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