Skip to main content

Task sequencing language for specifying distributed Ada systems

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 275))

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.

Unable to display preview. Download preview PDF.

References

  1. The Ada Programming Language Reference Manual US Department of Defense, US Government Printing Office, 1983. ANSI/MILSTD 1815A Document.

    Google Scholar 

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

  3. Campbell,R.H. and Habermann, A.N. The Specification of Process Synchronization by Path-Expressions. Lecture Notes in Computer Science 16, 1974.

    Google Scholar 

  4. Clocksin, W.F., and Mellish, C.S. Programming in Prolog. Springer-Velag, 1981.

    Google Scholar 

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

    Google Scholar 

  6. Also published, Stanford University Computer Systems Laboratory TR 84-262, July, 1984, Program Analysis and Verification Group Report 25.

    Google Scholar 

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

  8. Helmbold, D.P., and Luckham, D.C. Debugging Ada Tasking Programs. IEEE Software 2(2):47–57, March, 1985.

    Google Scholar 

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

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

    Google Scholar 

  11. Also published in a special edition of Ada Letters, Vol.V, Issue 2, September-October 1985.

    Google Scholar 

  12. Hewitt, C. Planner: A Language for Proving Theorems and Manipulating Models in a Robot. PhD thesis, Massachusetts Institute of Technology, January, 1971.

    Google Scholar 

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

  14. Lamport, L., Shostak, R., and Pease, M. The Byzantine Generals Problem. Transactions of Programming Languages and Systems 4(3):382–401, July, 1982.

    Article  Google Scholar 

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

    Google Scholar 

  16. Dahl, O.-J. Time Sequences as a Tool For Describing Program Behaviour. Research Report in Informatics 48, University of Oslo, August, 1979.

    Google Scholar 

  17. Peterson, J.L. Petri Nets. Computing Surveys 9(3), September, 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

A. Nico Habermann Ugo Montanari

Rights and permissions

Reprints 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

Publish with us

Policies and ethics