TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
From: Roger Racine <[log in to unmask]>
Date: Mon, 9 Aug 1999 15:24:09 -0400
MIME-version: 1.0
Content-type: text/plain; charset="us-ascii"
Reply-To: Roger Racine <[log in to unmask]>
Parts/Attachments: text/plain (34 lines)
I am having a debate with someone about the possibility of allowing time
slicing within Ada programs if the Annex D standard task dispatching policy
is followed.

His position (if I have it correctly) is that time slicing is specifically
forbidden.  He takes his position from the RM, section D.2.2.  My position
is that time slicing is allowed.  My position comes from reading the
Rationale, section D.2.1, the last paragraph of the section:

"Another anticipated application requirement is for time slicing.
Implementation-defined time-slicing schemes may conform to this
specification by modifying the active or base priority of a task, in a
fashion similar to that outlined for EDF scheduling."

Obviously, if the RM specifically forbad time-slicing and the Rationale
allowed it, the RM would take precedence.  But it is not quite that
straightforward.  The Rationale distinguishes between task dispatching and
task scheduling.  The RM does not seem to make this distinction.  And the
Rationale language is in a context of scheduling policy, not dispatching
policy.

I hope this is something that can be answered with "Oh, the Rationale
language is meant for some other dispatching mechanism", or "The Rationale
is wrong; no complying runtime system can change priorities at will", or
"The Rationale is correct. Compiler XYZ has been validated for Annex D and
allows time slicing."

Roger Racine
Roger Racine
Draper Laboratory, MS 31
555 Technology Sq.
Cambridge, MA 02139, USA
617-258-2489

ATOM RSS1 RSS2