Martin Schwenke

Research Interests



I am vaguely doing a PhD degree at the Department of Software Engineering, School of Computer Science and Engineering, University of New South Wales. My supervisor is Ken Robinson.

My topic revolves around designing a refinement calculus for functional programming, with a view to software reuse. In more detail:

Refinement Calculus:
A programming language augmented with a specification construct and a set of correctness preserving rules for transforming specifications into programs. Historically, the rules have been very low-level, so refinement calculi have been difficult to use. Some refinement calculus background information is available.
Functional Programming:
Involves writing functions which map inputs to outputs, without involving state change: no assignment statements. The comp.lang.functional frequently asked questions contains much more detail. I am particularly interested in lazy functional programming languages, such as Haskell. Programs written in functional languages tend to be written at a higher level than their sequential counterparts. Hopefully a refinement calculus aimed at functional programming can also be used at a "higher level" than sequential counterparts. One reason for believing this is that it should be possible to exploit high level algebraic rules as part of refinement rules.
Software Reuse:
Various data types can be viewed as simple algebras. The algebraic structure is often inherent in the type, so a reusable data structure can be designed correctly the first time! This view is quite different to the some peoples' evolutionary view of software development.

Martin Schwenke <Martin.Schwenke@cs.anu.edu.au>
URL: http://computer/%7EMartin.Schwenke/research.html
Last modified: Monday, 28-Sep-1998 13:29:39 EST
Valid HTML 4.0!