Formal specification of ML programs.

  • 19 Pages
  • 0.72 MB
  • 6514 Downloads
  • English
by
University of Edinburgh, Laboratory for Foundations of Computer Science , Edinburgh
SeriesLFCS report series -- ECS-LFCS-86-15
ContributionsUniversity of Edinburgh. Laboratory for Foundations of Computer Science.
The Physical Object
Pagination19p.
ID Numbers
Open LibraryOL13934653M

Standard ML is a general-purpose programming language designed for large projects. This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers. Because computer programs are increasingly required to withstand rigorous analysis, it is all the more important that the language in which they are written be defined with.

nition of Standard ML (Revised) is the formal definition of the language. It is supplemented by the Standard ML Basis Library, which defines a com-mon basis of types that are shared by all implementations of the language.

Commentary on Standard ML discusses some of the decisions that went into the design of the first version of the language. This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers. Because computer programs are increasingly required to withstand rigorous analysis, it is all the more important that the language in Cited by: This book provides a formal definition of Standard ML for the benefit of all concerned with the language, including users and implementers.

Because computer programs are increasingly required to withstand rigorous analysis, it is all the more important that the language in. Forms. A programming language specification can take several forms, including the following: An explicit definition of the syntax and semantics of the language.

While syntax is commonly specified using a formal grammar, semantic definitions may be written in natural language (e.g., the approach taken for the C language), or a formal semantics (e.g., the Standard ML and Scheme specifications). Extended ML. Extended ML (EML) is a framework for specification and formal development of Standard ML (SML) programs.

EML specifications look just like SML programs except that axioms are allowed in signatures and in place of code in structures and functors. Formal Specification of the ML Basis system. Standard ML programs may be split up in a series of files, The formal specification of the document structures of the ODA standard.

Summary of Programs and Services. Merrill Lynch Wealth Management makes available products and services offered by Merrill Lynch, Pierce, Fenner & Smith Incorporated (MLPF&S), a registered broker-dealer and Member SIPC, and other subsidiaries of Bank of America Corporation.

Merrill Lynch File Size: KB. Standard ML (SML) is a general-purpose, modular, functional programming language with compile-time type checking and type is popular among compiler writers and programming language researchers, as well as in the development of theorem provers.

SML is a modern dialect of ML, the programming language used in the Logic for Computable Functions (LCF) theorem-proving gm: Multi-paradigm: functional, imperative.

This book presents the official, formal definition of the programming language ML including the rules for grammar and static and dynamic semantics.

Description Formal specification of ML programs. PDF

ML is the most well-developed and prominent of a new group of functional programming languages. On the cutting edge of theoretical computer science, ML embodies the ideas of static typing and polymorphism and has also contributed a number of novel.

The book The Definition of Standard ML (Revised), by Milner, Tofte, Harper and MacQueen has been an invaluable reference for us during the writing of this book. Furthermore, we are indebted to Peter Sestoft for his great help and endless patience in explaining to us details of the SML by: 1 Introduction.

Specification and Programming. EventML is a functional programming language in the ML family, closely related to Classic ML GMW79, CHP84, KR11].It is also a language for coding distributed protocols (such as Paxos Ren11]) using high level combinators from the Logic of Events (or Event Logic) Bic09, BC08], hence the name “ EventML ”.

