Modelling Reactive Systems

University of Glasgow

Course Description

  • Course Name

    Modelling Reactive Systems

  • Host University

    University of Glasgow

  • Location

    Glasgow, Scotland

  • Area of Study

    Computer Engineering, Computer Science

  • Language Level

    Taught In English

  • Course Level Recommendations


    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • SCQF Credits

  • Recommended U.S. Semester Credits
  • Recommended U.S. Quarter Units
  • Overview

    Short Description

    Modelling concurrent, communicating systems using non-probabilistic and probabilistic techniques.


    Three hours per week.

    Requirements of Entry

    Advanced Programming 3 (or equivalent)
    Algorithmic Foundations 2 (or equivalent).


    Examination (80%); practical exercise (20%)

    The coursework cannot be redone because the feedback provided to the students after the original coursework would give any student redoing the coursework an unfair advantage.
    Main Assessment In: April/May

    Course Aims

    Reactive systems are widely and increasingly used throughout society (e.g. telecommunications, flight control, railway signalling, medical devices). An understanding of the fundamentals of these systems, at an abstract level, is essential for the development of process control systems and should be a pre-requisite for anyone developing software for such applications. This course provides in-depth study of key formal techniques used in designing and analysing concurrent, reactive systems.

    The emphasis in this course is on the abstract, technical foundations of reactive systems and it was designed in conjunction with Advanced Operating Systems (M), which presents the complementary implementation and engineering techniques. While students are strongly encouraged to also attend Advanced Operating Systems (M), these two courses are not formally co-requisites and can stand freely of one another.

    This course aims to introduce and explore a variety of formal process description and analysis techniques used in the design of reactive systems; and to present the practical issues raised by using a number of such formalisms and associated software tools, particularly within the context of developing communications protocols and other telecommunications applications.

    Intended Learning Outcomes of Course

    By the end of the course students will be able to:

    1: Clearly differentiate issues that arise in concurrent, reactive, and distributed systems;
    2: Explain the various concepts of concurrency and communication that arise in such systems;
    3: Demonstrate understanding of the concepts of signalling and control and associated modelling issues;
    4: Develop message sequence charts for a reactive system;
    5: Enumerate the differences between non-probabilistic and probabilistic formalisms;
    6: Design and analyse a reactive system, including a communication protocol, using appropriate design techniques and mechanised analysis tools.

Course Disclaimer

Courses and course hours of instruction are subject to change.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.

ECTS (European Credit Transfer and Accumulation System) credits are converted to semester credits/quarter units differently among U.S. universities. Students should confirm the conversion scale used at their home university when determining credit transfer.

Please note that some courses with locals have recommended prerequisite courses. It is the student's responsibility to consult any recommended prerequisites prior to enrolling in their course.


This site uses cookies to store information on your computer. Some are essential to make our site work; others help us improve the user experience. By using the site, you consent to the placement of these cookies.

Read our Privacy Policy to learn more.