Toward Formal Development of ML Programs: Foundations and Methodology (Extended Abstract)

A methodology is presented for the formal development of modular Standard ML programs from specifications. Program development proceeds via a sequence of design (modular decomposition), coding and refinement steps. For each of these three kinds of step, conditions are given which ensure the correctness of the result. These conditions seem to be as weak as possible under the constraint of being expressible as “local” interface matching requirements.

[1]  Mitchell Wand,et al.  Specifications, Models, and Implementations of Data Abstractions , 1982, Theor. Comput. Sci..

[2]  José Meseguer,et al.  Universal Realization, Persistent Interconnection and Implementation of Abstract Modules , 1982, ICALP.

[3]  Hartmut Ehrig,et al.  Algebraic Implementation of Abstract Data Types , 1982, Theor. Comput. Sci..

[4]  Donald Sannella,et al.  Program specification and development in standard ML , 1985, POPL.

[5]  Oliver Schoett,et al.  Data abstraction and the correctness of modular programming , 1986 .

[6]  David B. MacQueen Modules for standard ML , 1984, LFP '84.

[7]  Manfred Broy,et al.  A Systematic Study of Models of Abstract Data Types , 1984, Theor. Comput. Sci..

[8]  Donald Sannella,et al.  Extended ML: An Institution-Independent Framework for Formal Program Development , 1985, ADT.

[9]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[10]  Robert Harper,et al.  Structure and representation in LF , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[11]  Friedrich Ludwig Bauer,et al.  The wide spectrum language CIP-L , 1985 .

[12]  Joseph A. Goguen,et al.  ALGEBRAS, THEORIES AND FREENESS: AN INTRODUCTION FOR COMPUTER SCIENTISTS , 1982 .

[13]  Hartmut Ehrig,et al.  Algebraic Theory of Modular Specification Development , 1988, ADT.

[14]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[15]  Fernando Orejas,et al.  Initial Behaviour Semantics for Algebraic Specifications , 1988, ADT.

[16]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[17]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[18]  Andrzej Tarlecki,et al.  Quasi-varieties in Abstract Algebraic Institutions , 1986, J. Comput. Syst. Sci..

[19]  Robin Milner,et al.  The semantics of standard LM Version 1: LFCS report ECS-LFCS-87-36 , 1987 .

[20]  Lawrence C. Paulson Natural deduction proof as higher-order resolution , 1985 .

[21]  Udo W. Lipeck Ein algebraischer Kalkül für einen strukturierten Entwurf von Datenabstraktionen , 1982 .

[22]  Edward F. Moore,et al.  Gedanken-Experiments on Sequential Machines , 1956 .

[23]  Ugo Montanari,et al.  Observability Concepts in Abstract Data Type Specifications , 1976, MFCS.

[24]  Hans-Dieter Ehrich On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types , 1982, JACM.

[25]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[26]  Pierre Lescanne,et al.  Computer experiments with the REVE term rewriting system generator , 1983, POPL '83.

[27]  Andrzej Tarlecki,et al.  On the Existence of Free Models in Abstract Algebraic Institutuons , 1985, Theor. Comput. Sci..

[28]  Donald Sannella,et al.  Specifications in an Arbitrary Institution , 1988, Inf. Comput..

[29]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

[30]  Robert Harper Introduction to standard ml , 1986 .

[31]  Jordi Farrés-Casals Proving Correctness of Constructor Implementations , 1989, MFCS.

[32]  Fernando Orejas,et al.  Characterizing Composability of Abstract Implementations , 1983, FCT.

[33]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[34]  Donald Sannella,et al.  On Observational Equivalence and Algebraic Specification , 1985, TAPSOFT, Vol.1.

[35]  Donald Sannella,et al.  Some Thoughts on Algebraic Specification , 1984, ADT.

[36]  Timothy G. Griffin An Environment for Formal Systems , 1987 .

[37]  Harald Ganzinger,et al.  Parameterized Specifications: Parameter Passing and Implementation with Respect to Observability , 1983, TOPL.

[38]  Andrzej Tarlecki,et al.  Bits and Pieces of the Theory of Institutions , 1985, ADT.