**The reading list for the exam is
now available**

**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
same.**

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, in content.

*Tämä on englanninkielinen versio kurssista T-79.179, joka
pidetään kevätlukukaudella 2002.
Voit osallistua valintasi mukaan joko englannin- tai suomenkieliseen
kurssiin.*

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
homework*.

- 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:
- opinnot.tik.rhj
- Literature:
- Compendium == lecture slides, to be downloaded from this very page.
- J. Honkola: Maria tutorial

- 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.*

- Tadao Murata:
- Lecturer:
- Teemu Tynjälä, M.Sc., email: Teemu.Tynjala@hut.fi..
- Assistant for tutored practise and homework:
- Jukka Honkola, phone: 451 5244 email: Jukka.Honkola@hut.fi.

- 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 accepted.

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 *

- Tutorial 1.
- Tutorial 2.
- Tutorial 3.
- Tutorial 4.
- Tutorial 5.
- Tutorial 6, part 1.
- Tutorial 6, part 2.
- Tutorial 7.
- Tutorial 8 (last tutorial).
- Answers to Tutorial 1.
- Answers to Tutorial 2.
- Answers to Tutorial 3.
- Answers to Tutorial 4.
- Answers to Tutorial 5.
- Answers to Tutorial 6.
- There are no separate answers for the tutorial 7, everything is in the tutorial paper.
- There are no separate answers for the tutorial 8, everything is in the tutorial paper.