Stochastic abstraction of programs: towards performance-driven development
Item Status
Embargo End Date
Date
Authors
Abstract
Distributed computer systems are becoming increasingly prevalent, thanks to modern
technology, and this leads to significant challenges for the software developers of these
systems. In particular, in order to provide a certain service level agreement with users,
the performance characteristics of the system are critical. However, developers today
typically consider performance only in the later stages of development, when it may be
too late to make major changes to the design. In this thesis, we propose a performance driven
approach to development — based around tool support that allows developers
to use performance modelling techniques, while still working at the level of program
code.
There are two central themes to the thesis. The first is to automatically relate performance
models to program code. We define the Simple Imperative Remote Invocation
Language (SIRIL), and provide a probabilistic semantics that interprets a program
as a Markov chain. To make such an interpretation both computable and efficient,
we develop an abstract interpretation of the semantics, from which we can derive a
Performance Evaluation Process Algebra (PEPA) model of the system. This is based
around abstracting the domain of variables to truncated multivariate normal measures.
The second theme of the thesis is to analyse large performance models by means
of compositional abstraction. We use two abstraction techniques based on aggregation
of states — abstract Markov chains, and stochastic bounds — and apply both of
them compositionally to PEPA models. This allows us to model check properties in
the three-valued Continuous Stochastic Logic (CSL), on abstracted models. We have
implemented an extension to the Eclipse plug-in for PEPA, which provides a graphical
interface for specifying which states in the model to aggregate, and for performing the
model checking.
This item appears in the following Collection(s)

