Building specifications in an arbitrary institution
Proc. of the international symposium on Semantics of data types
On observational equivalence and algebraic specification
Proc. of the international joint conference on theory and practice of software development (TAPSOFT) Berlin, March 25-29, 1985 on Mathematical foundations of software development, Vol. 1: Colloquium on trees in algebra and programming (CAAP'85)
Initial Algebra Semantics and Continuous Algebras
Journal of the ACM (JACM)
On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types
Journal of the ACM (JACM)
Program development by stepwise refinement
Communications of the ACM
Iota Programming System
Initially-Restricting Algebraic Theories
MFCS '80 Proceedings of the 9th Symposium on Mathematical Foundations of Computer Science
The Semantics of CLEAR, A Specification Language
Proceedings of the Abstract Software Specifications, 1979 Copenhagen Winter School
A Kernel Language for Algebraic Specification and Implementation - Extended Abstract
Proceedings of the 1983 International FCT-Conference on Fundamentals of Computation Theory
Proceedings of the Carnegie Mellon Workshop on Logic of Programs
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
HOPE: An experimental applicative language
LFP '80 Proceedings of the 1980 ACM conference on LISP and functional programming
ANNA: a language for annotating ADA programs
ANNA: a language for annotating ADA programs
The specification and application to programming of abstract data types.
The specification and application to programming of abstract data types.
Algorithmic specifications: a constructive specification method for abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
IDL '94 Proceedings of the workshop on Interface definition languages
Science of Computer Programming
Hi-index | 0.00 |
An attempt is made to apply ideas about algebraic specification in the context of a programming language. Standard ML with modules is extended by allowing axioms in module interface specifications and in place of code. The resulting specification language, called Extended ML, is given a semantics based on the primitive specification-building operations of the kernel algebraic specification language ASL. Extended ML provides a framework for the formal development of programs from specifications by stepwise refinement, which is illustrated by means of a simple example. From its semantic basis Extended ML inherits complete independence from the logical system (institution) used to write specifications. This allows different styles of specification as well as different programming languages to be accommodated.