Lecturers
Professor Evan Magill, Room 4X3, email ehm@cs.stir.ac.uk
Dr. Mario Kolberg, Room 4B60, email mko@cs.stir.ac.uk
Prerequisites
CSC9V4 (basic OS principles, and programming in JAVA using threads)
CSC9W6 (principles of data communications, communications architectures, services & protocols.)
Learning Outcomes
The students will understand:
- the concepts underlying concurrent systems
- the concepts underlying distributed systems
- how concurrent & distributed systems may be constructed using a variety of tools and approaches
- sockets
- remote procedure call mechanisms
- JAVA RMI
Transferable Skills
The unit will develop skills in systems implementation and distributed software engineering.
Furthermore, students will advance their Java programming skills
Contents
- Process & thread management - as needed in the context of the aspects below.
- Basic Process Model, Scheduling
- Critical Sections and Synchronisation
- Mutual exclusion: Semaphores, Conditional variables, Monitors
- Concurrency
- Modelling concurrent activity starting with JAVA threads
- Forms of communication, architectures
- Means of communication (Shared memory, Direct communication between processes)
- Case study: Unix (Fork processes, Communication using signals, pipes, sockets, shared memory)
- Distributed Systems
- Client-server model
- Naming and binding
- RPC General principles
- Protection and Security
- Java RMI
Assessment
There are two assessment components for this module:
- Laboratory Checkpoints worth 10%
- Concurrency assignment worth 20%
- Distributed assignment worth 20%
- Examination worth 50%
- Submit the assessed coursework
- Attend the examination
Non-submission of the assessed coursework will result in the award of No Grade for the module as a whole. Assessed coursework submitted late will be accepted up to five days after the submission date (or expiry of any agreed extension) but the grade will be lowered by one grade point per day or part thereof. After five days the piece of work will be deemed a non-submission, and will result in the award of No Grade for the module as a whole. This rule (regarding coursework) may be relaxed for students who can show good cause for failure to submit. ‘Good cause’ may include illness (for which a medical certificate or other evidence will be required).
If a student is unable to attend the Main examination, he/she must apply to the Student Programmes Office for a Deferred examination. If a Deferred examination is not granted, then the Examiners may allow a Repeat examination. The grade awarded following a Repeat examination is capped at 3C.
Plagiarism
Work which is submitted for assessment must be your own work. All students should note that the University has a formal policy on plagiarism which can be found at http://www.quality.stir.ac.uk/ac-policy/Misconduct.php.
Plagiarism means presenting the work of others as though it were your own. The University takes a very serious view of plagiarism, and the penalties can be severe (ranging from a reduced grade in the assessment, through a fail grade for the module, to expulsion from the University for more serious, or repeated, offences). Specific guidance in relation to Computing Science assignments may be found in the Computing Science Student Handbook.
Prescribed Classes
Textbooks
- Concurrent Systems, J. Bacon, Addison-Wesley, 2nd edition, 1998, ISBN: 0201177676
- Applied Operating Systems Concepts, A. Silberschatz, P. Galvin, G. Gagne, Wiley, 2001, ISBN: 0471419850
- Modern Operating Systems, A.S. Tanenbaum, Prentice-Hall, 2nd edition, 2001, ISBN: 0130313580
- Concurrency - State Models & Java Programs, J. Magee, J. Kramer, Wiley, 1999, ISBN: 0471987107
- Java 2 Unleashed, J. Jaworski, Sams, 1999, ISBN: 0672316315
- Java for Students, D. Bell, M. Parr, Prentice-Hall, 2001, 3rd edition, ISBN: 0130323772
- Distributed Systems, A.S. Tanenbaum, M. v. Steen, Prentice-Hall, 2001, ISBN: 0130888931
- Distributed systems: concepts and design, G. Coulouris, J. Dollimore, T. Kindberg, Addison Wesley, 2000, 3rd edition, ISBN: 0201619180
- Corba Distributed Objects Using Orbix, S. Baker, Addison Wesley, 1997, ISBN: 0201924757

