# Refining Functions to Processes: models, methods, applications and challenges

(London South Bank)

The world of functions is usually based on abstract mapping between input and output values. The world of processes is usually based on concrete events and patterns of behaviour. The former is well suited for capturing specifications and expressing designs. The latter, on the other hand, is much more suited for describing implementations in conventional as well as in parallel and hardware forms. There is a need to have a better understanding of the relationship between these two worlds and, in particular, to establish a foundation for correctly refining functions to processes.

In this talk, we explore possibilities for modelling functions as processes and for defining the mathematical notion of refinement from functions to processes. We investigate algebraic laws and transformational methods which allow refinement to be compositional. The application of these methods are illustrated in the derivation of parallel algorithms and the synthesis of provably correct hardware circuits in FPGAs.

**Tuesday 15th March 2005, 14:00**

Robert Recorde Room

Department of Computer Science