COM3190 Modelling of Concurrent Systems
Summary |
The aim of this module is to set out a
strong theoretical basis for the analysis and design of
concurrent, distributed and mobile systems. We will use the
process calculi to model and reason about complex systems,
studying both its formal semantics and its many uses, via a
number of examples. |
Session |
Spring 2025/26 |
Credits |
10 |
Assessment |
- Formal examination [100%] (LOs 1-5)
|
Lecturer(s) |
Dr Harsh Beohar |
Resources |
|
Aims |
The aims of this module are:
- to develop an understanding of the subtleties of
concurrent and mobile systems' behaviours;
- to develop an understanding of the formal semantics of process algebras;
- to develop the ability to construct models of simple
systems in these calculi, and where appropriate to use
software tools to investigate their properties;
- to develop the ability to reason about system behaviour using process algebras and related logics.
|
Learning Outcomes |
By the end of this course the students should:
- appreciate the fundamental techniques and principles
needed to formally specify languages for concurrency;
- understand the mathematical theory underlying process calculus and be able to apply it to concrete
examples;
- be able to construct concurrent specifications from
requirements, to transform and analyse them using
appropriate tools and techniques, and to apply these
skills to problems drawn from a number of different
fields;
- appreciate the scope and limits of algebraic
techniques in the analysis of concurrency;
- have developed their ability to critically evaluate
their work and to discuss it coherently with others; and have expanded their capacity to model, reason
about and evaluate complex systems.
|
Content |
1. INTRODUCTION
Sequential vs concurrent systems; real vs interleaving
concurrency; mobile systems.
2. BASIC PROCESS ALGEBRA
- Using simple equations to represent complex systems;
synchronisation and non-determinism; structured
operational semantics; flow diagrams and transition
diagrams; simulation and bisimulation; the importance of
hidden internal actions.
- Detailed examples: modelling a conversation; modelling
an n-place buffer.
- Modal logics, model checkers and workbenches: using
software to reason about concurrent systems.
3. INTERLUDE: Other approaches
- CCS, CSP, Petri nets, Mazurkiewicz traces; P systems and
other bio-inspired models.
4. THEORY OF COMMUNICATING PROCESSES
- Adding mobility to; transition rules; replication
vs recursion; scope extrusion; process equivalence.
- Optional: The computational power of pi-calculus: representing
data types and functions as pi-calculus processes.
- Optional: Variations on a theme: stochastic pi, security and
ambients, modelling the flow of encrypted data.
5. DETAILED CASE STUDY
A case study illustrating the techniques used in modelling real-world situations.
|
Restrictions |
Optional modules within the school have limited capacity. We will always try to accommodate all students but cannot guarantee a place. |
Essential skills |
Must have strong grasp of mathematical logic. |
Teaching Method |
In addition to lectures, the course will include exercise
sheets and tutorial sessions; these will cover the course material. In a dedicated lecture, the theory will be applied using a modelling language to analyse concurrent process behaviours. |
Feedback |
Students will receive feedback in lectures and during the
weekly lab sessions. Weekly exercise sheets will also be
provided to help students assess their own progress. |
|