Teaching / T-79.231
T-79.231 Parallel and Distributed Digital Systems
An excerpt from the topi web page of T-79.231,
concerning the exam on Saturday, February 16, 2002:
(Other remarks: It is not allowed to attend the exam without
registration. Registration is allowed only before the registration
deadline which is on Friday; February 8; 2002; at noon.)"
The reading list for the exam is
The results from homework 1 are now available
NOTE:No tutorial on 20th Nov due to illness. The tutorial 8
will be given next week (27th Nov)
NOTE:No tutorial on 30th Oct.
NOTE: the tutorials will be in hall F in the main building from
now on. The new place should be large enough. The time will remain the
This course is the English version of
T-79.179 Rinnakkaiset ja hajautetut
digitaaliset järjestelmät (3 ov), which will be held in the spring
term, 2002. Please note that the courses are similar, if not equal,
Tämä on englanninkielinen versio kurssista T-79.179, joka
pidetään kevätlukukaudella 2002.
Voit osallistua valintasi mukaan joko englannin- tai suomenkieliseen
Concurrent and distributed systems play a significant role in the
implementation of computer based applications. E.g. the Internet,
telecommunications protocols, client/server systems, embedded systems,
and process control are application domains where an understanding of
concurrent or distributed systems and their underlying phenomena are
needed. Some of the problems encountered are the issues of timing and
synchronization; when solving these problems we benefit from a
rigorous approach, formal methods, and efficient software tools.
The goal of the course is to give the student an introduction to
the methods and formalisms used in the modelling and analysis of
parallel and distributed systems. The lectures cover the theory and
use of Petri nets, foundations of temporal logics, and process
algebra. To practise modelling and applications of theory there is
tutored practical work (laskuharjoitus) and compulsory
- Requirements to pass the course:
- Examination and compulsory homework (see below).
- Lecture time:
- Monday, 16-19 hrs, room T3, starting on Sep 17th, 2001.
- Tutored practise:
- Tuesday, 12-14 hrs, lecture hall F, starting on Sep 25th, 2000.
- Discussion forum:
- Compendium == lecture slides, to be downloaded from this very page.
- Useful software:
- Maria is an analyser for Algebraic Petri Nets.
- Additional material:
- Tadao Murata:
Petri Nets: Properties, Analysis and Applications
- Robin Milner:
Communication and Concurrency,
- David Walker:
Introduction to a Calculus of Communicating Systems.
- Teemu Tynjälä, M.Sc.,
- Assistant for tutored practise and homework:
- Jukka Honkola, phone: 451 5244
The results of home assignments.
- Lecture 1, Sep 17, 2001.
- Lecture 2, Sep 24, 2001.
- Lecture 3, Oct 1, 2001.
- Lecture 4, Oct 8, 2001.
- Lecture 5, Oct 15, 2001.
- Lecture 6, Oct 22, 2001.
- Lecture 7, Oct 29, 2001.
- Lecture 8, Nov 5, 2001.
- Lecture 9, Nov 12, 2001.
- Lecture 10, Nov 19, 2001.
- Lecture 11, Nov 26, 2001.
- Basic process algebra, Nov 12, 2001.
There will be 5 home assignments, each of which is worth 10 points.
One of the requirements to pass the course is to accumulate a total of at
least 20 points from the home assignments. If you score 20 to 50 points
you will gain extra points in the exam, incrementing your course grade
with at most 2.
You should return your homeworks on paper to the box between rooms
B336 and B337 in the Computer Science building. Email returns will not be
In the above calculation of a student's mark for the course, a bonus is added
to the exam total according to the following formula:
T = E + (H - 20)/3, where T is the total points from the exam
and homework, E is the total of points from the exam, and H is
the score from the home assignments.
- Homework 1. Deadline: Nov 5, 2001.
- Homework 2. Deadline: Nov 12, 2001.
- Homework 3. Deadline: Nov 19, 2001.
(Marko Mäkelä's wise advise follows:)
I have been asked how the behaviour of the sender and recipient processes
in the 3rd homework could be modeled. The general solution to apply when
you do not know the exact behaviour of a subsystem or if the behaviour is
too complex to be modeled, is abstraction with non-determinism.
Generally, if you don't know the exact outcome of a function (say, x mod
5), you can model it by replacing it with a non-deterministic choice of
all values (0, 1, 2, 3, 4 in the case of x mod 5 if you don't know the
value of x).
Applying non-determinism in the homework is simple: let the sender send
all kinds of messages, that is, (sender,recipient) pairs with sender not
equal to recipient. The recipient can simply remove the received frames
from the ring.
I would model the system with three places: a constant place containing
all possible messages (which will be read through a bidirectional arc by
the sender), a bus place (node,recipient,...) and a place for empty bus
slots (containing the node number). You could also use a special
recipient number in the "bus" place to denote empty slots (and another
value for holes).
- Homework 4. Deadline: Nov 26, 2001.
- Homework 5. Deadline: Dec 3, 2001.
- Extra homework. Deadline: May 5th, 2002.
Tutorials are special events held by the assistant whereupon
certain problems are worked on to give further enlightenment.
The tutorials and their answers will appear here. However, some of the
pictures are not in a computer readable form so they will be missing
Latest update: 13:51, Nov 27, 2001