Abstract
TSL-1 is a language for specifying sequences of tasking events occuring in the execution of distributed Ada programs. Such specifications are intended primarily for testing and debugging of Ada tasking programs, although they can also be applied in designing programs. TSL-1 specifications are included in an Ada program as formal comments. They express constraints to be satis fied by the sequences of actual tasking events. An Ada program is consistent with its TSL-1 specifications if its runtime behavior always satisfies them. This paper presents an overview of TSL-1. The features of the language are described informally, and examples illustrating the use of TSL-1, both for debugging and for specification of tasking programs, are given. A definition of robust TSL-1 specifications that takes into account uncertainty in runtime observation of behavior of distributed systems is given. A runtime monitor for checking consistency of an Ada program with TSL-1 specifications has been implemented. In the future, constructs for defining abstract tasks will be added to TSL-1, forming a new language, TSL-2, for the specification of distributed systems prior to their implementation in any particular programming language.
This research was supported by the Advanced Research Projects Agency, Department of Defense, under Contract N00039-84-C-0211 and by the Air Force Office of Scientific Research under Grant AFOSR 83-0255.
Ada is a registered trademark of the U.S. Government (Ada Joint Program Office).
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
The Ada Programming Language Reference Manual US Department of Defense, US Government Printing Office, 1983. ANSI/MILSTD 1815A Document.
Bates, P.C. and Wileden, J.C. EDL: A Basis for Distributed System Debugging Tools. In Proceedings of Hawaii International Conference on System Sciences, pages 86–93. Hawaii International Conference on System Sciences, Honolulu, Hawaii, January, 1982.
Campbell,R.H. and Habermann, A.N. The Specification of Process Synchronization by Path-Expressions. Lecture Notes in Computer Science 16, 1974.
Clocksin, W.F., and Mellish, C.S. Programming in Prolog. Springer-Velag, 1981.
Helmbold, D.P. and Luckham, D.C. Debugging Ada Tasking Programs. In Proceedings of the IEEE Computer Society 1984 Conference on Ada Applications and Environments, pages 96–110. IEEE, St. Paul, Minnesota, October 15–18, 1984.
Also published, Stanford University Computer Systems Laboratory TR 84-262, July, 1984, Program Analysis and Verification Group Report 25.
Helmbold, D.P., and Luckham, D.C. Runtime Detection and Description of Deadness Errors in Ada Tasking. CSL Technical Report 83-249, Stanford University, November, 1983. Program Analysis and Verification Group Report 22.
Helmbold, D.P., and Luckham, D.C. Debugging Ada Tasking Programs. IEEE Software 2(2):47–57, March, 1985.
In Proceedings of the IEEE Computer Society 1984 Conference on Ada Applications and Environments, pp.96–110. IEEE, St. Paul, Minnesota, October 15–18, 1984. Also published as Stanford University CSL TR.84-263, July, 1984.
Helmbold, D.P., and Luckham, D.C. TSL: Task Sequencing Language. In Proceedings of the 1985 SIGAda International Conference, pages 255–274. ACM, Paris, France, May, 1985.
Also published in a special edition of Ada Letters, Vol.V, Issue 2, September-October 1985.
Hewitt, C. Planner: A Language for Proving Theorems and Manipulating Models in a Robot. PhD thesis, Massachusetts Institute of Technology, January, 1971.
Kahn, G. and MacQueen, D. Coroutines and Networks of Parallel Processes. In Proceedings of IFIP Congress '77, pages 993–998. North-Holland Publishing Company, Amsterdam, August, 1977.
Lamport, L., Shostak, R., and Pease, M. The Byzantine Generals Problem. Transactions of Programming Languages and Systems 4(3):382–401, July, 1982.
Ledoux, C., and Parker, D.S. Saving Traces for Ada Debugging. In Proceedings of the Ada International Conference'85, pages 97–108. Cambridge University Press, Month, 1985.
Dahl, O.-J. Time Sequences as a Tool For Describing Program Behaviour. Research Report in Informatics 48, University of Oslo, August, 1979.
Peterson, J.L. Petri Nets. Computing Surveys 9(3), September, 1977.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1987 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Luckham, D.C., Helmbold, D.P., Meldal, S., Bryan, D.L., Haberler, M.A. (1987). Task sequencing language for specifying distributed Ada systems. In: Habermann, A.N., Montanari, U. (eds) System Development and Ada. Lecture Notes in Computer Science, vol 275. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18341-8_24
Download citation
DOI: https://doi.org/10.1007/3-540-18341-8_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-18341-9
Online ISBN: 978-3-540-47885-0
eBook Packages: Springer Book Archive