Login with Facebook
Login
Books
NCERT
CBSE
AIEEE
IITJEE
Tamilnadu
BITS MSSS
ANU
IPE
UPSC
REAL - TIME SYSTEM DESIGN AND ANALYSIS
(
1
,
0
,
3
0
)
Share
add note
1. Basic Real - Time Concepts
1.1 Terminology
1.1.1 Systems Concepts
4
1.1.2 Real - Time Definitions
4
1.1.3 Events and Determinism
1.1.4 CPU Utilization
1.2 Real System -Design Issues
2
1.3 Example Real- Time Systems
1.4 Common Misconceptions
1.5 Brief History
1
1.5.1 Theoretical Advances
1.5.2 Early Systems
1.5.3 Hardware Developments
1.5.4 Early Software
1.5.5 Commercial Operating System Support
1.6 Exercises
2. Hardware Considerations
2.1 Basic Architecture
2.2 Hardware Interfacing
2.2.1 Latching
2.2.2 Edge Versus Level Triggered
2.2.3 Tristate Logic
2.2.4 Wait States
2.2.5 Systems Interfaces and Buses
2.3 Central Processing Unit
2.3.1 Fetch and Execute Cycle
2.3.2 Microcontrollers
2.3.3 Instruction Forms
2.3.4 Core Instructions
2.3.5 Addressing Modes
2.3.6 RISC versus CISC
2.4 Memory
2.4.1 Memory Access
2.4.2 Memory Technologies
2.4.3 Memory Hierarchy
2.4.4 Memory Organization
2.5 Input/Output
2.5.1 Programmed Input/Output
2.5.2 Direct Memory Access
2.5.3 Memory - Mapped Input/Output
2.5.4 Interrupts
2.6 Enhancing performance
2.6.1 Locality of Reference
2.6.2 Cache
2.6.3 Pipelining
2.6.4 Coprocessors
2.7 Other Special Devices
2.7.1 Applications - Specified Integrated Circuits
2.7.2 Programmable Array Logic/Programmable Logic Array
2.7.3 Field - Programmable Gate Arrays
2.7.4 Transducers
2.7.5 Analog and Digital Converters
2.7.6 Digital/Analog Converters
2.8 Non- Von- Neumann Architectures
2.8.1 Parallel Systems
2.8.2 Flynn's Taxonomy for Parallelism
2.9 parallelism
3. Real-Time Operating Systems
3.1 Real - Time Kernels
3.1.1 Pseudokernels
3.1.2 Interrupt - Driven Systems
3.1.3 Preemptive - Priority Systems
3.1.4 Hybrid Systems
3.1.5 The Task -Control Block Model
3.2 Theoretical Foundations of Real-Time Operating Systems
3.2.1 Process Scheduling
3.2.2 Round-Robin Scheduling
3.2.3 Cycle Executives
3.2.4 Fixed -Priority Scheduling - Rate - Monotonic Approach
3.2.5 Dynamic-Priority Scheduling: Earliest-Deadline-First Approach
3.3 Intertask Communication and Synchronization
3.3.1 Buffering Data
3.3.2 Time - Relative Buffering
3.3.3 Ring Buffers
3.3.4 Mailboxes
3.3.5 Queues
3.3.6 Critical Regions
3.3.7 Semaphores
3.3.8 Other Synchronization Mechanisms
3.3.9 Deadlock
3.3.10 Priority Inversion
3.4 Memory Management
3.4.1 Process Stack Management
3.4.2 Run-Time Ring Buffer
3.4.3 Maximun Stack Arrangements
3.4.4 Multiple- Stack Arrangements
3.4.5 Memory Management in the Task- control -Block Model
3.4.6 Swapping
3.4.7 Overlays
3.4.8 Block or Page Management
3.4.9 Replacement Algorithms
3.4.10 Memory Locking
3.4.11 Working Sets
3.4.12 Real-Time Garbage Collection
3.4.13 Contiguous File Systems
3.4.14 Building Versus Buying Real-Time Operating Systems
3.4.15 Selecting Real-Time Kernels
3.5 Case Study:POSIX
3.5.1 Threads
3.5.2 POSIX Mutexes and Condition Variables
3.5.3 POSIX Semaphores
3.5.4 Using Semaphores and Shared Memory
3.5.5 POSIX Messages
3.5.6 Real-Time POSIX Signals
3.5.7 Clocks and Timers
3.5.8 Asynchronous Input and Output
3.5.9 POSIX Memory Locking
3.6 Exercises
4. Software Requirements Engineering
4.1 Requirements Engineering Process
4.2 Types of Requirements
4.3 Requirements Specification for Real-Time Systems
4.4 Formal Methods in Software Specification
4.4.1 Limitations of Formal Methods
4.4.2 Z
4.4.3 Finite state Machines
4.4.4 Statecharts
4.4.5 Petri Nets
4.4.6 Requirements analysis with petri Nets
4.5 Structural Analysis and Design
4.6 Object-Oriented analysis and the Unified Modeling Language
4.6.1 Use Cases
4.6.2 Class Diagram
4.6.3 Recommendations on Specification Approach for Real-Time Systems
4.7 Organizing the Requirements Document
4.8 Organizing the Writing Requirements
4.9 Requirements Validation and Review
4.9.1 Requirements Validation Using Model Checking
4.9.2 Automated checking of Requirements
4.10 Appendix : case Study in Software Requirements Specification
4.11 Exercises
5. Software Engineering
19
5.1 Properties of Software
5.1.1 Reliability
5.1.2 Correctness
5.1.3 Performance
5.1.4 Usability
5.1.5 Interoperability
5.1.6 Portability
5.1.7 Maintainability
5.1.8 Verifiability
5.1.9 Summary of Software Properties and Associated Metrics
5.2 Basic Software Engineering Principles
5.2.1 Rigor and formality
5.2.2 Seperation of Concerns
5.2.3 Modularity
5.2.4 Anticipation of change
5.2.5 Generality
5.2.6 Incrementality
5.2.7 Traceability
5.3 The Design Activity
5.4 Procedural - Oriented Design
5.4.1 Parnas Partitioning
5.4.2 Structured Design
5.4.3 Design in Procedural Form Using finite State Machines
5.5 Object - Oriented design
5.5.1 Benefits of Object Orientation
5.5.2 Design Patterns
5.5.3 Object - Oriented Design Using the Unified Modeling Language
5.6 Appendix: Case Study in Software Requirements Specification for Four-Way Traffic Intersection Traffic Light Controller System
5.7 Exercises
6. Programming Languages and the Software Production Process
6.1 Introduction
6.2 Assembly Language
6.3 Procedural Languages
6.3.1 Parameter Passing Techniques
6.3.2 Call-by-Value and Call -by-Reference
6.3.3 Global Variables
6.3.4 Recursion
6.3.5 Dynamic Memory Allocation
6.3.6 Typing
6.3.7 Exception Handling
6.3.8 Modularity
6.3.9 Cardelli's Metrics and Procedural Languages
6.4 Object - Oriented Languages
6.4.1 Synchronizing Languages
6.4.2 Garbage Collection
6.4.3 Cardelli's Metrics and Object Oriented Languages
6.4.4 Object- Oriented Versus Procedural Languages
6.5 Brief Survey of Languages
6.5.1 Ada
6.5.2 C
6.5.3 C++
6.5.4 C#
6.5.5 Fortran
6.5.6 Java
6.5.7 Occam
6.5.8 Special Real-Time Languages
6.5.9 Know the Compiler and Rules of Thumb
6.6 Coding Standards
6.7 Exercises
7. Performance Analysis and Optimization
7.1 Theoritical Preliminaries
7.1.1 NP-Completeness
7.1.2 Challenges in Analyzing Real-Time Systems
7.1.3 The Halting Problem
7.1.4 Amdahl's Law
7.1.5 Gustafson's Law
7.2 Performance Analysis
7.2.1 Code Execution and Time Estimation
7.2.2 Analysis of Polled Loops
7.2.3 Analysis of Coroutines
7.2.4 Analysis of Round - Robin Systems
7.2.5 Response- Time Analysis for Fixed- Period Systems
7.2.6 Response-Time Analysis ; RMA Example
7.2.7 Analysis of Sporadic and Aperiodic Interrupt Systems
7.2.8 Deterministics Performance
7.3 Application of Queuing Theory
7.3.1 The M/M/I Queue
7.3.2 Service and Production Rates
7.3.3 Some Buffer Size Calculations
7.3.4 Response Time - Modeling
7.3.5 Other Results From Queuing Theory
7.3.6 Little's Law
7.3.7 Erlang's Formula
7.4 I/O Performance
7.4.1 Basic Buffer-Size Calculation
7.4.2 Variable Buffer-Size Calculation
7.5 Performance Optimization
7.5.1 Compute at slowest Cycle
7.5.2 Scaled Numbers
7.5.3 Binary angular Measure
7.5.4 Look-Up Tables
7.5.5 Imprecise Computation
7.5.6 Optimizing Memory Usuage
7.5.7 Postintegration Software Optimization
7.6 Results from Compiler Optimization
7.6.1 Use of Arithmetic Identifies
7.6.2 Reduction in Strength
7.6.3 Common Subexpression Elimination
7.6.4 Intrinsic Functions
7.6.5 Constant Folding
7.6.6 Loop Invariant Optimization
7.6.7 Loop Induction Elimination
7.6.8 Use of Registers and Caches
7.6.9 Removal of Dead or Unreachable Code
7.6.10 Flow of control OPtimization
7.6.11 Constant Propagation
7.6.12 Dead-Store Elimination
7.6.13 Dead - Variable Elimination
7.6.14 Short Circuiting Boolean Code
7.6.15 Loop Unrolling
7.6.16 Loop Jamming
7.6.17 More Optimization Techniques
7.6.18 Combination Effects
7.6.19 Speculative Execution
7.7 Analysis of Memory Requirements
7.8 Reducing Memory Utilization
7.8.1 Variable Selection
7.8.2 Memory Fragmentation
7.9 Exercises
8.Engineering Considerations
8.1 Metrics
8.1.1 Lines of Code
8.1.2 McCabe's Metric
8.1.3 Halstead's Metrics
8.1.4 Function Points
8.1.5 Feature Points
8.1.6 Metrics for Object-Oriented Software
8.1.7 Objections to Metrics
8.1.8 Best Practices
8.2 Faults, Failures and Bugs
8.2.1 The Role of Testing
8.2.2 Testing Techniques
8.2.3 System -Level Testing
8.2.4 Design of Testing Plans
8.3 Fault- Tolerance
8.3.1 Spatial Fault- Tolerance
8.3.2 Software Black Boxes
8.3.3 N- Version Programming
8.3.4 Built- In - Test Software
8.3.5 CPU Testing
8.3.6 Memory Testing
8.3.7 ROM
8.3.8 RAM
8.3.9 Testing
8.3.10 Spurious and Missed Interrupts
8.3.11 Handling Spurious and Missed Interrupts
8.3.12 The Kalman Filter
8.4 Systems Integration
8.4.1 Goals of System Integration
8.4.2 System Unification
8.4.3 System Verification
8.4.4 System Integration Tools
8.4.5 A Simple Intergration Strategy
8.4.6 Patching
8.4.7 The Probe Effect
8.4.8 Fault- Tolerant Design : A Case Study
8.5 Refactoring Real-Time Code
8.5.1 Conditional Logic
8.5.2 Data Clumps
8.5.3 Delays as loops
8.5.4 Dubious Constraints
8.5.5 Duplicated Code
8.5.6 Generalizations Based on a Single Architecture
8.5.7 Large Procedures
8.5.8 Lazy Procedure
8.5.9 Long parameter List
8.5.10 Message - Passing Overload
8.5.11 Self- Modifying Code
8.5.12 Speculative Generality
8.5.13 Telltale Comments
8.5.14 Unnecessary Use of Interrupts
8.6 Cost Estimation Using COCOMO
8.6.1 Basic COCOMO
8.6.2 Intermediate and Detailed COCOMO
8.6.3 COCOMO II
8.7 Exercises
ISBN: 81-265-0830-2
Phillip A. Laplante
BITS Pilani
MSSS
Computer Science
Real -Time Systems
become moderator
see all followers
Attachments
see all
Real Time System Design and Analysis - Second Semester 2009-2010 Mid-Semester Test (EC-1 Regular)
Real Time System Design and Analysis - Second Semester 2009-2010 Comprehensive Examination (EC-2 Regular)
Real Time System Design and Analysis -First Semester 2009-2010 Comprehensive Examination (EC-2 Regular)
Real Time System Design and Analysis - First Semester 2009-2010 Mid-Semester Test (EC-1 Regular)
Real Time System Design and Analysis - Second Semester 2008-2009 Comprehensive Examination (EC-2 Regular)
Your Ad Here