the formal semantics of Extended ML in terms of the specification-building operations described in [ST and proof rules for refinement in the context of behavioural equivalence on the basis of those in [ST ) will appear in a longer version of this paper.

2 Standard ML with modules. Formal specification is the specification of a program's properties in a language defined by a mathematical logic.

Strictly speaking, this specification need not be executable (and hence not testable), however most languages used to formally specify programs have an associated operational semantics to allow executing the specification and. We compare Formal Methods and ML with some alternatives: The development cycle: Traditional Software Development Using informal language a specification may be open to interpretation.

Using appropriate testing strategies we can improve confidence - but not in any measurable way. Mistakes/bugs are common and difficult to spot and correct. the importance of being able to reason about programs.

This theme affects our graduate and undergraduate programs alike, but it is the former program that this book is all about. What is this book about.

During the prehistoric era of computer technology (say, about ), formal methods centered on understanding programs.

Details Formal specification of ML programs. PDF

At this time. Oxford University Press is a department of the University of Oxford. It furthers the University's objective of excellence in research, scholarship, and education by publishing worldwide.

On the other hand formal methods for software specification and development can be utilized to create more comprehensive, shorter, unambiguous and better structured technical descriptions - a formal specification. The advantage of CASE tools is their ability to serve as the base for verification and prototyping of a designed system.

We accomplish this by translating HOL terms into ML programs: the translation process being totally automatic.

Executing specifications as programs in a formal setting provides a way to guarantee certain properties that need to be satisfied by the specification. The main features of new Standard Library for the revised version of ML are described and many new examples are given, while references have also been updated.

Dr Paulson has extensive practical experience of ML and has stressed its use as a tool for software engineering; the book contains many useful pieces of code, which are freely available Cited by: Formal definition The ML language is clearly specified by The Definition of Standard ML (Revised) (Milner, Tofte, Harper, MacQueen, MIT Press, ), which defines the language in 93 pages of mathematical notation and English prose.

This book is not meant for the casual reader, but it is accessible to the serious student of programming. Formal specification language provides mathematical representation of the system. In this paper I will introduce three formal specification languages such as Z, VDM, and B and perform comparison among to them.

Keywords: Formal Methods, Formal Specification, Formal Specification Languages, Schema. File Size: KB. Topics of interest include, but are not limited to: type systems, static analysis, optimizing compilation, runtimes, formal specification and verification, and high-level support for features such as concurrency, data privacy, control of side effects, and probabilistic and differentiable programming.

A programming language specification can take several forms, including the following: An explicit definition of the syntax, static semantics, and execution semantics of the language.

While syntax is commonly specified using a formal grammar, semantic definitions may be written in natural language (e.g., as in the C language), or a formal. John Mylopoulos Formal Requirements Modeling Languages -- 6 Conceptual Modeling CSC Formal Specification Languages Were developed largely for specifying programs, rather than model parts of the world.

Specification languages come in three basic flavours: OperatOperationalional -- specification is executable abstraction ofFile Size: 88KB. : The formal specification and rigorous design of a single-user database system. In Prentice Hall International Series in Computer Science, editor, Case Studies in Systematic Software.

Summit on Machine Learning Meets Formal Methods 13 July About Machine learning has revolutionised computer science and AI: deep neural networks have been shown to match human ability in various tasks and solutions based on machine learning are being deployed in real-world systems, from automation and self-driving cars to security and banking.

ing tool supported formal verification of Java programs: the LOOP project [van den Berg andJacobs,], the Krakatoaproject[Marcheetal.,], andofcourseKeY.´ While in KeY originally specifications had been written in OCL, from version (released in ) on, JML has been the primary input language2.

Software Reliability reviews some fundamental issues of software reliability as well as the techniques, models, and metrics used to predict the reliability of software. Topics covered include fault avoidance, fault removal, and fault tolerance, along with statistical methods for the objective assessment of.

This is a very simple formal specification of the version of propositional logic called PS by Hunter in [].The specification is written in Standard ML, a strict functional programming language, and can be considered formal since Standard ML does benefit from a formal semantic specification presented as a structured operational semantics, and is therefore a well defined notation.

Generic programming is a style of computer programming in which algorithms are written in terms of types to-be-specified-later that are then instantiated when needed for specific types provided as approach, pioneered by ML inpermits writing common functions or types that differ only in the set of types on which they operate when used, thus reducing duplication.

Download Formal specification of ML programs. EPUB

Standard ML is a type-safe programming language that embodies many innovative ideas in programming language design. It is a statically-typed language, with a user-extensible type system. It supports polymorphic type inference, which all but eliminates the burden of specifying types of variables and greatly facilitates code re-use.Haskell's semantics are historically based on those of the Miranda programming language, which served to focus the efforts of the initial Haskell working group.

The last formal specification of the language was made in Julywhile the development of GHC's implementation has continued to extend Haskell via language gm: Functional.