Stochastic abstraction of programs: towards performance-driven development
dc.contributor.advisor
Hillston, Jane
en
dc.contributor.advisor
Stark, Ian
en
dc.contributor.author
Smith, Michael James Andrew
en
dc.contributor.sponsor
Engineering and Physical Sciences Research Council (EPSRC)
en
dc.contributor.sponsor
Microsoft Research
en
dc.date.accessioned
2011-02-08T15:20:45Z
dc.date.available
2011-02-08T15:20:45Z
dc.date.issued
2010
dc.description.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.
en
dc.identifier.uri
http://hdl.handle.net/1842/4778
dc.language.iso
en
dc.publisher
The University of Edinburgh
en
dc.relation.hasversion
M.J.A. Smith. Stochastic modelling of communication protocols from source code. Electronic Notes in Theoretical Computer Science, 190(3):129–145, 2007.
en
dc.relation.hasversion
M.J.A. Smith. Probabilistic abstract interpretation of imperative programs using truncated normal distributions. Electronic Notes in Theoretical Computer Science, 220(3):43–59, 2008.
en
dc.subject
software engineering
en
dc.subject
performance evaluation
en
dc.subject
program analysis
en
dc.subject
stochastic process algebra
en
dc.title
Stochastic abstraction of programs: towards performance-driven development
en
dc.type
Thesis or Dissertation
en
dc.type.qualificationlevel
Doctoral
en
dc.type.qualificationname
PhD Doctor of Philosophy
en
This item appears in the following Collection(s)

