|
Nov 23, 2024
|
|
|
|
SE 3910 - Real-Time Systems3 lecture hours 3 lab hours 4 credits Course Description This intense design course introduces students to software development for real-time systems, which often have stringent timing constraints that must be satisfied even under adverse circumstances. Real-time applications include flight control systems, vehicle control systems, industrial processes, life-support systems, robotic manipulators and multimedia applications. Special attention is paid to scheduling, latency minimization, bandwidth constraints, and other design issues that impact the design of these systems. Laboratory assignments provide experience in the design and implementation of realistic applications using a real-time operating system and embedded development board. (prereq: CS 2710 or CE 2930 , CS 3844 or CS 3841 or consent of instructor) Course Learning Outcomes Upon successful completion of this course, the student will be able to:
- Understand concepts of time-critical computing and identify real-time systems
- Get familiar with a host-target development environment for time-critical systems
- Write multitasking computer programs with inter-task communication and synchronization
- Apply concepts of inter-task communication and synchronization via shared memory, message queues, signals, semaphores, mailboxes
- Understand real-time kernels and task scheduling
- Understand concepts of reliability in relation to real-time software
- Construct distributed real-time applications using a commercial Real-Time Operating System
- Analyze the performance of a real-time system
Prerequisites by Topic
- C++ programming
- The C Compiler model
- UNIX code development
- Scheduling
- Basic Computer Organization
Course Topics
- Basic electrical circuits (2 lectures)
- Usage of an oscilloscope (1 lecture)
- Polling and signaling under POSIX (2 lectures)
- Socket communications (2 lectures)
- Reliability and performance (2 lectures)
- C Code Compilation Model (1 lecture)
- Cross Compilation (2 lectures)
- The definition of real time (1 lecture)
- Scheduling (2 lectures)
- RMA (1 lecture)
- Buffering and queuing theory (2 lectures)
- Memory Utilization and performance (1 lecture)
- Latency and its impact on real time systems (2 lectures)
- GStreamer libraries (1 lecture)
- Interprocess communications (2 lectures)
- Beagleboard architecture (1 lecture)
- Assessment and review (4 lectures)
Laboratory Topics
- Introduction to software development on the Beaglebone
- Basic I/O Operations on the Beaglebone
- Development of a simple Real Time Game
- Networking with the Beaglebone
- Audio Utilization
- Networked Audio
- UI Development
- Camera interface
- Internet chat
Coordinator Walter Schilling
Add to Portfolio (opens a new window)
|
|