Apr 16, 2024  
2015-2016 Undergraduate Academic Catalog 
    
2015-2016 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

SE 3910 - Real-Time Systems

3 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)