Undergraduate Course: Modelling Concurrent Systems (Level 11) (INFR11248)
Course Outline
School | School of Informatics |
College | College of Science and Engineering |
Credit level (Normal year taken) | SCQF Level 11 (Year 4 Undergraduate) |
Availability | Available to all students |
SCQF Credits | 10 |
ECTS Credits | 5 |
Summary | Concurrent 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 10) (INFR10089)
|
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-requisites | Only 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 2024/25, 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. This course has a Force Fail element - students must pass the exam (40% for UG students and 50% for PG students) 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 11) (INFR11248) | 2:120 | |
Learning Outcomes
On completion of this course, the student will be able to:
- construct accurate models of concurrent systems, including protocols and other distributed communicating systems
- analyse (models of) concurrent systems and show various notions of equivalence and refinement between them
- evaluate the comparative benefits and drawbacks of various concurrency models
- articulate safety and liveness properties of concurrent systems using temporal logic and other tools
- justify the correctness of concurrent systems under various assumptions about their executing context
|
Reading List
Wan Fokkink, Introduction to Process Algebra, 2007 (http://www.few.vu.nl/~wanf/BOOKS/procalg.pdf)
Selected Research Papers |
Additional Information
Course URL |
https://opencourse.inf.ed.ac.uk/mcs |
Graduate Attributes and Skills |
· Research and enquiry: problem-solving, analytical thinking
· Personal responsibility and autonomy: independent learning, creativity
· Communication: mathematical communication |
Keywords | Liveness,Safety,Parallelism,Programming Languages,Specifications,Formal Methods |
Contacts
Course organiser | Dr Robert Van Glabbeek
Tel:
Email: Rob.van.Glabbeek@ed.ac.uk |
Course secretary | Miss Yesica Marco Azorin
Tel: (0131 6)50 5194
Email: ymarcoa@ed.ac.uk |
|
|