从20世纪60年代开始,就存在着许多不同的形式规格说明语言和软件开发方法。在形式规格说明领域一些最主要的发展过程列举如下:
1969-1972 C.A.R Hoare撰写了"计算机编程的公理基础(An Axiomatic Basis for Computer Programming)"和"数据表示的正确性证明"两篇开创性的论文,并提出了规格说明的概念。
1974-1975 B.Liskow/S.N. Zilles和J. Guttag引入了"抽象数据类型"的概念。
1976 E.W. Dijkstra定义了"最弱前置条件"的概念
1977 R.Burstall和J.Goguen提出了第一个代数规格说明语言:Clear
1988 Standford的SRI开发了代数规格说明语言OBJ3
1980-1986 C.Jones定义了VDM语言,也就是维也纳开发方法。
1985-1992 牛津大学的程序研究小组开发了Z规格说明语言。与此同时BP研究室开发了称之为B方法的面向模型的规格说明语言。
1985-1993 在MIT和Digital SRC开发了代数规格说明语言Larch
从1991年开始,面向对象的形式规格说明语言开始发展,例如,Object-Z, VDM++, CafeOBJ等语言。
1996-2000年 在欧洲CoFI(Common Framework Initiative)项目资助下开发"统一"代数规格说明语言CASL(Common Algebraic Specification Language)
上述规格说明语言可以分为两大类:
l 基于代数和公理方法(Clear, OBJ, Larch, CafeOBJ)
l 基于模型的方法(VDM, Z, B, Object-Z)
参考文献:
1. C.A.R. Hoare, An Axiomatic Basic for Computer Programming, Communication of the ACM Vol. 12, 1969,pp.576-583.
2. C.A.R. Hoare, Proof of Correctness of Data Representations, Acta Informatica Vol.1,1972,pp. 271-281.
3. B.Lisov, S.N. Zilles, Specification Techniques for Data Abstractions, IEEE Transactions on Software Engineering Vol. 1, 1975, pp.7-19.
4. J.Guttag, The Specification and Application to Programming of Abstract Data Types, Ph.D Thesis, University of Toronto, 1975.
5. E.W. Dijstra, A Discipline of Programming, Prentice-Hall 1976.
6. J.Goguen(ed.) Algebraic Specification with OBJ, Cambridge University Press.
7. C.Jones, Systematic Software Development with VDM, Prentice. Hall 1986.
8. J.M.Spivey, The Z Notation- A Reference Manual, Prentice-Hall 1988.
9. J.-R.Abrial, The B-Book, Cambridge University Press 1996.
10. J.Guttage, J. Horning, Larch: language and tools for formal specification, Springer 1993.
11. S. Stepeny, R.Barden, D.Cooper(eds.), Object-orientation in Z, Spring 1992.
12. R.Diaconesu,K. Futatsugi, CafeOBJ Report, World Scientific 1998.从20世纪60年代开始,就存在着许多不同的形式规格说明语言和软件开发方法。在形式规格说明领域一些最主要的发展过程列举如下:
1969-1972 C.A.R Hoare撰写了"计算机编程的公理基础(An Axiomatic Basis for Computer Programming)"和"数据表示的正确性证明"两篇开创性的论文,并提出了规格说明的概念。
1974-1975 B.Liskow/S.N. Zilles和J. Guttag引入了"抽象数据类型"的概念。
1976 E.W. Dijkstra定义了"最弱前置条件"的概念
1977 R.Burstall和J.Goguen提出了第一个代数规格说明语言:Clear
1988 Standford的SRI开发了代数规格说明语言OBJ3
1980-1986 C.Jones定义了VDM语言,也就是维也纳开发方法。
1985-1992 牛津大学的程序研究小组开发了Z规格说明语言。与此同时BP研究室开发了称之为B方法的面向模型的规格说明语言。
1985-1993 在MIT和Digital SRC开发了代数规格说明语言Larch
从1991年开始,面向对象的形式规格说明语言开始发展,例如,Object-Z, VDM++, CafeOBJ等语言。
1996-2000年 在欧洲CoFI(Common Framework Initiative)项目资助下开发"统一"代数规格说明语言CASL(Common Algebraic Specification Language)
上述规格说明语言可以分为两大类:
l 基于代数和公理方法(Clear, OBJ, Larch, CafeOBJ)
l 基于模型的方法(VDM, Z, B, Object-Z)
参考文献:
1. C.A.R. Hoare, An Axiomatic Basic for Computer Programming, Communication of the ACM Vol. 12, 1969,pp.576-583.
2. C.A.R. Hoare, Proof of Correctness of Data Representations, Acta Informatica Vol.1,1972,pp. 271-281.
3. B.Lisov, S.N. Zilles, Specification Techniques for Data Abstractions, IEEE Transactions on Software Engineering Vol. 1, 1975, pp.7-19.
4. J.Guttag, The Specification and Application to Programming of Abstract Data Types, Ph.D Thesis, University of Toronto, 1975.
5. E.W. Dijstra, A Discipline of Programming, Prentice-Hall 1976.
6. J.Goguen(ed.) Algebraic Specification with OBJ, Cambridge University Press.
7. C.Jones, Systematic Software Development with VDM, Prentice. Hall 1986.
8. J.M.Spivey, The Z Notation- A Reference Manual, Prentice-Hall 1988.
9. J.-R.Abrial, The B-Book, Cambridge University Press 1996.
10. J.Guttage, J. Horning, Larch: language and tools for formal specification, Springer 1993.
11. S. Stepeny, R.Barden, D.Cooper(eds.), Object-orientation in Z, Spring 1992.
12. R.Diaconesu,K. Futatsugi, CafeOBJ Report, World Scientific 1998.