McMaster University

Concurrent Systems
COMP SCI 2SD3

Term 2, Winter 2025

Course Information

 

Instructor: Prof. Ryszard Janicki 

  • Office: ITB 217 
  • Phone: 525-9140  ext: 23919
  • Office hours: Tuesday: 3:30pm-4:20 pm
  • Email: janicki@mcmaster.ca

Teaching Assistants: 

Course website: https://www.cas.mcmaster.ca/~cs2sd3/

Lectures:

Tuesday  2:30 PM -
3:20 PM
 JHE 376
Thursday 2:30 PM -
3:20 PM
JHE 376
Friday 2:30 PM -
3:20 PM
 JHE 376

 

Tutorials:  

Monday 02:30 - 04:20 PM BSB17 Start January 13, 2025
Monday 04:30 - 06:20 PM   ITB 139   Start January 13, 2025
Tuesday 04:30 - 06:20 PM   PGCLL  M24  Start January 13, 2025
Wednesday 10:30 - 12:20 AM   ITB 139   Start January 13, 2025
Thursday 08:30 - 10:20 AM   ITB 139   Start January 13, 2025

                  

Midterm: 

The midterm will take place on Friday, February 28, at 8:00 pm (take home).

Course Outline (Tentative): 

  • Labelled Transition Systems. Shared Objects and Mutual Exclusion. Monitors and Condition Synchronization. Deadlock. Safety and Liveness Properties. Model Based Design. Dynamic Systems. Message Passing. Concurrent Architectures. Timed Systems. Program Verification. Logical Properties. Perti Nets and other models.

Texts:

  • J. Magee, J. Kramer, Concurrency: State Models & Java Programming,, 2nd Edition, J. Wiley 2006.

The course may not always follow the text-book closely.


Lecture Notes (copies of transparencies) will be on the website a few days after a class.


Software Tools: You will have to obtain the LTSA tool from http://www.doc.ic.ac.uk/~jnm/book


Calendar Description: 

  • Processes, threads, concurrency; synchronization mechanisms, resource management and sharing; objects and concurrency; design, architecture and testing of concurrent systems.

Mission: 

  • The mission of this course is to give students an understanding of the basic techniques of concurrent system design and to introduce students to the appropriate modelling and analysis techniques.

Learning Objectives: Preconditions: 

  • Students should have basic knowledge of discrete mathematics (especially of logic, sets and relations), basic knowledge of data structures and algorithms. They should be familiar with principal ideas of software development and know how to program in at least one programming language.

Learning Objectives: Postconditions 

  1. Students should know and understand
    1. Basic models of concurrency, both algebraic and graphical
    2. The concepts of process and thread
    3. Resource management and sharing
    4. Basic ideas of design and architecture of concurrent systems
    5. Problems with testing and verification of concurrent systems
  2. Students should be able to
    1. Specify concurrent systems with process algebras and Petri nets.
    2. Implement concurrent systems with processes, threads and other available tools.
    3. Verify and test crucial parts of concurrent systems.

Evaluation 

 

Assignments 30% Three assignments (3 x 10=30%).
Midterm test 20% (60 minutes midterm test plus 20 mintues for technology ) (20%, take home, virtual on avenue).

The midterm will take place on Friday, February 28, at 8:00 pm (take home) .

Final examination 50%  There will be a 2.5 hours (one double side cheat sheet will be allowed) final examination
Total 100%  

 

Submissions will be via Avenue.

Late assignments will not be accepted because solutions will be posted on the website a day after the due day. Although you may discuss the general concept of the course material with your classmates, your assignment must be your individual effort.

MSAF policy: 

For each MSAF the weight will be moved to the final exam. More information on the MSAF procedure can be found at this link.


Important 


The instructor and university reserve the right to modify elements of the course during the term. The university may change the dates and deadlines for any or all courses in extreme circumstances. If either type of modification becomes necessary, reasonable notice and communication with the students will be given with explanation and the opportunity to comment on changes. It is the responsibility of the student to check their McMaster email and course websites weekly during the term and to note any changes. 

 

Academic Dishonesty

Academic dishonesty consists of misrepresentation by deception or by other fraudulent means and can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: AGrade of F assigned for academic dishonesty@), and/or suspension or expulsion from the university.
It is your responsibility to understand what constitutes academic dishonesty. For information on the various kinds of academic dishonesty please refer to the Academic Integrity Policy, specifically Appendix 3, located at http://www.mcmaster.ca/senate/academic/ac_integrity.htm

The following illustrates only three forms of academic dishonesty:
1. Plagiarism, e.g. the submission of work that is not one=s own or for which other credit has been obtained.
2. Improper collaboration in group work.
3. Copying and using unauthorized aids in tests and examinations.