CSC3333 : Understanding Concurrency (Inactive)
- Inactive for Year: 2024/25
- Module Leader(s): Dr Victor Khomenko
- Owning School: Computing
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 1 Credit Value: | 10 |
ECTS Credits: | 5.0 |
European Credit Transfer System |
Aims
Sequential systems belong to the last millennium. Concurrent systems, on the other hand, are fast becoming ubiquitous technology of modern times, from multi-core processors to heterogeneous distributed computer network to Web servers and services, to genetic regulatory networks, to biochemical models of living cells. All these seemingly different application areas are in fact underpinned by a unifying principle of computational processes interacting and communicating in order to achieve a common computational goal.
The principal aim of this module is to develop an understanding of this unifying principle and the ways in which concurrency can be modelled and harnessed to deliver correct, reliable and efficient designs. Fundamental concepts of concurrency as well as modelling techniques will be introduced using Petri nets (a graphical model extending finite state machines with concurrency). The key ideas will be further explored and reinforced through several examples of applications as well as practical work implemented using state-of-the-art modelling tools developed at Newcastle. The material should equip students with confidence based on a solid understanding of the complexity and inherent intricacies of concurrent designs, in order to successfully tackle the most advanced and challenging computing technologies which will emerge during a student’s career.
Outline Of Syllabus
- Introduction: The ubiquity of concurrent systems, their role in modern technology, considerations for deploying concurrency, and the challenge of developing correct concurrent systems.
- Languages and Traces as a formal representation of behaviour of reactive systems.
- Finite State Machines as a formal representation of behaviour, with the use of interleaving to represent concurrency.
- Petri nets as a "true concurrency" formalism for representing concurrent behaviours.
- Compositionality as the only practical way of constructing large systems.
- Formal verification of concurrent systems.
- Concurrency in electronic circuits.
- Concurrent computation: Amdahl’s law vs. Gustafson’s law, taxonomies, types of concurrency, synchronisation primitives.
- Pipelines and their analysis and optimisation.
- Tool Support: visualization, simulation, and formal verification.
- Case studies illustrating model-based design.
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 22 | 1:00 | 22:00 | Lecture follow-up |
Guided Independent Study | Assessment preparation and completion | 27 | 0:30 | 13:30 | Background reading |
Scheduled Learning And Teaching Activities | Lecture | 22 | 1:00 | 22:00 | Lectures PIP |
Guided Independent Study | Assessment preparation and completion | 1 | 1:30 | 1:30 | End of semester exam |
Guided Independent Study | Assessment preparation and completion | 22 | 0:30 | 11:00 | Revision for the end of semester exam |
Scheduled Learning And Teaching Activities | Practical | 10 | 1:00 | 10:00 | Weekly practical's with low stake exercises signed off by demonstrators PIP |
Guided Independent Study | Project work | 1 | 20:00 | 20:00 | Coursework (modelling assignment) |
Total | 100:00 |
Teaching Rationale And Relationship
Lectures present theory and techniques. Practical's provide examples and practice exercises to apply the theory and modelling techniques from the lectures and develop key skills.
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
Written Examination | 90 | 1 | A | 60 | Open book |
Other Assessment
Description | Semester | When Set | Percentage | Comment |
---|---|---|---|---|
Practical/lab report | 1 | M | 40 | Implement a model of a concurrent system, validate and formally verify it, and write a 500 words report. |
Formative Assessments
Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.
Description | Semester | When Set | Comment |
---|---|---|---|
Practical/lab report | 1 | M | weekly pass/fail exercises completed during practicals and signed off by demonstrators |
Assessment Rationale And Relationship
There is one system design and analysis assignment assessing the understanding of basic concepts of the modelling and analysis of concurrent systems through a simple case study using the Workcraft toolkit developed at Newcastle. The coursework will involve design of a model as a Petri net, formulation of analytical requirements, and automated checking of these requirements.
The examination is based around theoretical issues involved in problem solving tasks. It is an "open book" examination paper, and nothing needs to be learnt by heart to pass it.
The purpose of weekly practical exercises is to familiarise the students with the software for modelling and verification of concurrent systems, and to practice the modelling techniques learnt at the lectures.
N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 35%, the maximum mark returned for the module will normally be 35%.
Reading Lists
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- CSC3333's Timetable