Ken Hawick's Research


My research interests are in the development and use of software tools and methods for investigating complex systems. My group and I build a lot of simulation codes and carry out numerical experiments to investigate complex and emergent behaviour in distributed systems and artificial life. I am also building a quantum computation simulator as part of a new effort to introduce quantum computation and complexity to computer science students. I am also continuing to work on researching distributed, parallel and high performance computing and computational grid systems involving mobile and wireless information management systems. A relatively recent set of new projects are using domain-pecific modelling and language techniques to enable development of more complex software systems.

The Computational Science Technical Note (CSTN) Series is a good place to start reading about what I have been working on recently - like the DHPC list of notes described below, this was inspired by Geoffrey Fox's SCCS list at the Northeast Parallel Architectures Center - where I used to work in the last millenium.


Complex Systems

Complex Systems and Simulation are the main themes behind the work of my CSSG research group at Massey. We are investigating several long-term and deep questions in complexity as well as how the ideas can be used to good effect in understanding complex software engineering system problems.

I am interested in all sort of systematic ways of doing measurements on and characterising and parameterising complex systems. A particular interest is in quantifying "emergence" in models.


Software Engineering and Domain-Specific Languages and Modelling

Just to add to the confusion, the complex systems community and the software engineering communities use the word "model" in different contexts. A software model - such as finite state machine for example - is used to descibe a "pattern" for a software system and there are various model construction, checking and traversal activities that can be automated or semi-automated to produce large and complicated software systems. Domain-Specific Modelling (DSM) involves work with models of software that capture some application-specific domain of knowledge and expertise. Domain-Specific Languages( DSLs) are "little languages" that embody the application knowledge and expertise of an application domain area and which can be "compiled" into conventional software programs.

The confusion arises as the domain-specific applications body of knowledge I am most interested in is in simulations and modelling of physical, sociological, biological, chemical, engineering and other complex systems. So I "model" software that simulates "models"!


Distributed and High Performance Computing Systems

Some recent work looks at use of type systems and interval management for large scale data grids. We are also revisiting some of the DISCWorld conceptual tools for use in virtual data systems. The DHPC group built up a lot of experience in building testbeds and we are building on those experiences to dig a bit deeper into the operating semantics and behaviour of reliable large scale grid systems.

Other work involves using DSM/DSL techniques to construct Cloud Computing systems - specifically Software-as-a-Service (SaaS) and "Storage as a Service" systems.

Some projects include:


Research Related Links


| Ken's Homepage | Teaching | IIMS | Massey University |