Here are some links to other bits of my site, for the benefit of those
who might be looking specifically for them.
Otherwise, here are links to the sections of this page:
For any other visitors, welcome to my more personal home page. This is
now in something that is much closer to what I envisage its final form
ought to be, although I guess there could be more work done on it.
Being boringly conventional, I've divided the rest of the page up into
four main chunks. There are links if you want to jump around the
you can just read through the lot if you prefer. My eventual intention
is to keep the chunks reasonably short, and put most of the detailed
in separate pages, but as you will realise I haven't got very far with
that yet. The four chunks are:
I hope you find the information useful!
There is a longer version of this if you
really interested, or would like to know a bit more about the history
Otherwise, there isn't a great deal to tell, since I haven't moved
much, as you'll see. I was brought up in Ilford,
Essex , and I was educated at Bancroft's
In 1967 I went up to Leeds
as a student, and graduated in 1970 in Computational Science and
I stayed there for a further three years, as a research student, and
eventually awarded my PhD.
In 1973 I became a lecturer at Sheffield University in what was then
the Department of Applied Mathematics and Computer Science. The
Science part of this department eventually became a separate department
in 1980, and I've been in it ever since.
I finally realised that I was a Software Engineer rather than a
Scientist during Doug Lewin's all-too-brief period as head of the
One result of this was that I ended up taking a lot of the
for developing the Software Engineering degree that we started in 1988.
Partly as a consequence, I have been heavily involved in teaching
since about the mid 1980s, including spells as:
Along the way I became a member of the British
Computer Society, a Chartered
and a European Engineer (Eur Ing).
Eventually, in 1999 the university decided that all this deserved some
recognition, and awarded me a senior lectureship. It was at around
this time that the various research interests that are described below
started to flourish, and particularly the work on software engineering
education. In 2010, this led to the university presenting me with
a Senate Award for Sustained Excellence in Teaching and Learning, and
then two years later this led to them nominating me successfully for a
National Teaching Fellowship,
which was awarded to me by the
UK HE Academy.
- undergraduate admissions tutor for the department (1985-1992);
- director of undergraduate studies for the department (1988-1995);
- undergraduate sub-dean for the faculty of engineering (1991-1994);
- director of teaching for the department (1993-1995);
- moderator or equivalent for various franchised courses; and
- director of teaching quality for the department since 1996.
And I'm still working out quite what the next step on from this should be!
I'm a member of the Verification
and Testing research group (VT for short), which grew out of an
earlier group that tried to cover the whole of formal methods and
This was not really realistic, which is why we have sharpened up our
focus, but we do still have a fairly broad range of interests.
My particular concerns are as follows.
Software Engineering Education
Partly as a consequence of my personal history, one of my main research
interests for most of my career has been a concern for how the subject
in general should be taught, and in particular how Software Engineering
should be taught. A separate page
deals with my work on this in more detail.
High-Level Machines and Type Theory
A topic on which I spent quite a lot of time during the 1980s was
trying to produce a formal description of what properties types
would need to have, if they were to be represented directly in
some kind of high-level machine architecture.
The end result of this was a specification in a language that looked
not unlike OBJ, which was documented in all its gory detail in a
departmental research report.
My efforts to get this published didn't get very far, thanks partly
to the antics of a referee who sat on the paper for a year and then
Meanwhile, the rest of the world had moved on in a different direction,
and I did the same.
The report isn't available electronically, but if anybody is interested
enough to email me about it I could supply a paper copy.
Maybe one of these days I'll come back to the ideas and see whether
I can get them published.
This is the field that is concerned with trying to integrate formal and
diagrammatic methods for modelling software system structures, and I
have been working on trying to develop formal models for data flow
diagrams, as used in many of the structured analysis and design methods.
The end result has been two formalisms, as follows.
A particular focus of this linking work is the problem of testing the
distributed systems which these two formalisms are intended to model,
and as part of this I was associated (along with other members of our
research group) with the
- One which I developed myself, and call the data flow algebra.
A separate set of pages deals with
this in more detail.
- The other, known as Communicating Stream X-Machine Systems (or
CSXMS for short), has been developed from the basic
(or Eilenberg machine, as it is now starting to be called),
as studied extensively within the VT group. Again,
a separate set of pages deals
with this in more detail, and with the attempts that we are now
making to try to link the two formalisms together.
Empirical Software Engineering
While theorising about how software should be developed is all very
well, eventually it is necessary to see what happens when the
theories are put into practice, and this is what empirical SE is
about. It's a newer interest than the others, and is tied in
very much with a project that we have developed within the VT group,
which we called the Sheffield Software Engineering Observatory, or
simply "the observatory" for short.
A separate set of pages deals
with these in more detail.
Possible Research Projects
The research interests listed above have given rise to a variety of
ideas for possible future research projects, and these are intended to
be of particular interest to potential PhD students. Since the
project ideas are likely to change more frequently than the rest of
this page, they are documented in a separate
Over the years I have taught courses in just about all areas of
core computing apart from artifical intelligence, but recently
most of the modules that I have been delivering have been ones
that focus on various aspects of software engineering.
I have usually ended up creating web sites to support their
delivery, although increasingly this support is being provided
instead through our VLE (known locally as MOLE2). The web
sites still exist, but are only accessible from within the
campus, via the
page that lists them all.
Currently (ie for 2012-13) I shall be on research sabbatical,
and so there is nothing more to say about current teaching.
- Firstly, I'm a member of Cemetery Road Baptist Church in
Sheffield. This has a
web site of its own,
and also it's a member of
The Baptist Union of Great Britain,
whose site will give you some idea of what Baptist churches are about.
- Secondly, I'm a member of the
Middleton Railway Trust
in Leeds, which runs the world's oldest railway.
- Thirdly, I'm a member of
Sheffield Bach Society
(often referred to as the Sheffield Bach Choir). There
are no prizes for guessing what they do, but it's worth commenting
that they do sing music by a whole variety of composers, and not
Their web pages used to be hosted as part of my site, but they
moved to separate hosting a long time ago.
Jump Back to a section of this page:
This page created by A.
Cowling, and last updated on 14 August 2012