DM869 - Advanced topics in concurrent systems (Spring 2019)
See the course description on the SDU website.
For the "one minute paper" at the end of every lecture, go to https://www.socrative.com/, login as student, and access room "DM869".
The final course evaluation will be done on May the 28th.
Results of the Mid-term course evaluation
- Course introduction
- Introduction to Choreographies (from DM861 Concurrency Theory)
- Introduction to CCS
- Concurrency Workbench (CAAL)
Report for the final assignment
The report for the final assignment:
- has to be written in English;
- with a maximum of 20 pages in single column, font size 12, line space 1;
- delivered as PDF file to both Marco (peressotti [at] imada.sdu.dk) and Saverio (saverio [at] imada.sdu.dk)) no later than the 8th of June (23:59 CEST).
Week 6: Read Chapter 1 (Inference Systems) from Material 2, Sections 1, 2 and 3 from Material 3.
Week 7: Read Section 4 (excluding 4.2.1) from Material 3 and do Exercise 4.3.
Week 9: Read Section 5, pages 27-34 from Material 3 and do Exercises 5.1, 5.2, 5.3, and 5.4. Using CAAL (Material 4):
- Model a simple counter that can be incremented if less than 3 and decremented if greater than 0.
- Model a 1-bit register (hint: use channels
- Using your bit registers, implement the counter from the first task.
- Check whether the two implementations of the counter are bisimilar.
Week 10: Read Section 5 from Material 3. Using CAAL:
- Implement the processes in Exercise 4.6 from Material 3 and verify which verify which are strong or weak bisimilar.
- Model a NOT gate and an AND gate (hint: use channels
inB_1for the two inputs and
- Specify an OR gate, implement one using only processes for AND and NOT (how many you like), then verify that your implementation is behaviourally equivalent to your specification.
- What is the general context of the paper? (try to describe both the general field (programming, distributed systems, etc.) and the specific application (functional implementations, consensus algorithms, etc.))
- What are the problems the authors want to address?
- Why are those problems important (impact, theoretical and/or practical needs, etc.)?
- What are the main contributions of the paper?
- Are there alternatives? In which way do they differ from this contribution?
- Is the paper well-written, i.e., is it clear from the paper how to respond to the previous points?
- Form and prepare to discuss your opinion on the paper, e.g., do you think the contributions solve the problems? To which extent (completely, what parts)? Why?
Week 13 Presentation Workshop: preparatory assignment to the group presentation on Week 14.
- Students will form groups and work togheter at the presentation of one of the following papers:
- Please, use this form to submit your preferences for the paper presentation session within Friday 22nd. Students will be notified by Saturday 23rd, using the email inserted in the form.
- Slides on how to give a presentation
- Rubric on the evaluation of presentations; hint: use it to review your presentations and spot possible missing points.
Week 14 Group Presentations + Questions
Week 15 Try to implement the Circuit Breaker pattern in Jolie, following the definition given in From the decorator pattern to circuit breakers in microservices (additional reference Circuit Breakers, Discovery, and API Gateways in Microservices). First read the paper and understand the reasoning behind the definition the authors give. Then try to implement and test a system where you can observe the circuit breaker tripping (limiting/forbidding connections) and closing (accepting all connections).
Week 16 Easter Holidays
Week 17 Easter Holidays
Week 18 Submit the group formation and the list of commented references for the exam report.
- The exam report surveys a research topic by selecting a set of related papers (from 2 to 6), reporting their relevant information, and comparing them in a structured way.
- When proposing the set of references, the students shall briefly (a couple of paragraphs) justify them, commenting why a given reference shall be further investigated in the report.
- The selected topic and the list of references are agreed upon with the teachers of the course.
- Research topics are free (as long as related to the context of the course). The below list contains possible research topics and initial references that students can use as starting point to build their list of references (which does not necessarily contain those initial references).
- Microservices (design, development, and/or deployment)
- Serverless computing
- Choreographic programming
- Type systems for Concurrency
- Behavioural Equivalences
Week 19 Work on reports
Week 21 Read Propositions as sessions. Work on reports
Week 22 Work on reports