Quantitative Modelling with Process Algebras

The
PEPA project began in Edinburgh in 1991 and has developed a modelling language
and associated tools to predict the performance of software and hardware
systems. The PEPA language (Performance
Evaluation Process Algebra) is a compact modelling language which models
systems as compositions of sequential components which performance timed
activities either individually or in cooperation with other components. PEPA models are analysed by compilation into
Continuous-time Markov Chains (CTMCs) or other mathematical structures.

Research
projects on the language include extending the software tools which support it,
and improving their analysis capabilities, and applying the language to
modelling real-world performance problems in hardware and software systems. For example, two topics of particular
interest currently are development of sophisticated techniques for
interrogating models and guiding analysis to explore scientific questions about
the system, and analysis techniques to investigate the power-performance
trade-off in large, flexible systems such as those found in cloud computing.

Bio-PEPA
is a closely related which has been specifically designed for modelling
biochemical reactions, motivated by problems in systems biology. It has been used to model a variety of
intracellular biological processes including circadian rhythms in plants and
algi, and rRNA synthesis. However, it
has also found applications in other domains such as crowd dynamics. Unlike PEPA, Bio-PEPA models adaptive
behaviour through functional rates and incorporates representation of the
spatial organisation of a system and how it impacts the dynamics of
behaviour. Research projects on Bio-PEPA
include extending the language to have a better representation of binding
sites, investigating the analysis and interrogation techniques which can be
applied to models, and developing verification techniques to ensure the quality
of models, particularly for users who are not familiar with formal
languages. Here again there is scope for
research on the efficient implementation of tools, particularly for example on
visualisation of results, and on case studies exploring the capabilities of the
language.