Timetable information in the Course Catalogue may be subject to change.

University Homepage
DRPS Homepage
DRPS Search
DRPS Contact
DRPS : Course Catalogue : School of Informatics : Informatics

Undergraduate Course: Modelling Concurrent Systems (Level 10) (INFR10089)

Course Outline
SchoolSchool of Informatics CollegeCollege of Science and Engineering
Credit level (Normal year taken)SCQF Level 10 (Year 3 Undergraduate) AvailabilityAvailable to all students
SCQF Credits10 ECTS Credits5
SummaryConcurrent and distributed systems are famously hard to analyse. This theoretical course presents state-of-the-art mathematical models and techniques that make understanding concurrency possible. In the process, we will touch on fundamental philosophical, mathematical and computational questions. What does 'concurrency' actually mean? How do we know our concurrent system behaves correctly? What does 'correctly' actually mean? This course is especially relevant to any student with an interest in a scientific career in programming languages, models, or distributed systems, and also to students looking to design or implement distributed systems in industry.
Course description Beginning with simple examples and protocols, we will develop a theory to describe models of concur-rent systems of increasing complexity, based on process algebra. We will learn how to compare these models, and the key concepts that describe what it means for systems to be equivalent, such as bisimulation and trace equivalence. We will learn how to specify prove properties of systems, and the assumptions we must make about the environment in which these systems operate, such as fairness. The course lectures will introduce concepts using standard examples, and students will apply what they have learned to new problems in homework questions delivered weekly. In tutorials, students can discuss solutions to their homework problems and get feedback on their work, developing their solutions into a summative homework portfolio that they submit for grading at two checkpoints throughout the semester.
Entry Requirements (not applicable to Visiting Students)
Pre-requisites Co-requisites
Prohibited Combinations Students MUST NOT also be taking Modelling Concurrent Systems (Level 11) (INFR11248)
Other requirements Some skill at mathematical reasoning is required for this course. This course is open to 3rd and 4th year informatics students, including those on joint degrees, as well as postgraduate students.

Specifically, we require some skill in basic discrete mathematics such as sets, logic, and induction.

This course is also open to students of Mathematics, and to students of Philosophy who feel they have the mathematical background for this course.
Information for Visiting Students
Pre-requisitesOnly available to full year visiting students as the assessment is exam based in the summer diet.
High Demand Course? Yes
Course Delivery Information
Academic year 2023/24, Available to all students (SV1) Quota:  None
Course Start Semester 1
Timetable Timetable
Learning and Teaching activities (Further Info) Total Hours: 100 ( Lecture Hours 18, Seminar/Tutorial Hours 7, Summative Assessment Hours 2, Programme Level Learning and Teaching Hours 2, Directed Learning and Independent Learning Hours 71 )
Assessment (Further Info) Written Exam 40 %, Coursework 60 %, Practical Exam 0 %
Additional Information (Assessment) Coursework: 60%
Exam: 40%

Each week, students will be given a series of homework questions, which usually require a mathematical argument or proof, an in-depth construction of a model, or a thorough comparison between modelling approaches. Students submit these to their tutor for feedback in the tutorial. At two checkpoints throughout the course (weighted at 30% each), students can select some of these homework solutions (e.g. best 4 out of 5) along with their tutor's feedback to submit for summative assessment. At the end of the term, an exam test will be administered that is more broad, requiring only shorter, less in-depth answers. Students must pass the exam in order to pass the course.
Feedback Main source of feedback is during tutorials as noted above.
Exam Information
Exam Diet Paper Name Hours & Minutes
Main Exam Diet S2 (April/May)Modelling Concurrent Systems (Level 10) (INFR10089)2:00
Learning Outcomes
On completion of this course, the student will be able to:
  1. construct accurate models of concurrent systems, including protocols and other distributed communicating systems
  2. analyse (models of) concurrent systems and show various notions of equivalence and refinement between them
  3. evaluate the comparative benefits and drawbacks of various concurrency
  4. articulate safety and liveness properties of concurrent systems using temporal logic and other tools
  5. justify the correctness of concurrent systems under various assumptions about their executing context
Reading List
Wan Fokkink, Introduction to Process Algebra, 2007 (
Selected Research Papers
Additional Information
Graduate Attributes and Skills · Research and enquiry: problem-solving, analytical thinking
· Personal responsibility and autonomy: independent learning, creativity
· Communication: mathematical communication
KeywordsConcurrency,Theory,Process Algebra,Distributed Systems,Formal Methods,Specifications
Course organiserDr Liam O'Connor
Course secretaryMrs Michelle Bain
Tel: (0131 6)51 7607
Help & Information
Search DPTs and Courses
Degree Programmes
Browse DPTs
Humanities and Social Science
Science and Engineering
Medicine and Veterinary Medicine
Other Information
Combined Course Timetable
Important Information