Research Interests
My research interests revolve around the multi-perspective software development
of complex, typically heterogeneous, composite systems. This kind of development
is characterised by the existence of multiple development participants, who
hold multiple (often inconsistent) views on a problem or solution domain,
and who may be express these views using different representation schemes
and develop them using different development strategies. Within this setting,
I have a number of research topic of interest.
Topics
- Software Specification and Design generally
and Requirements Engineering in particular: Within this context
my interests are in eliciting, modelling and analysing requirements from multiple
perspectives. Thus I am interested addressing questions such as: how do we
gather and organise requirements from multiple stakeholders who might hold
multiple viewpoints of a system? How do we describe these viewpoints using
multiple representation schemes and multiple process models? How do we analyse
different viewpoint descriptions, particularly when these descriptions are
inconsistent or conflicting? How do we act in the presence of inconsistencies.
- Inconsistency Management: This area
of interest is motivated by, and often a consequence of, supporting multiple
viewpoints as described above. Managing inconsistency in software development
covers a range of inconsistency handling activities, which begin with inconsistency
detection, then progress to analysing of inconsistent descriptions (e.g.,
specifications), reasoning and acting in the presence of inconsistency and
generally living with inconsistency.
- More recently, I have been working in the area of
Security Requirements Engineering , and investigating techniques
for eliciting, specifiying and analysing security requirements. Security requirements
have a number of interesting characteristics: they are negative in the sense
that they address events that should not happen, they vary enormously
depending on the scope of system being considered, and they are often specified
as a consequence of malicious users or intent.
- Process Modelling: Again, in relation
to the above research areas, I am interested in understanding, modelling and
effectively enacting fine-grain, decentralised and distributed development
processes. This facilitates the effective management of software development
at the level where it is often most useful - the individual software engineers'
level.
- In all of the above areas, I am interested in producing light-weight
tools to automate and/or guide development activities. The objective being
to populate a Software Engineering Toolbox
with tools and heuristics for using them.
- Technology Transfer: A primary focus
of my research is applications - the intention being to facilitate effective
technology transfer of research results. However, I am also interested in
an alternative interpretation of the term "technology transfer" and that is,
examining the cross-fertilisation of software engineering and other engineering
disciplines such as electronic instrument design and mining. What can we learn
from other engineering diciplines and what can we offer them in return...?
Back to home page