Some of you may be interested in the following Lisp job announcement (forwarded from comp.lang.lisp).
Arthur
---- Doorgestuurd Usenet-bericht ---- Van: Hamish Harvey hamish@hamishharvey.com Newsgroepen: comp.lang.lisp Onderwerp: Lisp (and Prolog, and a bit of KR) job, University of Newcastle upon Tyne, UK Datum: Fri, 08 Jul 2005 12:44:37 +0100 URL: news://dalov5$kmp$1@ucsnew1.ncl.ac.uk
I imagine that, regardless of the resurgent status of Lisp, jobs are still thin enough on the ground for job notices to be welcomed here!
The School: http://www.ceg.ncl.ac.uk/ The University: http://www.ncl.ac.uk/ The job: http://www.ncl.ac.uk/vacancies/vacancy.phtml?ref=D528R
The Earth Systems Engineering group in the School of Civil Engineering and Geosciences at the University of Newcastle upon Tyne, UK, are developing software to support flood risk management. The core of this software is a computation engine capable of taking definitions of rather complex, multi-dimensional calculations and enacting them. The computation engine will implement a domain specific language (DSL) designed to support the expression of these computations in a declarative way. This language and computation engine are being designed to provide the core of a wide range of decision support systems from tools to support interactive analysis of ill-specified problems to flood forecasting systems which depend on the continuous, unattended assimilation of incoming data.
The calculations involved in flood risk management involve embedding numerical simulation of (parts of) the flooding system within layers of higher level calculations to derive measures of flood risk (e.g. in expected annual damage), or change in flood risk resulting from particular interventions, or the sensitivity of particular outputs to uncertainty, or .... The goal, in general, is to maximise the value of investment in measures to address flood risk. Aspirations in the flood risk management community far exceed what is feasible using current technology. To the extent that such calculations are currently possible, they are achieved using combinations of software packages and a great deal of munging of data files. This approach is tedious and error-prone. It almost completely obscures the structure and meaning of the underlying calcualtions, imposing huge cognitive load on those undertaking them. It will not scale much beyond the complexity of problem currently being tackled.
The DSL under development by contrast allows these calculations, in their full multi-dimensional glory, to be expressed succinctly in a form which is amenable to human understanding but which can be compiled into an executable form. Humans are more involved in defining calculations than doing them. The language is declarative, based around a formalisation of the concept of a "reference frame", which allows the structure of a calculation (and of data sets) to be expressed explicitly (in imperative implementations this structure is implicit in the control structure of the code).
The design of the semantics of the language is well progressed, but subject to refinement as implementation proceeds. A limited prototype computation engine exists which implements basic aspects of this language. The position available is for a software developer to join me in working on this prototype, which is written in Common Lisp (making extensive use of Lisp's code-which-writes-code-which-writes-code capabilities). The work will involve significant creative input at the abstract, conceptual level as well as in translating from this abstract level into working code. It will also involve applying the developing prototype to realistic flood risk analysis case studies.
Initial prototyping is using an ad hoc, s-expression-based concrete syntax for the language. A further thread of development is to express the language in a full knowledge representation language (which may dictate changes to the abstract syntax). Part of the purpose of developing the language is to support the expression of complex calculations succinctly in a knowledge representation language. This language will then provide a point of integration of a wide range of tools which operate in terms of the structure of the calculation definitions, of which the computation engine is but one.
A draft report on the software is available. This has been written for an audience of flood risk management professionals, not computer scientists or software developers. It still needs a great deal of polishing, but nonetheless sets out the breadth of the vision behind this project. The draft is temporarily available at
http://www.floodrisknet.org.uk/Members/hamish/draft-framework-report.pdf
Funding is initially available for two years, and the appointment is fixed term. The intention is to obtain additional funds to continue this work for some time, though this is subject to the vagaries of academic funding. My own position is also dependent on obtaining this funding, so I am highly motivated in this regard!
The software will be released under an open source license in due course.
Please feel free to ask questions (about the job or the software). I will be away for the first half of next week, so a failure to respond immediately should not be taken as a lack of interest!
Cheers, Hamish