Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI1600: Embedded and Real Time Software

Similar presentations


Presentation on theme: "CSCI1600: Embedded and Real Time Software"— Presentation transcript:

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


Download ppt "CSCI1600: Embedded and Real Time Software"

Similar presentations


Ads by Google