Task sequencing language for specifying distributed Ada systems TSL-1
TSL-1 is a language for specifying sequences of tasking events occuring in the execution of distributed Ada1 programs. TSL-1 specifications are included in an Ada program as formal comments. They express constraints to be satisfied by the sequences of actual tasking events that can occur. An Ada program is consistent with its TSL-1 specifications if its runtime behavior 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. Some important constructs, as well as topics related to uncertainty of observation of distributed programs, are dealt with in other papers. In the future, constructs for defining abstract units will be added to TSL-1, forming a new language TSL-2 for the specification of distributed systems prior to their implementation in any programming language.
Unable to display preview. Download preview PDF.
- 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.Google Scholar
- Campbell,R.H. and Habermann, A.N. The Specification of Process Synchronization by Path-Expressions. Lecture Notes in Computer Science, 16, 1974.Google Scholar
- Clocksin, W.F., and Mellish, C.S. Programming in Prolog. Springer-Verlag, 1981.Google Scholar
- Dahl, O.-J. Time Sequences as a Tool For Describing Program Behaviour Research Report in Informatics 48, University of Oslo, August, 1979.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
- Hewitt, C. Planner: A Language for Proving Theorems and Manipulating Models in a Robot. Massachusetts Institute of Technology, January, 1971.Google Scholar
- 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.Google Scholar
- 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, 1985.Google Scholar
- Luckham, D.C., Helmbold, D.P., Bryan, D.L., and Meldal, S. Task Sequencing Language for Specifying Distributed Ada Systems: TSL-1. Forthcoming CSL Technical Report, 1987.Google Scholar
- Peterson, J.L. Petri Nets. Computing Surveys, 9(3), September, 1977.Google Scholar