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...

Full description

Saved in:
Bibliographic Details
Published in:Computer languages 1985, Vol.10 (1), p.43-61
Main Authors: Mandrioli, D., Zicari, R., Ghezzi, C., Tisato, F.
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!
Description
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