|
Course Information
Instructor: Prof. Ryszard Janicki
-
Office: ITB 217
-
Phone: 525-7070 ext:
23919
-
Office
hours: TBA
-
Email: janicki AT mcmaster.ca
Teaching Assistants:
-
Atiyeh Sayadi: sayadia@mcmaster.ca
-
Amin Kashef: toloekaa@mcmaster.ca
-
Jatin Chowdhary: chowdhaj@mcmaster.ca
-
Rayan Nasrallah: nasrallr@mcmaster.ca
Office Hours:
Course website:
https://www.cas.mcmaster.ca/~se3bb4
Lectures:
|
Monday |
010:30
AM - 11:20 AM |
JHE 264 |
|
Wednesday |
010:30
AM - 11:20 AM |
JHE 264 |
|
Thursday |
010:30
AM - 11:20 AM |
JHE 264 |
Tutorials:
|
Monday |
02:30 - 04:20 PM |
KTH 104
|
Start September 14, 2026 |
|
Tuesday |
02:30 - 04:20 PM |
ETB 238 |
Start September 14, 2026 |
|
Friday |
02:30 - 04:20 PM |
T13-107 |
Start September 14, 2026 |
Submissions will be via Avenue.
Course Outline (Tentative)
- Nature of Concurrency. Processes and Threads. Concurrent Execution. 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
-
Students should know and understand
-
Basic models of concurrency, both algebraic and graphical
-
The concepts of process and thread
-
Resource management and sharing
-
Basic ideas of design and architecture of concurrent systems
-
Problems with testing and verification of concurrent systems
-
Students should be able to
-
Specify concurrent systems with process algebras and Petri nets.
-
Implement concurrent systems with processes, threads and other available tools.
-
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 week of October 19 – 23, 8:00 pm, take home, submission via Avenue, details later. |
| Final
examination |
50% |
There will be a 2.5 hours (one double side cheat sheet will be allowed) final examination |
| Total |
100% |
|
Lecture notes and 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. All
assignment will be posted at least two weeks before deadlines
(usually three weeks or even more), so everyone - including SAS students - will have enough time! Although you may discuss the general concept of the course material with your classmates, your assignment must be your individual effort.
Midterm:
-
The week of October 19 – 23, 8:00 pm, take home, submission via Avenue, details later.
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.
|
|
|