Download presentation
Presentation is loading. Please wait.
1
CSCI1600: Embedded and Real Time Software
Lecture 35: Course Review Steven Reiss, Fall 2017
2
Introduction (2) What is real time and embedded software.
What are its unique problems or challenges What are the solutions Lecture 36: Course Review 11/28/2018
3
Arduino Programming (5)
The concept of tasks Lecture 36: Course Review 11/28/2018
4
Modeling Continuous Systems (7)
Why do modeling Simulation and how it is done. Lecture 36: Course Review 11/28/2018
5
Modeling Discrete Systems (8)
Tasks and task modeling Extended state machines Periodic state machines Lecture 36: Course Review 11/28/2018
6
Modeling Hybrid Systems (9)
Timed automata Time intervals Hybrid automata Modeling the real world Lecture 36: Course Review 11/28/2018
7
Input-Output Concepts (10)
Interrupts & interrupt programming Lecture 36: Course Review 11/28/2018
8
Compositions of State Machines (12)
State charts Concurrent state machines Hierarchical state machines Lecture 36: Course Review 11/28/2018
9
Modeling Concurrency (13)
Petri nets For modeling concurrent activities For proving properties Lecture 36: Course Review 11/28/2018
10
Control Systems and Feedback (14)
Feedback Controllers P, PD, PI, PID Lecture 36: Course Review 11/28/2018
11
Input Output Concepts (16)
Sampling, debouncing Low pass filters ADC, DAC Lecture 36: Course Review 11/28/2018
12
Advanced Programming Concepts (17)
Task coding Fixed point arithmetic Look up tables Lecture 36: Course Review 11/28/2018
13
I/O Programming (18) Handshake communications (REQ, ACK)
Circular queues or buffers Interrupts (again) Lecture 36: Course Review 11/28/2018
14
Concurrent Programming (19)
Synchronization primitives mutex, condition variables, semaphores, busy wait Messages and communication Synchronization problems Deadlock, race conditions Priority inversions Lecture 36: Course Review 11/28/2018
15
Real Time Programming (20)
Languages Features a real time language requires Real time Java Lecture 36: Course Review 11/28/2018
16
Networking, IPC (25) Semaphores Mailboxes Message queues Pipes
TCP/IP (lwIP) Lecture 36: Course Review 11/28/2018
17
Real Time Scheduling (26)
Task definition [P(p,e,d), P(p,e) ] Periodic, aperiodic and sporadic tasks Fixed schedules Schedule representations Fixed Priority Scheduling (RM and DM) When it is guaranteed to work Critical instant theorem Lecture 36: Course Review 11/28/2018
18
Real Time Scheduling (27)
Dynamic Priority Scheduling (LLF, EDF) When it works. Potential problems Relaxing simplifying assumptions Fixing priority inversions (PCP, PIP) Lecture 36: Course Review 11/28/2018
19
Real Time Scheduling (28)
Handling aperiodic jobs (TBS) Thread scheduling What is done in practice (strict job priority scheduling) Lecture 36: Course Review 11/28/2018
20
Real Time Operating Systems (29)
What is a RTOS and why is it different Basic RTOS functionality RT-Linux model Lecture 36: Course Review 11/28/2018
21
Verification (30) Safety, fairness, and timing requirements
Software engineering techniques Defining properties as FSAs Lecture 36: Course Review 11/28/2018
22
Verification (31) Temporal Logic Representing properties
Reading temporal logic formulas Lecture 36: Course Review 11/28/2018
23
Verification (33) Proving properties BDDs FSA and FSA FSA and formulas
Formulas and formulas BDDs Lecture 36: Course Review 11/28/2018
24
Worst Case Execution Time (34)
What it is and why it is important Static computation Problems with modern architectures Dynamic techniques Lecture 36: Course Review 11/28/2018
25
Fault Tolerance and Security (35)
Techniques for handling faults Redundancy Recovery Security problems Types How to deal with them Encryption Lecture 36: Course Review 11/28/2018
26
Queueing Theory Queueing models Solving queueing models
Sources, queues, servers, sinks Solving queueing models Analytically, experimentally Lecture 36: Course Review 11/28/2018
27
Next Time Project Presentations Lecture 36: Course Review 11/28/2018
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.