Skip to main content

NUSL: An executable specification language based on data abstraction

  • Applications And Tools
  • Conference paper
  • First Online:
VDM '88 VDM — The Way Ahead (VDM 1988)

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

Included in the following conference series:

Abstract

It proves very useful to give a formal specification of the software to be developed before the development. To write formal specifications, a specification language is to be used. This paper describes the specification language NUSL which has a supporting system.

NUSL is an applicative executable specification language, centered around the concept of data abstraction, with module construct in it. Both the algebraic and the model-oriented specification techniques of abstract data types are embedded in the language. NUSL is an applicative language which is readable and mathematical. With the module construct, it is convenient to use NUSL to write large specifications. Because the language is executable, a specification in NUSL may be viewed as a prototype of the specified system and be executed on the supporting system.

The supporting system provides static checking and dynamic execution facilities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ACM SIGSOFT Rapid Prototyping Workshop, Special Issue on Rapid Prototyping, Software Engineering Notes, Dec. 1982.

    Google Scholar 

  2. Berry, D. M. and J. M. Wing, Specifying and Prototyping: Some Thoughts on Why They Are Successful, in Formal Methods and Software development, Vol. 2, H. Ehrig et al. eds., Springer-Verlag, 1985.

    Google Scholar 

  3. Bjorner, D. and C. B. Jones, Vienna Development Method: The Meta Language, Springer-Verlag, 1978.

    Google Scholar 

  4. Bjorner, D., Rigorous Development of Interpreters and Compilers, in Formal Specification and Software Development, D. Bjorner and C. B. Jones eds., Prentice-Hall, 1982.

    Google Scholar 

  5. Boehm, B. K., Software Engineering: R and D Trends and Defense Needs, in Research Directions in Software Technology, P. Wegner ed., MIT Press, 1979.

    Google Scholar 

  6. Darlington, J., Principle of Functional Programming, Prentice-Hall, 1983.

    Google Scholar 

  7. Goguen, J. A., An Introduction to OBJ: A Language for Writing and Testing Formal Algebraic Program Specifications, in Proc. Specification of Reliable Software, 1979.

    Google Scholar 

  8. Goguen, J. A. and J. Meseguer, Rapid Prototyping in the OBJ Executable Specification Language, in [1].

    Google Scholar 

  9. Goguen, J. A. etc., Abstract Data Types as Initial Algebras and Correctness of Data Representations, Current Trends in Programming Methodology 4, R. Yeh ed., Prentice-Hall, 1978.

    Google Scholar 

  10. Guttag, J. V., Notes on Type Abstraction, in Proc. Specification of Reliable Software, 1979.

    Google Scholar 

  11. Guttag, J. V., E.Horowitz and D. R. Musser, Abstract Data Types and Software Validation, CACM, Dec. 1978.

    Google Scholar 

  12. Guttag, J. V. and J. J. Horning, Report on the Larch Shared Language, Science of Computer Programming, Vol. 6, pp 103–134, 1986.

    Google Scholar 

  13. Henderson, P., Functional Programming, Formal Specification and Rapid Prototyping, IEEE Trans. on Soft. Eng., Feb. 1986.

    Google Scholar 

  14. Henderson, P., Functional Programming: Application and Implementation, Prentice-Hall, 1980.

    Google Scholar 

  15. Hoare C. A. R., Proof of Correctness of Data Representations, in Programming Methodology, D. Gries ed., Springer-Verlag, 1978.

    Google Scholar 

  16. Hoare, C. A. R., Notes on Data Structuring, in Structured Programming (O. J. Dahl et al.), Academic Press, 1972.

    Google Scholar 

  17. Jackson, M.I. and B.T.Denvir, Experience of Introducing VDM into an Industrial Organization, in Formal methods and Software Development, Vol 2, H. Ehrig et al. eds., Springer-Verlag, 1985.

    Google Scholar 

  18. Jones, C. B., Systematic Software Development Using VDM, Prentice-Hall, 1986.

    Google Scholar 

  19. Jones, C. B., Implementation Bias in Constructive Specifications, Manuscript, 1977.

    Google Scholar 

  20. Majster, M. E., Limits of the Algebraic Specifications of Abstract Data Types, SIGPLAN Notices, Oct. 1977.

    Google Scholar 

  21. Oest, O. N., VDM from Research to Practice, Information Processing 86, H. J. Kugler ed., 1986.

    Google Scholar 

  22. Turner, D. A., Functional Programs as Executable Specifications, in Mathematical Logic and Programming Languages, C.A.R.Hoare ed., Prentice-Hall, 1985.

    Google Scholar 

  23. Wulf, W. A. et al., An Introduction to the Construction and Verification of Alphard Programs, IEEE Trans. on Soft. Eng., Dec., 1976.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Robin E. Bloomfield Lynn S. Marshall Roger B. Jones

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jiang, X., Xu, Y. (1988). NUSL: An executable specification language based on data abstraction. In: Bloomfield, R.E., Marshall, L.S., Jones, R.B. (eds) VDM '88 VDM — The Way Ahead. VDM 1988. Lecture Notes in Computer Science, vol 328. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50214-9_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-50214-9_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50214-2

  • Online ISBN: 978-3-540-45955-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics