Concrete topics for PhD research
Programming language semantics research makes use of
techniques from mathematical logic, category theory and type theory to
develop the foundations of programming languages with a long term goal
of producing new and better programming languages and environments. I
am interested in axiomatic, operational, categorical and denotational
semantics. One creates mathematical models and methods which inform
language design and assist with the development of logical systems for
specifying and reasoning about program properties. More specifically
this research
 aims to increase our general understanding of the theory and fundamentals
of programming and computation;
 aims to underpin and clarify our understanding of existing programming
languages and systems, and can be used as a basis for
analysis, specification, verification, and testing; and
 can lead to the development of fundamentally new
languages and systems.

Mathematical Models of Variable Binding: In the last decade we
have advanced our understanding of the formal notion of variable
binding considerably. Presheaf categories have been shown to provide
models of standard languages with variable binding, such as (variants
of) the lambda calculus, as initial algebras. This is a considerable
advancement over older models in which expressions with binders could
only be realised as alphaequivalence classes of elements of initial
algebras. The important gain here is the initial algebra gives rise to
a clear principle of structural induction. My own work has developed
particular kinds of presheaf category models, and a PhD thesis could
be based upon the further development of these models and the
associated reasoning principles.

Computer Systems for Reasoning About Binding: The Hybrid system
was developed in Isabelle HOL. It is a metalogic which can be used to
reason about languages with binding. One translates the object
language into Hybrid, and then uses Hybrid's reasoning principles
(such as induction and coinduction) to prove properties of the
language. There are a variety of research avenues to explore, ranging
from applications of Hybrid which could involve the testing of Hybrid
and its comparison with other systems of reasoning with binders, to
the further development of the Hybrid system itself.
Roy Crole's homepage and contact details
Rewriting and Lambda Calculus We are interested to extend the theory of
rewriting with infinite reductions and infinite terms. This leads to new
insights when one tries to generalise results and concepts of finite rewriting
to the infinite setting. Waiting to be explored are
questions like:

Models for infinitary lambda calculus: the study of infinite lambda
calculus has revealed an abundance of different syntactic models. Is it
possible to construct models that induce the same equality relations as these
syntactic models with other means, for instance via domain equations? The
converse question is of interest too: given a known semantics of the lambda calculus,
what is the corresponding infinite lambda calculus whose term model induces the same equality relation?

Infinite lambda calculi without renaming: traditional finite lambda
calculi follow a variable convention. Various solutions have been proposed to
circumvent this problem: for instance
De Bruijn indices or the Adbmal calculus of Hendriks and van Oostrom. Do these
solutions generalise?

Decreasing diagrams is a powerful technique to prove confluence in
finite rewriting. Can it be generalised to prove confluence in the infinite
setting?
FerJan de Vries's homepage and contact details
Algorithmic Aspects of Comunication Networks.
Numerous challenging optimization problems arise in the design
and operation of communication networks such as optical
networks, cellular wireless networks, mobile wireless adhoc
networks, and GRID computing. Examples of such problems include
network design, resource provisioning, resource allocation,
scheduling, virtual backbone construction, and call admission
control. Students working on such topics typically identify
suitable models and problem formulations, design and analyze
algorithms (approximation algorithms, online algorithms,
distributed algorithms, algorithmic game theory), and
implement simulations of algorithms for the purpose of
experimental evaluation and comparisons. The focus can be more
on the theoretical analysis (proofs of worstcase performance
guarantees, competitive analysis) or on the experimental and
algorithm engineering side, but typically the research
includes aspects of both.
This is a broad topic that can accommodate a number of
specific PhD research projects. Note, however, that I already
have a number of PhD students and, for the moment, will accept
additional students only if they are exceptionally well
qualified.
List of skills required:
 Ability to understand the design and analysis of algorithms.
 Ability to understand and apply basic concepts of
discrete mathematics (graphs, combinatorics, proofs).
 Ability to write about algorithms and proofs in
a precise and rigorous way.
 Creativity in prolemsolving.
 Ability to write programs in a suitable programming language
such as Java or C++ (only if the PhD project includes a
simulation or implementation component).
List of relevant optional modules that can be attended at
University of Leicester:
 CO7200 Algorithms for Bioinformatics
 CO7212 Game Theory in Computer Science
 CO7213 Networking and Distributed Computing
Some suggested reading:
 Introduction to Online Algorithms:
Susanne Albers: Competitive Online Algorithms. BRICS Lecture
Series, LS962, 1996.
Available at:
http://www.brics.dk/LS/96/2/
 Survey of Approximation Algorithms for Disjoint Paths
Problems:
Thomas Erlebach: Approximation Algorithms for EdgeDisjoint
Paths and Unsplittable Flow. In E. Bampis et al. (Eds.):
Efficient Approximation and Online Algorithms, LNCS 3484,
Springer, 2006, pp. 97134.
Available at:
http://www.cs.le.ac.uk/people/te17/papers/edpsurvey.pdf
 Survey of Algorithmic Models of Adhoc/Sensor Networks:
S. Schmid and R. Wattenhofer: Algorithmic Models for Sensor
Networks. In Proceedings of the 14th International Workshop
on Parallel and Distributed RealTime Systems (WPDRTS),
April 2006.
Available at:
http://www.dcg.ethz.ch/members/pascal/refs/wpdrts06cam.pdf
 Example of an algorithmic result for virtual backbone
construction in adhoc networks:
Christoph Ambuehl, Thomas Erlebach, Matus Mihalak, Marc
Nunkesser: Constantfactor approximation for minimumweight
(connected) dominating sets in unit disk graphs. In Proceedings
of the 9th International Workshop on Approximation Algorithms
for Combinatorial Optimization Problems (APPROX 2006),
LNCS 4110, Springer, 2006, pp. 314.
Extended version available at:
http://www.cs.le.ac.uk/people/te17/papers/CS06008.pdf
Thomas Erlebach's homepage and contact details
Topics on software engineering for serviceoriented systems:
These topics explore or extend the work that is being done at Leicester
within the SENSORIA project, mainly around the modelling language SRML. See
http://www.sensoriaist.eu/ for general information about the project and
http://www.cs.le.ac.uk/people/jfiadeiro/ for papers that I've written with
my colleagues and students.

Human services:
In this topic, the aim is to extend the modelling primitives that we have
been defining for software services to services provided by humans. More
precisely, we would like to be able to model business activities that may
rely on services provided by software (as in webservices), technical
components (as in embedded systems) and humans (as in organisations). There
is already an extension of BPEL for such human services (called
BPEL4People), but it needs to be properly formalised and integrated in a
software engineering framework such as the one that we are defining in
SENSORIA.
The work can follow one or more of the following directions:
A: Definition of a rolebased model of humans as service providers that
reflects organisational structures
B: Extension of the publication and discovery mechanisms of serviceoriented
architectures to address human service providers
C: Extension of the SRML language and its semantics to the case of human
provided services
Work can involve a combination of aspects that are more theoretical
(involving logic and algebraic semantics), methodological (principles and
notations), or practical (development of prototypes or extension of tools),
depending on the background and interests of the candidate.
Suggested MSc modules: Advanced System Design, ServiceOriented
Architectures

Requirements engineering:
SENSORIA has not addressed this phase of the software engineering process.
Under this topic, the student will investigate the role of requirements
engineering for serviceoriented systems and propose languages and notations
that fit the use of SRML for highlevel design.
The work can follow one or more of the following directions:
 Implications of the difference between activities and services in
requirements engineering. Who are the users? Who are the customers? What is
the lifecycle of activities and services?
 Extension of Jackson's Problem Frames for serviceoriented systems.
 Extension of usecase diagrams and similar notations.
 What is the relationship between componentbased and serviceoriented development in what concerns requirements?
 What is the role of service level agreements in requirements engineering?
Work can involve a combination of aspects that are more theoretical
(involving logic and algebraic semantics), methodological (principles and
notations), or practical (development of prototypes or extension of tools),
depending on the background and interests of the candidate, with an emphasis
on the methodological aspects.
Suggested MSc modules: Advanced System Design, ServiceOriented
Architectures, Generative Development, Domain Specific Languages

Reflective configuration model:
The dynamic aspects of SRML (service discovery and binding) have an
algebraic semantics based on graphs: business activities are modelled as
subgraphs of the system configuration; these graphs are rewritten each time
the activity binds to a discovered service, inducing a reconfiguration of
the system. Configurations are typed by what we call activity modules
(formal models of the activity type and its dependencies on external
services).
In this topic, the aim is to take forward the graphbased representation of
configurations and activities and "implement" it over a rewriting system
such as Maude (developed by Jose Meseguer at the University of Illinois 
Urbana Champaign and the SRI International) in order to support prototyping
and analysis of SRML modules. Another goal is to investigate the
relationship between this model and notions of reflective middleware as
developed, for instance, by Gordon Brown in Lancaster.
Work can involve a combination of aspects that are more theoretical
(involving logic and algebraic semantics), methodological (principles and
notations), or practical (development of prototypes or extension of tools),
depending on the background and interests of the candidate, with an emphasis
on the theoretical and practical/implementation aspects.
Suggested MSc modules: Advanced System Design, ServiceOriented
Architectures

Publication and discovery of services:
Current support for publication and discovery of services in service
oriented architectures does not go much further than the UDDI. In SENSORIA,
we have been relying on an abstract notion of an ontologybased 'broker' for
discovery, ranking and selection of services. In SRML, the matchmaking and
ranking are performed over functional properties and SLA constraints. The
handling of SLA constraints in SRML is based on the csemiring approach to
constraint satisfaction and optimisation developed by Bistarelli et al.
The matching of the required functional properties (static and behavioural)
is formalised in SRML as an interpretation between theories, i.e. that
properties required from a service are entailed by those provided by
candidate services.
From an operational point of view, the current level of maturity of
verification technologies is not advanced enough to let such a broker rely
on casebycase roofs of entailment. In this topic, the aim is to support a
notion of broker that can use a repository of (patterns of) 'standard'
service descriptions organised in hierarchies of entailment. These
hierarchies should be established within business domains to facilitate
discovery in conjunction with Semantic Web techniques.
Work can involve a combination of aspects that are more theoretical
(involving specification/description logics), methodological (principles and
notations), or practical (development of a prototype broker), depending on
the background and interests of the candidate, with an emphasis on the
theoretical and practical/implementation aspects.
Suggested MSc modules: Advanced System Design, ServiceOriented
Architectures, Semantic Web, Domain Specific Languages
Jose Fiadeiro's homepage and contact details
Design and analysis of algorithms, particularly in the areas of
 Online algorithms
 Combinatorial optimization
 Computational biology and bioinformatics
Skills:
Background in discrete mathematics and algorithms as provided in most CS
undergraduate degrees
Suggested MSc modules:
Analysis and Design of Algorithms. provides the above skills. C++ Programming and Advanced Algorithm Design and Game Theory in Computer Science may also be useful.
Papers:
 S. Albers, Online algorithms: a survey, Mathematical Programming 97 (12),
p. 326, July 2003.
http://www.informatik.unifreiburg.de/~salbers/ismp03.ps.gz
 A. Borodin and R. ElYaniv, Online Computation and Competitive Analysis,
Cambridge University Press, 1998.
Stanley Fung's homepage and contact details
Modelling and analysis of social networks by graph transformation:
A network can be seen as a graph, and its evolution over time modelled by
graph transformation rules. See
http://www.cs.le.ac.uk/people/rh122/papers/2006/Hec06Nutshell.pdf for an
introduction to graph transformation and google 'social network analysis' to
get an idea of the problem.

Business process modelling: from Petri nets to graph transformation
Modelling of business process (or workflows) by Petri nets has been very
popular recently. An introduction to the approach can be found in
http://is.tm.tue.nl/staff/wvdaalst/publications/p44.pdf.
Graph transformation systems (GTS), see
http://www.cs.le.ac.uk/people/rh122/papers/2006/Hec06Nutshell.pdf, are more
expressive than nets, and indeed every net can be seen as a simple GTS.
Lifting ideas and concepts from the Petri net world, we would like to
establish GTS as a technique for modelling workflows / business processes.
In either topic, good knowledge and skills in at least two out of the
following three areas is required.
 OO development (programming and UML).
 basic theoretical computer science (automata and formal languages,
propositional and first order logic, basic set theory).
 classical maths (analysis and probability theory).
Reiko Heckel's homepage and contact details

Algorithm with uncertainty:
The area of update algorithms for problems with uncertainty is a
relative recent developed topic. For most classical algorithms it is
assumed that the input is precise. In this model each input might be
given in a rough (uncertain) form. The precise value for each input
can be obtained for a certain cost. The algorithm has to decide for
which input data the the extra costs needs to be paid to solve the
underlying problem. Algorithm with uncertainty are rated on cost
effective they are.
Prerequisites:
 Programming in C++, Java, or similar computer language
 Knowledge in time and space complexity
 Knowledge in statistical analysis
