Home
Profile
Research Interests
PhD Students
Former PhD Students
Publications
Teaching
CV (in PDF)
Directions
ICSE 2007
Impact
|
|
Research Interests
I began my research career by investigating the database support
that is necessary to build integrated and process-centred software
engineering environments. I obtained my PhD by showing that
object database management systems can improve the flexible
construction of integrated software engineering environments. The
inherent disadvantages of many database systems, though, lie in their
centralized nature which causes performance and scalability
bottlenecks.
When moving to the UK and starting to collaborate with fellow
academics and work with research fellows and research students, I became
interested in architectures for decentralized process-centred software
engineering environments that were also tolerant to inconsistency. I
have investigated the principles of process-centred software engineering
environments that tolerate non-compliance to prescribed processes. I
have also researched methods and principles for managing software
engineering artefacts using lightweight Web technologies. I have
devised a method for handling UML diagrams in standard web
browsers using the scalable vector graphics standard that emerged at
the time. This work has influenced the OMG UML 2.0 standard
for diagram interchange, that I co-authored. Moreover, I have devised
the principles and theoretical foundation for managing inconsistencies
of distributed semi-structured software engineering artefacts. This
work has led to a patent and formed the basis of the UCL spin-off
Systemwire Ltd.
Seeking to enable distribution of software engineering
environments, I became interested in distributed object middleware. My
research interest then broadened and generalized to different styles
of middleware-based distributed software architectures to achieve
real-time publication of data and the integration of disparate
applications in enterprises.
Distributed software architectures are determined by a given set of
available computational resources and the non-functional requirements,
for example the performance, scalability and reliability, that they
need to provide. For the last five years, the research agenda that I
pursued within my research projects has been focussed on the
investigation of principles, formalisms, methods, techniques and tools
that, given a particular mix of non-functional requirements and
computational resources, can assist in the systematic engineering of
middleware-based software architectures that are fit for purpose. I
have investigated the integration of the UML with a process algebra to
facilitate reliability and prove absence of deadlocks and safety
problems, as well as livenes anlaysis. Moreover, I am investigating
the use of economic models, in particular real option theory, to
assess the stability of a distributed software architecture.
A principle that has emerged in support of non-functional
requirements, particularly in resource constrained environments, such
as mobile systems is reflection. I have investigated and built
prototypes for various forms of reflective middleware for mobile
computing and am currently investigating the exploitation of
reflection at the network and middleware level to address scalability,
performance and reliability in the TAPAS, MANIAC and Promile
projects. In the Promile project, I have investigated programming
language principles for a programmable router platform that allows
applications to influence how their network flows are being
processed. I have demonstrated using an image processing application
in the Maniac project that the principles of reflection work in
practice. In TAPAS, we have devised a language to express service
level agreements between autonomous parties that provide components
and infrastructure for a distributed system in order to enable both
the network and the middleware to monitor and reflect on the provision
of non-functional requirements.
This year, I have started a number of e-science collaborations that
explore distributed software architectures for protein folding,
polymorph prediction and simulation of environmental processes at the
molecular level. In these projects, we devise distributed software
architectures that are built on Grid middleware, such as
implementations of the Open Grid Services Architecture that meet
particular scalability requirements.
My future research agenda will focus on establishing an engineering
discipline for the construction of distributed software systems using
middleware. This research will need to be collaborative,
inter-disciplinary and applied in nature. I expect my research to
reach out from requirements engineering and software architecture to
testing of distributed components and component deployment. As a
result, I hope to establish UCL as one of the internationally
recognized centres of excellence for distributed software engineering.
|
|
|