Personal tools

Analysis and design

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (PURe Project: Case)
(Updated the links for FAD, PURe and Camila)
 
Line 1: Line 1:
 
__TOC__
 
__TOC__
 
[[Category:Research]] [[Category:Applications]]
 
[[Category:Research]] [[Category:Applications]]
==[http://www.cs.ukc.ac.uk/pubs/2001/1152/index.html FAD: A Functional Analysis and Design Methodology]==
+
==[http://www.cs.kent.ac.uk/pubs/2001/1152/index.html FAD: A Functional Analysis and Design Methodology]==
 
It is a Phd thesis written by Dan Russell. Computing Laboratory, University of Kent at Canterbury, January 2001.
 
It is a Phd thesis written by Dan Russell. Computing Laboratory, University of Kent at Canterbury, January 2001.
 
===Abstract===
 
===Abstract===
Line 17: Line 17:
   
 
==PURe project==
 
==PURe project==
See on [http://wiki.di.uminho.pt/wiki/bin/view/PURe/WebHome PURe -- Program Understanding and Re-engineering: Calculi and Applications].
+
See on [http://wiki.di.uminho.pt/twiki/bin/view/Research/PURe/ 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.
 
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.
Line 23: Line 23:
 
There are a lot of materials on this page, an example (among many others) Camila.
 
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]===
+
===[http://camila.di.uminho.pt/ Camila]===
 
Camila is a system for software development using formal methods.
 
Camila is a system for software development using formal methods.
   

Latest revision as of 07:24, 24 September 2010

Contents

[edit] 1 FAD: A Functional Analysis and Design Methodology

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

[edit] 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.

[edit] 2 PURe project

See on 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.

[edit] 2.1 Camila

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.