Related publication:
 Thomas Erlebach, Michael Hoffmann, Danny Krizanc, Matu's
Mihala'k, Rajeev Raman: Computing Minimum Spanning Trees with
Uncertainty. STACS 2008: 277288T.

Online Algorithms:
Quota from wikipedia: (http://en.wikipedia.org/wiki/Online_algorithm)
"In computer science, an online algorithm is one that can process its
input piecebypiece, without having the entire input available from the
start. In contrast, an offline algorithm is given the whole problem data
from the beginning and is required to output an answer which solves the
problem at hand. (For example, selection sort requires that the entire
list be given before it can sort it.)
As an example of the problem consider the problem of finding a
shortest path in a finite connected graph when the graph is unknown
and the algorithm receives the node neighbors only when it "enters"
the node. It is clear that this problem can not be solved optimally
without a simple exhaustive search. Thus, new performance measures
have to be introduced, such as competitive analysis, which compares
the performance of an online algorithm with that of a hypothetical
offline algorithm that knows the entire input in advance."
In this general topic some of my recent research focused on network
discovery. Where a structure of the network is not known and by
probing certain nodes the whole network will be discovered.
Prerequisites:
 Programming in C++, Java, or similar computer language
 Knowledge in time and space complexity
 Knowledge in statistical analysis
Related publication:
 Zuzana Beerliova, Felix Eberhard, Thomas Erlebach, Alexander Hall,
Michael Hoffmann, Matu's Mihala'k, L. Shankar Ram: Network Discovery and
Verification. IEEE Journal on Selected Areas in Communications 24(12):
21682181 (2006)
Michael Hoffmann's homepage and contact details
My research applies mathematical structures to investigate computational phenomena.
In particular, I specialise in using games to interpret computer programs, an area known as
game semantics. Although I am especially keen on exploring
applications of games, I would be more than happy to hear from potential
students interested in pursuing alternative ideas in the areas
of programming language semantics or software verification.
Game semantics is a modelling theory that interprets computation
as an exchange of moves between two players: one of them represents
the program and the other plays the role of the context in which the program
is executed. According to this view, a program becomes a strategy in a game.
The last 15 years have led to the construction of a multitude of highly accurate
game models for a wide spectrum of programming paradigms.
They are waiting to be fieldtested!

A concrete project in the area will focus on a selection of
programming features such as concurrency, higherorder functions, references,
objects, etc. It will aim to uncover novel ways of analyzing such programs
in an automated fashion, by drawing inspiration from the structure of
corresponding game models, among others, exploiting their compositionality.
The ultimate objective will be to beat existing approaches or to propose
significant improvements thereof.
More foundational topics are also possible.
A typical one would involve identifying an emerging programming paradigm
that is relatively poorly understood and attempting to provide a solid semantic
analysis, covering both operational and denotational semantics.
An even more theoretical thesis could consist in dissecting the structure of game
models with tools from algebra and category theory.
There are also numerous problems about the lambda calculus that one can
attack or revisit with game semantics.
Feel free to send me an email to discuss possible ideas!
Andrzej Murwaski's homepage and contact details

Dynamic Adaptation of Workflows:
Workflows capture Business Processes, but business is dynamic so their
workflows need to adapt. StPowla is an approach to process modelling for
serviceoriented systems. It has three ingredients: workflows to express core
processes, services to perform activities and policies to express variability.
Workflows are expressed using a graphical notation. Policies can make
shortlived changes to a workflow instance, i.e. they last for the duration of
the workflow instance and usually will be made during the execution of the
instance, rather than applied to the overall workflow model. There are two
types of policies: refinement and reconfiguration. Refinement policies specify
criteria for the selection of the service that is ultimately chosen and invoked
to execute the task at hand, while reconfiguration policies change the
structure of the workflow instance by e.g. deleting or adding tasks. This area
also covers the study of policy conflict.
Selected References:

S Gorton, C Montangero, S ReiffMarganiec and L Semini. StPowla: SOA, Policies and Workflows. WESOA 2007.
 L Bocchi, S Gorton and S ReiffMarganiec. Engineering Service Oriented Applications: From StPowla Processes to SRML Models. FACS (Formal Aspects of Computing).

Service Selection:
One area of serviceoriented computing is concerned with identifying the right
service for a user. This is a very active and interesting area and I am
specifically interested in how can the best service for a specific user
context be selected and how can the overall selection services for a business
process be optimized. In the former area we have developed an extension of LSP
(Logic Scoring for Preferences) that allows for automatic ranking of single
services. An extension of this method for workflows is under consideration,
however, for workflows we are also working on an Immune based algorithm for
finding the global best.
Selected References:
 J. Xu and S ReiffMarganiec. Towards Heuristic Web Services Composition Using Immune Algorithm. ICWS 2008.
 HQ Yu and S ReiffMarganiec. A Method for Automated Web Service Selection.
WSCA 2008.

Virtual Organisations:
The idea of virtual organisations captured the fact that many smaller
organisations can work together in dynamic ways to achieve larger goals that
none of them could achieve on their own. We are studying how to model VOs at
higher levels of abstraction, but in ways that will ultimately allow to reason
about their behaviour. A future aspect of this work would be the consideration
of a runtime platform to enable the operation of VOs.
Reference:
 L. Bocchi, J.L. Fiadeiro, N. Rajper and S. ReiffMarganiec. Structure and
Behaviour of Virtual Organisation Breeding Environments. FAVO 2009.
Stephan ReiffMarganiec's homepage and contact details

Automatic groups and semigroups:
There have been some intriguing interactions in recent years between
group theory and theoretical computer science. One area which has
proved to be very fruitful in providing interesting and useful results
is that of automatic groups where computation in the group can
(essentially) be performed via an associated set of finite automata.
For example, it is known that any automatic group must be finitely
presented and the word problem of an automatic group can be solved in
quadratic time. For an overview of automatic groups, see [1].
Much of the research at Leicester is involved in extending this theory
to semigroups. We find that some of the results in automatic groups do
generalize to semigroups (such as the solution of the word problem in
quadratic time) whereas others do not (for example, there exist
automatic semigroups that are not finitely presented). See [2] for an
introduction to automatic semigroups. As an example of the work done
in this area, see [3] where it was shown that, for semigroups, the
notions of automatic and biautomatic do not coincide (this is still an
open problem for groups).
References:
[1] D. B. A. Epstein, J. W. Cannon, D. F. Holt, S. Levy, M. S.
Paterson and W. Thurston, Word Processing in Groups (Jones and
Barlett, 1992).
[2] C. M. Campbell, E. F. Robertson, N. Ruskuc and R. M. Thomas,
Automatic semigroups, Theoretical Computer Science 250 (2001), 365391.
[3] M. Hoffmann and R. M. Thomas, Biautomatic semigroups, in: M.
Liskiewicz and R. Reischuk (editors), 15th International Symposium on
Fundamentals of Computation Theory (FCT) 2005 (Lecture Notes in
Computer Science 3623, SpringerVerlag, 2005), 5667.

Hyperbolic groups and monoids:
The notion of hyperbolic groups has played a fundamental role in
computational group theory. There were several equivalent definitions
of the notion of hyperbolicity in groups (see [1] for example) but
none of these generalized to monoids. This changed with Gilman's
elegant characterization of hyperbolic groups; Duncan and Gilman then
suggested that this formulation could be taken as the definition of a
hyperbolic monoid.
Their definition is entirely natural but we do not have efficient
algorithms for dealing with hyperbolic monoids. It is known that the
word problem for hyperbolic groups can be solved in linear time but
the best known algorithm for the word problem in a hyperbolic monoid
is exponential [2]. Other questions are still open as far as
hyperbolic monoids are concerned, even as regards decidability.
However, research at Leicester has shown how the definition can be
changed in such a way that we still have equivalence in the class of
groups but we do have efficient algorithms for hyperbolic monoids; see
[3].
References:
[1] J. M Alonso, T. Brady, D. Cooper, V. Ferlini, M. Lustig, M.
Michalik, M. Shapiro and H. Short, Notes on word hyperbolic groups,
in: E. Ghys, A. Haefliger and A. Verjovsky (editors), Group Theory
from a Geometric Viewpoint (World Scientific Publishing, 1991), 363.
[2] M. Hoffmann, D. Kuske, F. Otto and R. M. Thomas, Some relatives of
automatic and hyperbolic groups, in: G. M. S. Gomes, JE. Pin and P.
V. Silva (editors), Semigroups, Algorithms, Automata and Languages
(World Scientific, 2002), 379406.
[3] M. Hoffmann and R. M. Thomas, Notions of hyperbolicity in monoids,
in: E. CsuhajVarju and Z. Esik (editors), 16th International
Symposium on Fundamentals of Computation Theory (FCT) 2007 (Lecture
Notes in Computer Science 4639, SpringerVerlag, 2007), 341352.

Word problems of groups and semigroups.
The word problem for a finitely generated group is one of the must
fundamental notions in group theory. There are many intriguing
connections with theoretical computer science, and one important such
area is that of investigating what implications the structure of the
word problem as a formal language has on the algebraic structure of
the corresponding group; see [2] for example. We can also ask which
groups have word problem solvable within some resource bound, which
leads to intriguing connections with computational complexity; see [1]
for example.
As well as groups, it is possible to consider these issues in the
wider context of finitely generated semigroups; several questions that
have been completely resolved in the group case remain open in this
wider setting. Notwithstanding this, some advances have been made,
particularly in the case of the onecounter languages (see [3]).
References:
[1] S. R. Lakin and R. M. Thomas, Contextsensitive decision problems
in groups, in: C. S. Calude, E. Calude and M. J. Dinneen (editors),
Developments in Language Theory: 8th International Conference, DLT
2004, (Lecture Notes in Computer Science 3340, SpringerVerlag, 2004),
296307.
[2] D. F. Holt, C. E. Roever, S. E. Rees and R. M. Thomas, Groups with
a contextfree coword problem, Journal of the London Mathematical
Society 71 (2005), 643657.
[3] D. F. Holt, M. D. Owens and R. M. Thomas, Groups and semigroups
with a onecounter word problem, Journal of the Australian
Mathematical Society 85 (2008), 197209.

FApresentable structures.
When one considers the notion of a computable structure. one would
normally use some general model of computation such as a Turing
machine. However, there have been various ideas put forward to
restrict the model of computation used; whilst the range of possible
structures decreases, the computation can become more efficient and
certain properties of the structures may become decidable.
One interesting approach was introduced by Khoussainov and Nerode [1]
who considered structures whose domain and relations can be checked by
finite automata (as opposed to Turing machines); such a structure is
said to be FApresentable. One area of intense interest here has been
the classification of which structures are FApresentable, and there
are not many instances where this has been achieved. Amongst the few
examples of this
to date has been the classification of FApresentable finitely
generated groups in [2] and the generalization to FApresentable
finitely generated cancellative semigroups in [3].
References:
[1] B. Khoussainov and A. Nerode, Automatic presentations of
structures, in: D. Leivant (editor), Logic and Computational
Complexity (Lecture Notes in Comp. Science 960, SpringerVerlag,
1995), 367392.
[2] G. P. Oliver and R. M. Thomas, Automatic presentations for
finitely generated groups, in: V. Diekert and B. Durand (editors),
22nd Annual Symposium on Theoretical Aspects of Computer Science,
STACS 05 (Lecture Notes in Computer Science 3404, SpringerVerlag,
2005), 693704.
[3] A. J. Cain, G. P. Oliver, N. Ruskuc and R. M. Thomas, Automatic
presentations for semigroups, Information and Computation 207 (2009),
11561168.
Rick Thomas's homepage and contact details
Abstractions for mobile distributed systems
The widespread use of distributed and concurrent systems urges to
use formal models to rigorously describe and analyse computations
where remotely executing processes interact through
amongcommunication infrastructures that can dynamically change.
I'm interested in studying models for several aspects of modern
distributed computations from theoretical as well as applied points
of view.
My favourite models are based on process algebras, automata
and hypergraphs.

Process Algebras:
Process algebras are particularly suitable for formally
describing and reasoning on distributed communicating processes
that operates in a dynamically changing environment.
Indeed, many different theories (e.g., behavioural type systems)
have been shown adequate to tackle problems rising in distributed
computing (e.g., serviceoriented computing).
Moreover, process algebras can be practically used for verifying
systems with techniques like model checking or typechecking.
Promising research directions are eventnotification based calculi
and session types to control distributed interactions (see the suggested
papers below).
Both theoretical and applied research is possible, in fact
I'm currently interested in defining suitable systems for
dynamic multiparty sessions and some implementation issues
of an eventnotification based process algebra.
Required skills:
 Good mathematical and logical skills.
 If interested in implementation aspects, good programming
skills (either functional or object oriented programming).
References:
 Robin Milner, Joachim Parrow, David Walker. A Calculus of Mobile Processes Part I and Part II. Information and Computation 100:177 (1992).

GianLuigi Ferrari, Daniele Strollo, Roberto Guanciale, and Emilio Tuosto. Coordination Via
Types in an EventBased Framework.. In J. Derrick and J. Vain, editors, 27th IFIP WG
6.1 International Conference on Formal Methods for Networked and Distributed Systems Special
focus on service oriented computing and architectures,
volume 4574 of Lecture Notes in Computer Science. SpringerVerlag, June 2007.

Roberto Bruni, Ivan Lanese, Hernan Melgratti, Emilio Tuosto. Multiparty sessions in SOC.
In D. Lea and G. Zavattaro editors.
Coordination Models and Languages, volume 5052 of Lecture Notes in Computer Science,
SpringerVerlag, May 2008.

Automata for mobile systems:
Traditional automata can be enriched to model computational
phenomena arising in mobile systems modelled with nominal
calculi.
Not only automata can be used to check behavioural equivalences
of systems, but they are also suitable to model check them or
verify e.g., service compatibility.
This research is very much related to process algebras and aims
at exploiting the class of HistoryDependent automata as
the basis for formal verification of systems modelled with
nominal calculi
Required skills:
 Good mathematical and logical skills.
 Notions of automata theory.
References:

Robin Milner, Joachim Parrow, David Walker.
A Calculus of Mobile Processes  Part I and Part II.
Information and Computation 100:177 (1992).

G. Ferrari, U. Montanari, E. Tuosto.
Coalgebraic Minimisation of HDAutomata for the picalculus Using Polymorphic Types.
TCS 331:325365 (2005).

V. Ciancia, G. Ferrari, M. Pistore, E. Tuosto.
History Dependent Automata for Service Compatibility.
In P. Degano, R. De Nicola, and J. Meseguer editors.
Concurrency, Graphs and Models, volume 5065 of Lecture Notes in Computer Science,
SpringerVerlag, July 2008.

Graphs model:
Graph and graph transformation can be envisaged as a generalisation
of terms and term rewriting.
In last years, graphs have been widely used to model concurrent
and distributed systems and nowadays many tools rely on such
theories.
I'm interested in the use of a recent techniques for rewriting
hypergraphs, a class of graphs where edges can connect
more than 2 nodes.
An interesting line of research is the implementation of the
rewriting techniques defined for hypergraphs.
Required skills:
 Good programming skills (preferably functional programming).
 Some mathematical and logical skills.
References:

Gianluigi Ferrari and Dan Hirsch and Ivan Lanese and Ugo Montanari and Emilio Tuosto.
Synchronised Hyperedge Replacement as a Model for Service Oriented Computing.
F. de Boer, M. M. Bonsangue, S. Graf and W. P. de Roever editors.
Formal Methods for Components and Objects: 4th International Symposium, FMCO,
volume 4111 of Lecture Notes in Computer Science, SpringerVerlag, November 2005.
Emilio Tuosto's homepage and contact details
Reversible Debugging and Concurrency:
In the last several years a number of commercial debuggers appeared
on the market that claim to make full use of reversibility when
debugging programs. The two good examples of such tools are UndoBD by
Undo Ltd and Simics Hindsight by Virtutech. However, when it comes
to dealing with multithreaded programs or programs that use a shared
memory, these stateoftheart debuggers are powerless. This project
aims to address this inadequacy by taking the formal methods approach.
We aim to develop a robust method for reversing simple multithreaded
programs using a process algebralike notation and methodology.
Moreover, we aim to implement an extension of one of the existing
reversible debuggers that is able to cope with multithreaded
programs.
An ideal candidate for this project would be interested in debugging
in general, and would enjoy working with formal methodologies such as
process algebra CCS, operational semantics of multithreaded programs
and reversibility of such programs. Additionally, good programming
skills would be very helpful.
Starting date: October 1st, 2011. This will enable the successful
candidate to take a course on process algebra CCS and refresh their
C++ and Java programming skills during Semester 1 (October to January)
of the academic year at the University of Leicester.
Irek Ulidowski's homepage and contact details

