Loading…
Modeling the Ada task system by Petri nets
Multitasking is one of the most novel aspects of Ada. However, the combination of language primitives for concurrent execution of tasks, synchronization, termination, abortion, exception handling, etc. make Ada programs difficult to understand and analyze. This is partly due to the inherent complexi...
Saved in:
Published in: | Computer languages 1985, Vol.10 (1), p.43-61 |
---|---|
Main Authors: | , , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | Multitasking is one of the most novel aspects of Ada. However, the combination of language primitives for concurrent execution of tasks, synchronization, termination, abortion, exception handling, etc. make Ada programs difficult to understand and analyze. This is partly due to the inherent complexity of the language and partly to the lack of a rigorous definition of its semantics. The Ada Reference Manual describes semantics in informal English prose; as a result, it is often verbose and ambiguous.
The goal of this paper is not to provide a complete formal semantics of Ada multitasking. Rather, we illustrate the use of a semi-formal approach based on (timed) Petri nets which support a rigorous description of the language.
The approach is described by stepwise refinements and is used to describe several cases of task interactions, ranging from simple to complex ones.
The proposed approach can easily be applied in the description of other multitasking problems not covered in the paper. |
---|---|
ISSN: | 0096-0551 |
DOI: | 10.1016/0096-0551(85)90010-4 |