The thesis thus provides a development medium which has hitherto been absent from the functional programming paradigm.

The thesis thus provides a development medium which has hitherto been absent from the functional programming paradigm.

−

==[http://wiki.di.uminho.pt/wiki/bin/view/PURe/Camila Camila]==

+

==PURe Project==

+

See on [http://wiki.di.uminho.pt/wiki/bin/view/PURe/WebHome PURe -- Program Understanding and Re-engineering: Calculi and Applications].

+

+

The aim of the PURe research project is to develop calculi for program understanding and re-engineering. Formal techniques that have traditionally been developed for and applied to forward engineering of software, are applied in reverse direction, i.e. for the understanding and re-engineering of existing (legacy) program code.

+

+

There are a lot of materials on this page, an example (among many others) Camila.

+

+

===[http://wiki.di.uminho.pt/wiki/bin/view/PURe/Camila Camila]===

Camila is a system for software development using formal methods.

Camila is a system for software development using formal methods.

The Camila project explores how concepts from the VDM specification language and the functional programming language Haskell can be combined. On the one hand, it includes experiments of expressing VDM's data types (e.g. maps, sets, sequences), data type invariants, pre- and post-conditions, and such within the Haskell language. On the other hand, it includes the translation of VDM specifications into Haskell programs.

The Camila project explores how concepts from the VDM specification language and the functional programming language Haskell can be combined. On the one hand, it includes experiments of expressing VDM's data types (e.g. maps, sets, sequences), data type invariants, pre- and post-conditions, and such within the Haskell language. On the other hand, it includes the translation of VDM specifications into Haskell programs.

Revision as of 09:06, 29 March 2006

Contents

It is a Phd thesis written by Dan Russell. Computing Laboratory, University of Kent at Canterbury, January 2001.

1.1 Abstract

This thesis presents the functional analysis and design methodology FAD. By functional we mean that it naturally supports software development within the functional programming paradigm (FP).

Every popular methodology has a graphical modelling language which presents various pictorial representations of a
system. FAD's modelling language provides the typical elements of functional programming, types and functions, plus
elements to support modular development such as modules, subsystems and two forms of signature which specify an
interface or a behavioural requirement. The language also includes relationships and associations between these
elements, and provides simple representations of functional designs. The methodology has an integrated set of techniques
which guide the development of an implementable solution from the deliverables of requirements engineering. FAD's data
dictionary provides an organised repository for entities during and after development.

The thesis thus provides a development medium which has hitherto been absent from the functional programming paradigm.

2 PURe Project

The aim of the PURe research project is to develop calculi for program understanding and re-engineering. Formal techniques that have traditionally been developed for and applied to forward engineering of software, are applied in reverse direction, i.e. for the understanding and re-engineering of existing (legacy) program code.

There are a lot of materials on this page, an example (among many others) Camila.

The Camila project explores how concepts from the VDM specification language and the functional programming language Haskell can be combined. On the one hand, it includes experiments of expressing VDM's data types (e.g. maps, sets, sequences), data type invariants, pre- and post-conditions, and such within the Haskell language. On the other hand, it includes the translation of VDM specifications into Haskell programs.