School of Computing Science

School of Computing Science

CSC3324 : Understanding Concurrency

  • Offered for Year: 2016/17
  • Module Leader(s): Dr Victor Khomenko
  • Owning School: Computing Science
  • Teaching Location: Newcastle City Campus
Semesters
Semester 1 Credit Value: 10
ECTS Credits: 5.0
Pre Requisites
Pre Requisite Comment

N/A

Co Requisites
Co Requisite Comment

N/A

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 and their role in modern computer systems.
- Petri nets: basic net classes and modelling examples, Petri net behaviours, concurrency and causality.
- Analysis: boundedness/safeness, deadlocks, mutual exclusion, serialisability, guarantee of delivery.
- Tool Support: simulation, model checking and visualization.
- Case studies (model based design and implementation): web transactions, communication protocols, Java threads, circuits, genetic regulatory networks.
- Consolidation: links to related formal approaches and newly emerging research application areas.

Learning Outcomes

Intended Knowledge Outcomes

To be able to:
- describe the key principles underlying concurrent system designs
- discuss the need for tool supported development of concurrent systems
- identify fundamental relationships in system behaviour: causality, conflict and independence
- dicuss how concepts, problems and solutions to concurrent systems can be developed using formal frameworks like Petri nets

Intended Skill Outcomes

To be able to:
- develop a model of a concurrent system, by identifying its action and drawing causal and conflict relationships between these actions
- implement a model of a concurrent system as a suitable Petri net
- formulate the concurrency-related correctness properties that the model is expected to satisfy
- analyse the correctness of a model using a computer based tool

Graduate Skills Framework

Graduate Skills Framework Applicable: Yes
  • Cognitive/Intellectual Skills
    • Critical Thinking : Assessed
    • Data Synthesis : Assessed
    • Active Learning : Present
    • Numeracy : Assessed
    • Literacy : Present
    • Information Literacy
      • Source Materials : Present
      • Synthesise And Present Materials : Assessed
      • Use Of Computer Applications : Assessed
  • Self Management
    • Self Awareness And Reflection : Present
    • Planning and Organisation
      • Decision Making : Assessed
    • Personal Enterprise
      • Innovation And Creativity : Assessed
      • Initiative : Present
      • Independence : Present
      • Problem Solving : Assessed
      • Adaptability : Present
  • Interaction
    • Communication
      • Written Other : Assessed
  • Application
    • Commercial Acumen
      • Financial Awareness : Present
    • Social Cultural Global Awareness : Present

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion251:0025:00Background reading
Guided Independent StudyAssessment preparation and completion220:3011:00Revision for end of Semester exam
Guided Independent StudyAssessment preparation and completion221:0022:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture221:0022:00Lectures
Scheduled Learning And Teaching ActivitiesPractical101:0010:00Practicals
Guided Independent StudyProject work101:0010:00Coursework
Total100:00
Teaching Rationale And Relationship

Lectures present theory and techniques. Practical classes provide examples and practice exercises to develop key skills. Further exercise work takes place during the private study hours.

Reading Lists

Assessment Methods

The format of resits will be determined by the Board of Examiners

Exams
Description Length Semester When Set Percentage Comment
Written Examination901A60Open book
Other Assessment
Description Semester When Set Percentage Comment
Prob solv exercises1M20Weekly exercises
Practical/lab report1M20implement a model of a concurrent system
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, its implementation as a Petri net, formulation of analytical requirements, and automatic checking of these requirements.

The examination is based around theoretical issues involved in a problem solving task. It is an "open book" examination paper, and nothing needs to be learnt by heart to pass it.

The purpose of the problem solving 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%.

Timetable

Past Exam Papers

General Notes

Based on module approved in 2011 as CSC3CCC Modelling and Understanding Concurrent Systems

Disclaimer: The University will use all reasonable endeavours to deliver modules in accordance with the descriptions set out in this catalogue. Every effort has been made to ensure the accuracy of the information, however, the University reserves the right to introduce changes to the information given including the addition, withdrawal or restructuring of modules if it considers such action to be necessary.