Teaching Responsibility
LJMU Schools involved in Delivery:
Computer Science and Mathematics
Learning Methods
Lecture
Workshop
Module Offerings
6131COMP-JAN-CTY
Aims
To provide an overview of designing and engineering both distributed software systems and embedded systems with references to architectures, communication and synchronisation. The practical focus of this module is on developing software with concurrent and distributed components and developing for embedded systems.
Learning Outcomes
1.
Survey technologies and methods used in embedded systems design and development
2.
Solve execution issues intrinsic to embedded architectures and develop software for embedded systems alongside other software systems
3.
Appraise communications standards and techniques used in embedded systems
4.
Critically evaluate operational issues in embedded, concurrent and distributed systems
Module Content
Outline Syllabus:Monolithic vs Distributed Systems
Distribution vs Parallelisation
-Message Passing and Shared Memory
Concurrency and Scheduling in Software Systems
-Liveness, Races and Deadlocks
-Ensuring deterministic behaviour
-Shared resource access; synchronisation, mutual exclusion, atomicity
System architecture for embedded systems
-Microprocessor (modified) Harvard vs. Von Neumann architectures
-Programmable Controllers and Microcontroller (MCU) architectures
-Watchdogs
-Memory and memory units (EPROM, EEPROM, RAM, FLASH)
Software architectures for embedded systems
-Superloop and RTOS
-Managing I/O and interrupts
Communications standards used in embedded systems
-Shared medium/bus systems
-Dedicated line, clock synchronisation, A/D conversion
-Deterministic arbitration and access protocols
-Dedicated hardware and emulated ("bit-banged") software-defined implementations
Module Overview:
To provide an overview of designing and engineering both distributed software systems and embedded systems with references to architectures, communication and synchronisation. The practical focus of this module is on developing software with concurrent and distributed components and developing for embedded systems.A largely practical software engineering course that will equip students with skills to work in distributed and concurrent software systems. It will also provide experience of development for embedded systems with consideration of relevant basic interfacing electronics concerns.
To provide an overview of designing and engineering both distributed software systems and embedded systems with references to architectures, communication and synchronisation. The practical focus of this module is on developing software with concurrent and distributed components and developing for embedded systems.A largely practical software engineering course that will equip students with skills to work in distributed and concurrent software systems. It will also provide experience of development for embedded systems with consideration of relevant basic interfacing electronics concerns.
Additional Information:A largely practical software engineering course that will equip students with skills to work in distributed and concurrent software systems. It will also provide experience of development for embedded systems with consideration of relevant basic interfacing electronics concerns.