NDAB19001U Reactive and Event Based Systems (REB)

Volume 2020/2021
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 three active research topics at DIKU with applications in industry that can serve as a basis for a bachelor project: 1) Declarative Process Models and Event-Based systems, 2) Actors and databases, 3) Event stream processing.

Learning Outcome

Knowledge of

  • 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
       - Mapping properties of event-based systems to declarative     constraints
       - Run-time monitoring of event-based systems with a declarative process engine 

  •  Actors and databases

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

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

 

Skills to

  • Model event-based systems using formal declarative notations.
  • Leverage a declarative process engine to control and monitor event-based systems.
  • Build software solutions based on actors and databases.
  • Build real-time event-driven applications.  

 

Competences to

  • Can apply declarative process technologies to 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.  

See Absalon

Knowledge of basic programming as obtained in Programmering og Problemløsning (PoP).

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

The student should have knowledge of database systems at the level of the DIKU courses Development of Information System (UIS) or Data Science (DS).

Furthermore, the student should have knowledge of computer systems at the level of the DIKU course Computer Systems (CompSys).
Weekly lectures and programming tasks in groups, 3 mandatory hand-ins (in groups), deadline approximately every 2nd week.
  • Category
  • Hours
  • Lectures
  • 24
  • Preparation
  • 56
  • Theory exercises
  • 32
  • Project work
  • 80
  • Exam Preparation
  • 13
  • Exam
  • 1
  • Total
  • 206
Written
Oral
Individual
Collective
Continuous feedback during the course of the semester
Credit
7,5 ECTS
Type of assessment
Oral examination, 20 min
At the exam the student will be asked to give a prepared presentation (8 min) of one of the mandatory assignments, decided at random at 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.
Exam registration requirements

There will be 3 mandatory assignments (programming tasks) during the course that must be approved in order to be qualified for the exam. 

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
Re-exam

The same as the ordinary exam.

If you are not already qualified for attending the re-exam, you can achieve qualification by handing in the three mandatory assignments no later than three weeks before the re-exam week (and getting these approved).  If you base these on earlier group assignments, it must be made clear what your new contributions are.

Criteria for exam assesment

The grade will be based on the ability at the exam to demonstrate the achievement of the goals given in the course description. In particular, it is required that the student can explain the assignments and argue for choices made in the assignments.