CVS difference for ai05s/ai05-0030-1.txt

Differences between 1.2 and version 1.3
Log of other versions for file ai05s/ai05-0030-1.txt

--- ai05s/ai05-0030-1.txt	2006/12/16 03:13:19	1.2
+++ ai05s/ai05-0030-1.txt	2007/05/05 01:39:15	1.3
@@ -367,3 +367,106 @@
 
 ****************************************************************
 
+From: Alan Burns
+Sent: Wednesday, May 2, 2007  3:49 AM
+
+Re AI05-0030 - requeue on synchronized interfaces
+
+I understand that the ARG asked the IRTAW to look at the
+issue of allowing, in some form, requeue via procedures
+defined in synchronized (and task and protected) interfaces.
+
+The workshop discussed this at length, following a position
+paper from Wellings and Burns that contained an example of
+usage (I can email this paper to the ARG if you wish).
+The workshop adopted the following position
+
+1. That requeue through synchronized interfaces is a useful primitive and
+should be supported in Ada. It furthers the integration of the
+OO and concurrency features of the language.
+
+2. That requeue and the other (existing) 2005 features such as making
+a timed entry call on a synchronized interface procedure should be
+dealt with in the same way.
+
+3. That a static scheme in which a procedure is identified as
+being 'implemented as an entry' is an acceptable solution.
+If the term 'entry' cannot be introduced into an interface
+definition then the use of a pragma to identify a procedure that must be
+implemented as an entry is a possible scheme.
+
+4. That it is possible to define the semantics for requeue to a
+procedure but that the implementation cost of such a model
+on existing run-times be investigated.
+
+In conclusion, the workshop favoured a static approach that only
+allowed requeue on procedures implemented as entries (point 3)
+and that the definition of timed entry calls etc should be changed
+to be similarly restricted. If however the existing definitions were
+to remain then requeue should be allowed on 'entries' and 'procedures'
+if the implementation (run-time) overhead is not prohibitive.
+
+****************************************************************
+
+From: Pascal Leroy
+Sent: Wednesday, May 2, 2007  5:00 AM
+
+> The workshop discussed this at length, following a position 
+> paper from Wellings and Burns that contained an example of 
+> usage (I can email this paper to the ARG if you wish).
+
+This would be a useful thing to do, Alan.  At the last meeting we briefly
+discussed this topic, but since nobody other than Tuck had seen an example
+of usage, it was hard to make progress.
+
+> In conclusion, the workshop favoured a static approach that 
+> only allowed requeue on procedures implemented as entries 
+> (point 3) and that the definition of timed entry calls etc 
+> should be changed to be similarly restricted.
+
+Keep in mind that we are no longer in Amendment mode, and that we have to
+worry about compatibility.  We can compromise compatibility to fix
+language holes, but we are no allowed to just change our mind.  If you
+want to restrict timed entry calls, you'll have make a strong case that it
+was a blunder to allow them in the first place.  
+
+> If however the 
+> existing definitions were to remain then requeue should be 
+> allowed on 'entries' and 'procedures' if the implementation 
+> (run-time) overhead is not prohibitive.
+
+It would be good to explain to us what the semantics should be if we allow
+requeueing to a procedure.
+
+I suppose that you are going to update the AI and answer these questions
+and more, right?
+
+****************************************************************
+
+From: Alan Burns
+Sent: Friday, May 4, 2007  3:03 AM
+
+Attached is the paper from Andy and I on requeue. It does discuss what the semantics
+for requeue to a procedure could be (there will also be more detail in the IRTAW
+session summary to be published soon). [Editor's note: the paper can be found in the
+ARG grab bag at http://www.ada-auth.org/ai-files/grab_bag/requeue.pdf.]
+
+As the IRTAW is not the ARG, it felt it should express the ideal situation (ie requeue and
+timed entry calls dealt with in an identical way), the ARG can/will obvious see what this
+means in terms of the Ada 'process'.
+
+You asked me to update the AI - as we do not have a specific recommendation how should
+this be done? Shall I just add a report?
+
+****************************************************************
+
+From: Randy Brukardt
+Sent: Friday, May 4, 2007  8:03 PM
+
+It's ultimately Pascal's call, but I think you should write up a *complete* proposal
+of what you think the ideal solution is. (Complete means including at least a
+determination of where wording changes will be needed.) Then we (the ARG) can
+decide if/when it can be implemented and any modifications. (In particular, if
+it is too large for a Corrigendum change and if it is too incompatible.)
+
+****************************************************************

Questions? Ask the ACAA Technical Agent