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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ACM SIGSOFT Rapid Prototyping Workshop, Special Issue on Rapid Prototyping, Software Engineering Notes, Dec. 1982.
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.
Bjorner, D. and C. B. Jones, Vienna Development Method: The Meta Language, Springer-Verlag, 1978.
Bjorner, D., Rigorous Development of Interpreters and Compilers, in Formal Specification and Software Development, D. Bjorner and C. B. Jones eds., Prentice-Hall, 1982.
Boehm, B. K., Software Engineering: R and D Trends and Defense Needs, in Research Directions in Software Technology, P. Wegner ed., MIT Press, 1979.
Darlington, J., Principle of Functional Programming, Prentice-Hall, 1983.
Goguen, J. A., An Introduction to OBJ: A Language for Writing and Testing Formal Algebraic Program Specifications, in Proc. Specification of Reliable Software, 1979.
Goguen, J. A. and J. Meseguer, Rapid Prototyping in the OBJ Executable Specification Language, in [1].
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.
Guttag, J. V., Notes on Type Abstraction, in Proc. Specification of Reliable Software, 1979.
Guttag, J. V., E.Horowitz and D. R. Musser, Abstract Data Types and Software Validation, CACM, Dec. 1978.
Guttag, J. V. and J. J. Horning, Report on the Larch Shared Language, Science of Computer Programming, Vol. 6, pp 103–134, 1986.
Henderson, P., Functional Programming, Formal Specification and Rapid Prototyping, IEEE Trans. on Soft. Eng., Feb. 1986.
Henderson, P., Functional Programming: Application and Implementation, Prentice-Hall, 1980.
Hoare C. A. R., Proof of Correctness of Data Representations, in Programming Methodology, D. Gries ed., Springer-Verlag, 1978.
Hoare, C. A. R., Notes on Data Structuring, in Structured Programming (O. J. Dahl et al.), Academic Press, 1972.
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.
Jones, C. B., Systematic Software Development Using VDM, Prentice-Hall, 1986.
Jones, C. B., Implementation Bias in Constructive Specifications, Manuscript, 1977.
Majster, M. E., Limits of the Algebraic Specifications of Abstract Data Types, SIGPLAN Notices, Oct. 1977.
Oest, O. N., VDM from Research to Practice, Information Processing 86, H. J. Kugler ed., 1986.
Turner, D. A., Functional Programs as Executable Specifications, in Mathematical Logic and Programming Languages, C.A.R.Hoare ed., Prentice-Hall, 1985.
Wulf, W. A. et al., An Introduction to the Construction and Verification of Alphard Programs, IEEE Trans. on Soft. Eng., Dec., 1976.
Author information
Authors and Affiliations
Editor information
Rights 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