DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Registry

Module Specifications

Archived Version 2004 - 2005

Module Title Software Engineering 4
Module Code EE206
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorProf Barry McMullinOffice NumberL116
Module Co-ordinatorProf Barry McMullinOffice NumberL116
Level 4 Credit Rating 5
Pre-requisite EE105
Co-requisite None
Module Aims
The course will be concerned with applications involving the interaction of concurrent processes: means of realising concurrency, and the use of modern interaction primitives (semaphores, message passing). The course will also give the students a basic introduction to the UNIX operating system and discuss the interaction of concurrent processes using C code developed on a UNIX system. Students will also be introduced to general features of a real-time language and basic optimisation techniques for high-level language (C).

Learning Outcomes
Having successfully completed this course, the student will: 1. be familiar with the fundamental principals of concurrent processes. 2. be familiar with key software optimisation techniques for real-time systems. 3. have acquired the basic skills necessary to work in a UNIX environment.

Indicative Time Allowances
Hours
Lectures 24
Tutorials 9
Laboratories 0
Seminars 0
Independent Learning Time 42

Total 75
Placements
Assignments
NOTE
Assume that a 5 credit module load represents approximately 75 hours' work, which includes all teaching, in-course assignments, laboratory work or other specialised training and an estimated private learning time associated with the module.

Indicative Syllabus
· Real-time Programming: Features of a real-time language. · Real-time Optimisation: Arithmetic identities, Constant folding, Reduction in strength, Common sub-expression elimination, Loop invariant removal, Loop induction elimination, Loop unrolling, Loop jamming, Scaled numbers, Look-up tables, Imprecise computation (approximate reasoning), Memory optimisation. · Introductory UNIX: Overview of the UNIX operating system,. UNIX implementations. Basic operations and commands, File redirection, Command shells, Communicating with remote systems, Manipulating processes. · Concurrent processes: Meaning of a process. Natural analysis of real world applications in terms of interacting concurrent processes. Difficulty of mapping this onto the Von Neumann sequential architecture. Solutions based on parallel hardware architecture and/or pseudo-parallelism by time-slicing a single sequential processor. Process interaction. · Inter-process communication: Synchronisation and communication. Use of semaphore synchronisation and shared memory communication. Critical section implementation. Examples using C code fragments. Producer/consumer problem. Problems of unintended side-effects and deadlocks. Use of message passing for synchronisation and communication. · Deadlock: Formal analysis. Deadlock conditions. Resource allocation graph. Handling deadlock. · Input/output architecture: I/O device classification. I/O hardware architecture. Controller/CPU interface.
Assessment
Continuous Assessment15% Examination Weight85%
Indicative Reading List
Recommended text (Purchase optional) - Tanenbaum, A.S., "Modern operating systems", Prentice-Hall, 1992. Additional texts - Kernighan, B & Pike, R, "The UNIX programming environment", Prentice-Hall, 1984. - Tanenbaum, A.S., "Operating systems - Design and implementation", Prentice-Hall, 1987. - Theaker, C.J. & Brookes, G.R., "Concepts of operating systems", Macmillan, 1983. - Ripps, D.L., "An implementation guide to real-time programming", Yourdon Press, 1990.
Programme or List of Programmes
BSSAStudy Abroad (DCU Business School)
BSSAOStudy Abroad (DCU Business School)
DMEB.Eng. in Digital Media Engineering
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)
EEBEng in Electronic Engineering
HMSAStudy Abroad (Humanities & Soc Science)
HMSAOStudy Abroad (Humanities & Soc Science)
ICEBEng Info and Communications Engineering
SHSAStudy Abroad (Science & Health)
SHSAOStudy Abroad (Science & Health)
Archives: