Re-examination 

Students who did not pass the exams in January are allowed to enroll for a re-examination in August. The re-examination applies to both the theory exam and the assignments. Only the assignments for which you did not pass, will need to be remade. You will be contacted individually, stating which assignments you need to redo.

The assignments are the same as the ones from the first exam session. Minor variants are, however, required to be made. These variants should not (significantly) alter the required work or difficulty of the assignment. Only the modifications are discussed in this document.

While we specified a single deadline, early submission and evaluation is allowed and encouraged. That way, you will know whether you are on the right track or not.

Practical information

  • Students who did not pass the exams in January are allowed to take a re-examination in August.
  • The re-examination is applicable for both the theory exam and the assignments. Only the assignments for which you did not pass, will need to be done again.
  • The final due date is August 22th, before 23:55. Early submissions (and oral evaluation) are possible and encouraged.
  • Submissions must be sent in by email to Yentl Van Tendeloo.
  • The assignment must be made individually. You can still use the solution you had in group to serve as a basis, but modifications need to be done individually.
  • Grading will be done based on correctness and completeness of the solution. Do not forget to document your requirements, assumptions, design, implementation and modelling and simulation results in detail!
  • Contact: Yentl Van Tendeloo.

Assignment 1: Requirements Engineering

The assignment is the same as the original assignment. But now, change use case 4 to always give priority to the second track, instead of priority to the one which was first. You will still have to make the complete assignment for both use case 3 (unchanged) and use case 4 (described above).

Contact: Yentl Van Tendeloo

Assignment 2: Discrete-Time Causal Block Diagrams

The assignment is the same as the original assignment. But now, on task "1.1.2 Test the CBD Simulator", in Section 1.1.2 of the assignment: Instead of building any CBD model, build a model that outputs the Fibonacci sequence.

Contact: Claudio Gomes

Assignment 3: Continuous-Time Causal Block Diagrams

The assignment is the same as the original assignment. But now, you will be comparing a bang bang controller with a PID controller. This means that you still have to implement and tune the PID Controller and then implement a bang bang controller, described in section "3.1.1 Closed-Loop Control Systems". To implement a bang bang control you might need two more custom blocks:

  1. the "abs" block, which computes the absolute value of its input;
  2. the "decision" block, which has 3 inputs (T, F, C) and one output. If C is bigger than 0, then T is the output of the decision block. Otherwise, F is the output.
To compare the two controllers you just need to provide a plot of each of them. Notice that both controller must obey the same correctness requirements (the passenger cannot fall).

Contact: Claudio Gomes

Assignment 4: Petri Nets

The system to model is exactly the same as the original assignment. But now you are not allowed to use inhibitor arcs and capacity-constrained places in your petri net.

Contact: Yentl Van Tendeloo

Assignment 5: Statecharts

The basic system is identical to the original assignment. But now, the train driver doesn't always need to press the dead man's button anymore. When the train is standing still (doesn't matter if it is inside a station or not), there is no need to press the button as there is no immediate danger. As soon as the train starts driving again, the button again becomes active and will again prompt the driver after 10 seconds.

Contact: Yentl Van Tendeloo

Assignment 6: DEVS

The system is identical to the original assignment. But now, don't make the assumption that the observ_delay (as shown in Figure 3 of the assignment) is equal to 0. In the original assignment, you could assume it to be 0 (i.e., a QueryAck is sent back immediately when a Query is received). Now, you will have to add in a delay, which is a parameter to the model.

Contact: Yentl Van Tendeloo