Roger Racine wrote: > > At 01:33 PM 8/11/1999 , Harbaugh, John S wrote: > > <snip> > >We are running into this sort of problem when we are running a preemptive > tasking model on a Unix box that uses time slicing. The Ada code looks > slick, but the actual behavior is not per the design. The hidden time > slicing effectively changes the dynamic semantics of the language. > Unfortunately, it is not always possible to turn off the time-slicing. One > wonders how such an implementation can be validated for compliance with > annex D. > > > > Since the semantics are the same whether the same-priority tasks are > running completely in parallel (such as on a multiprocessor) or not, I can > not see any problem that could possibly be a result of time slicing. Could > you send some more information? I am not an expert on scheduling theory. However, based on my understanding and discussions during the Ada 9X design process, it is clear that doing an accurate analysis of schedulability of a hard real-time multi-tasking system depends on knowing how often there are task switches. The idea behind FIFO_Within_Priorities is to minimize the number of "unnecessary" task switches. When you say "the semantics are the same..." that really depends on the context. In the "Ada" core, the semantics do not specify anything about scheduling of tasks, and doesn't even mention priorities. In the real-time annex, the semantics are much more specific, and provide additional guarantees. These guarantees *are* dependent on the number of physical processors, so in that sense, the Annex semantics do depend on how same-priority tasks are scheduled. In a sense, you could define a "real-time" system by one whose semantics do depend (at least potentially) on the details of the scheduling algorithms and policies. > Roger Racine > Draper Laboratory, MS 31 > 555 Technology Sq. > Cambridge, MA 02139, USA > 617-258-2489 -- -Tucker Taft [log in to unmask] http://www.averstar.com/~stt/ Technical Director, Distributed IT Solutions (www.averstar.com/tools) AverStar (formerly Intermetrics, Inc.) Burlington, MA USA