Reactive and Event Based Systems (REB)

Course content

In this advanced course, you will get the chance to learn about the basics of reactive and event-based systems, as well as research-based technologies for implementing reactive and event-based systems with applications in various areas such as business process management systems, large scale data processing and distributed systems, games, robotics, and IoT.

Concretely, the course will introduce you to active research topics at DIKU with applications in industry that can serve as a basis for a bachelor project.

Learning outcome

Knowledge within

two or more of the following topics:

  • Topic 1: Declarative Process Models and Event-Based systems

       - Processes and how to model them
       - Declarative vs. imperative process notations
       - Process Modelling with Dynamic Condition Response Graphs

  • Topic 2: 

       - Modelling properties of event-based systems as declarative     constraints
       - Run-time monitoring of event-based systems with a declarative process engine 

  •  Topic 3: Actors and databases

       - Actor-based modelling and programming
       - Actor-oriented vs. actor-relational databases
       - Relational actor programming model and main implementation issues

  •  Topic 4: Event stream processing
     - Data and programming models for event stream processing
     - Issues of implementing event stream processing systems

 

Skills to 

do two or more of the following tasks

  • Model event-based systems using formal declarative notations.
  • Model properties as declarative constraints and leverage a declarative process engine to control and monitor event-based systems.
  • Build software solutions based on actors and databases.
  • Build event-driven applications.  

 

Competences to

do two or more of the following activities

  • Can apply declarative process technologies to model event-based systems.
  • Can apply declarative process technologies to describe properties of and monitor event-based systems.
  • Can structure and implement an actor-based application to address a concrete problem scenario.
  • Design and implement applications using event stream processing techniques.  

Weekly lectures and modelling or programming tasks in groups, 3 mandatory hand-ins (in groups), deadline approximately every 2nd week.

See Absalon

It is important that the student has:

-Knowledge of programming as obtained in Programmering og Problemløsning (PoP) and Softwareudvikling (SU).

Knowledge of Discrete Math and basic algorithms and data structures as obtained in Diskret Matematik og Algoritmer (DMA) or Discrete Mathematics and Formal Languages (DMFS).

-Knowledge of database systems at the level of the DIKU courses Development of Information Systems (UIS) or Data Science (DS).

It is recommended to have knowledge of computer systems at the level of the DIKU course, Computer Systems (CompSys).

Written
Oral
Continuous feedback during the course of the semester

The students will be able to book online slots for each group to receive feedback during the course and will also get written feedback on mandatory assignments.

 

 

ECTS
7,5 ECTS
Type of assessment
Oral examination, 20 min
At the exam the student will be asked to give a presentation (8 min) of one of the mandatory assignments, decided at random at the exam. There will not be time for preparation at the exam so presentations of all mandatory assignments should be prepared by the student before the exam. The students are allowed to collaborate in the preparation of presentations of assignments. After the presentation the student will get questions to the presentation and in general within the entire course curriculum.
Aid
Written aids allowed

The student is allowed to bring notes, laptop with the assignments (to make demonstrations) and a prepared presentation of each mandatory assignment. 

Marking scale
7-point grading scale
Censorship form
No external censorship
Criteria for exam assessment

See Learning Outcome. 

Single subject courses (day)

  • Category
  • Hours
  • Lectures
  • 16
  • Preparation
  • 64
  • Theory exercises
  • 16
  • Project work
  • 90
  • Exam Preparation
  • 19
  • Exam
  • 1
  • English
  • 206