| Person in charge: | Xavier Messeguer Peypoch (peypoch |
| Others: | Jorge Castro Rabal (castro |
| Credits | Dept. | Type | Requirements |
|---|---|---|---|
| 7.5 (6.0 ECTS) | LSI |
|
PRED
- Prerequisite for DIE , DCSYS PS - Prerequisite for DCSFW |
| Person in charge: | Xavier Messeguer Peypoch (peypoch |
| Others: | Jorge Castro Rabal (castro |
The aim of this subject is for students to learn to design and implement concurrent and distributed programmes securely and reliably. To guide the students in the design process, they are introduced to LST (Labelled System Analyser), a simple programming language that allows one to design, visualise and analyse systems of transitions. In order for them to have a broader idea of concurrence and distributed systems, students are taught other models, such as Petri networks and the software designed for analysing them. In order for students to gain a complete understanding of the steps of the process, from modelling to implementation, they undertake practicals in Java programming.
Estimated time (hours):
| T | P | L | Alt | Ext. L | Stu | A. time |
| Theory | Problems | Laboratory | Other activities | External Laboratory | Study | Additional time |
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Problem of destructive interference. Locks and mutual exclusion. Semaphore modelling and the problem of nested monitors. Deadlock, analysis using LST.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Description and examples of safety and implementation through LTS. Description of liveness, particularly in connection with progress and implementation in LTS.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 8,0 | 0 | 20,0 | |||
|
Passing synchronous and asynchronous messages. Rendez-vous and client server architecture employing LTS.
Introduction to other architectures: filter pipelines, supervisor/workers, advertiser/recipient. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Examples of Petri networks. Karp and Miller algorithm.
Special classes of Petri networks. Software tools for analyzing these networks. |
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 9,0 | 0 | 21,0 | |||
|
Case studies: "distributed rearrangement", self-stabilising mutual exclusion, protocols with acknowledgment (ACK) messages.
|
||||||||||
|
T | P | L | Alt | Ext. L | Stu | A. time | Total | ||
|---|---|---|---|---|---|---|---|---|---|---|
| 4,0 | 4,0 | 2,0 | 0 | 2,0 | 8,0 | 0 | 20,0 | |||
|
Choice of leader, echo algorithm, mutual exclusion in network, consensus, non-directed trees, self-stabilisation.
|
||||||||||
| Total per kind | T | P | L | Alt | Ext. L | Stu | A. time | Total |
| 28,0 | 28,0 | 14,0 | 0 | 14,0 | 60,0 | 0 | 144,0 | |
| Avaluation additional hours | 6,0 | |||||||
| Total work hours for student | 150,0 | |||||||
Examples will be used to introduce basic concepts in the theory classes. Students will solve exercises on theory class themes in the practical classes. Lab classes will cover implementation of these problems (or similar problems) in Java. Both the lab and problem classes may employ design and analysis tools such as LTS.
There will be a final exam and a lab grade. The exam will comprise problems on the theory taught. The lab grade will reflect the quality of students" work. The final grade will be calculated as follows:
final exam*0.7 + lab grade*0.3
Sound knowledge of Java regarding classes and objects.