On Mon, 6 Dec 2004 09:47:22 -0500, David Botton wrote: >Ok #2 in our series of questions that will make their way in to the >FAQ, articles, etc. (I will be putting together #1 answers soon) > >Why is it better to have tasking as a language feature than as an API? > One advantage of having tasking in the language rather than as an API to an underlying operating system is that all of the features of the language are available to the task. Particularly, the strong typing of Ada carriers over to the interfaces of the task entries. Similarly, the full type model is available including protected objects and tagged types. Thus enabling both protected operations and class-wide dispatching within task bodies. Of course, neither of these features need be used if the developer or their associated coding guidelines recommend against the use of such features. Another advantage to having tasking in the language is tha the exception model is integrated with the thread model thereby enabling detection of exceptional behavior within the appropriate thread of execution. Yet another advantage to having tasking in the language is that it is available regardless of the underlying execution platform. Hence, the tasking may be used when the target execution environment is a bare-board as well as when the target is an operating system. The characteristics of the language feature will be the same regardless of the underlying execution environment However, the execution time performance will varying depending on the Ada runtime implementation. From a certification point of view, it is possible to certify tasking applications by certifying the appropriate portions of the Ada runtime environment rather than needing to certify an entire operating system as well as the associated APIs. The later may require several different organizations to be involved in the certification activities. Joyce L Tokar, PhD Pyrrhus Software [log in to unmask]