Real-Time Systems Design and Analysis
Home > Computing and Information Technology > Computer science > Real-Time Systems Design and Analysis: Tools for the Practitioner
Real-Time Systems Design and Analysis: Tools for the Practitioner

Real-Time Systems Design and Analysis: Tools for the Practitioner


     0     
5
4
3
2
1



International Edition


X
About the Book

The leading text in the field explains step by step how to write software that responds in real time From power plants to medicine to avionics, the world increasingly depends on computer systems that can compute and respond to various excitations in real time. The Fourth Edition of Real-Time Systems Design and Analysis gives software designers the knowledge and the tools needed to create real-time software using a holistic, systems-based approach. The text covers computer architecture and organization, operating systems, software engineering, programming languages, and compiler theory, all from the perspective of real-time systems design. The Fourth Edition of this renowned text brings it thoroughly up to date with the latest technological advances and applications. This fully updated edition includes coverage of the following concepts: Multidisciplinary design challenges Time-triggered architectures Architectural advancements Automatic code generation Peripheral interfacing Life-cycle processes The final chapter of the text offers an expert perspective on the future of real-time systems and their applications. The text is self-contained, enabling instructors and readers to focus on the material that is most important to their needs and interests. Suggestions for additional readings guide readers to more in-depth discussions on each individual topic. In addition, each chapter features exercises ranging from simple to challenging to help readers progressively build and fine-tune their ability to design their own real-time software programs. Now fully up to date with the latest technological advances and applications in the field, Real-Time Systems Design and Analysis remains the top choice for students and software engineers who want to design better and faster real-time systems at minimum cost.

Table of Contents:
Preface xv Acknowledgments xxi 1 Fundamentals of Real-Time Systems 1 1.1 Concepts and Misconceptions, 2 1.1.1 Definitions for Real-Time Systems, 2 1.1.2 Usual Misconceptions, 14 1.2 Multidisciplinary Design Challenges, 15 1.2.1 Influencing Disciplines, 16 1.3 Birth and Evolution of Real-Time Systems, 16 1.3.1 Diversifying Applications, 17 1.3.2 Advancements behind Modern Real-Time Systems, 19 1.4 Summary, 21 1.5 Exercises, 24 References, 25 2 Hardware for Real-Time Systems 27 2.1 Basic Processor Architecture, 28 2.1.1 Von Neumann Architecture, 29 2.1.2 Instruction Processing, 30 2.1.3 Input/Output and Interrupt Considerations, 33 2.2 Memory Technologies, 36 2.2.1 Different Classes of Memory, 36 2.2.2 Memory Access and Layout Issues, 38 2.2.3 Hierarchical Memory Organization, 41 2.3 Architectural Advancements, 43 2.3.1 Pipelined Instruction Processing, 45 2.3.2 Superscalar and Very Long Instruction Word Architectures, 46 2.3.3 Multi-Core Processors, 48 2.3.4 Complex Instruction Set versus Reduced Instruction Set, 50 2.4 Peripheral Interfacing, 52 2.4.1 Interrupt-Driven Input/Output, 53 2.4.2 Direct Memory Access, 56 2.4.3 Analog and Digital Input/Output, 58 2.5 Microprocessor versus Microcontroller, 62 2.5.1 Microprocessors, 62 2.5.2 Standard Microcontrollers, 64 2.5.3 Custom Microcontrollers, 66 2.6 Distributed Real-Time Architectures, 68 2.6.1 Fieldbus Networks, 68 2.6.2 Time-Triggered Architectures, 71 2.7 Summary, 73 2.8 Exercises, 74 References, 76 3 Real-Time Operating Systems 79 3.1 From Pseudokernels to Operating Systems, 80 3.1.1 Miscellaneous Pseudokernels, 82 3.1.2 Interrupt-Only Systems, 87 3.1.3 Preemptive Priority Systems, 90 3.1.4 Hybrid Scheduling Systems, 90 3.1.5 The Task Control Block Model, 95 3.2 Theoretical Foundations of Scheduling, 97 3.2.1 Scheduling Framework, 98 3.2.2 Round-Robin Scheduling, 99 3.2.3 Cyclic Code Scheduling, 100 3.2.4 Fixed-Priority Scheduling: Rate-Monotonic Approach, 102 3.2.5 Dynamic Priority Scheduling: Earliest Deadline First Approach, 104 3.3 System Services for Application Programs, 106 3.3.1 Linear Buffers, 107 3.3.2 Ring Buffers, 109 3.3.3 Mailboxes, 110 3.3.4 Semaphores, 112 3.3.5 Deadlock and Starvation Problems, 114 3.3.6 Priority Inversion Problem, 118 3.3.7 Timer and Clock Services, 122 3.3.8 Application Study: A Real-Time Structure, 123 3.4 Memory Management Issues, 127 3.4.1 Stack and Task Control Block Management, 127 3.4.2 Multiple-Stack Arrangement, 128 3.4.3 Memory Management in the Task Control Block Model, 129 3.4.4 Swapping, Overlaying, and Paging, 130 3.5 Selecting Real-Time Operating Systems, 133 3.5.1 Buying versus Building, 134 3.5.2 Selection Criteria and a Metric for Commercial Real-Time Operating Systems, 135 3.5.3 Case Study: Selecting a Commercial Real-Time Operating System, 138 3.5.4 Supplementary Criteria for Multi-Core and Energy-Aware Support, 140 3.6 Summary, 142 3.7 Exercises, 143 References, 146 4 Programming Languages for Real-Time Systems 149 4.1 Coding of Real-Time Software, 150 4.1.1 Fitness of a Programming Language for Real-Time Applications, 151 4.1.2 Coding Standards for Real-Time Software, 152 4.2 Assembly Language, 154 4.3 Procedural Languages, 156 4.3.1 Modularity and Typing Issues, 156 4.3.2 Parameter Passing and Dynamic Memory Allocation, 157 4.3.3 Exception Handling, 159 4.3.4 Cardelli’s Metrics and Procedural Languages, 161 4.4 Object-Oriented Languages, 162 4.4.1 Synchronizing Objects and Garbage Collection, 162 4.4.2 Cardelli’s Metrics and Object-Oriented Languages, 164 4.4.3 Object-Oriented versus Procedural Languages, 165 4.5 Overview of Programming Languages, 167 4.5.1 Ada, 167 4.5.2 C, 169 4.5.3 C++, 170 4.5.4 C#, 171 4.5.5 Java, 172 4.5.6 Real-Time Java, 174 4.5.7 Special Real-Time Languages, 177 4.6 Automatic Code Generation, 178 4.6.1 Toward Production-Quality Code, 178 4.6.2 Remaining Challenges, 180 4.7 Compiler Optimizations of Code, 181 4.7.1 Standard Optimization Techniques, 182 4.7.2 Additional Optimization Considerations, 188 4.8 Summary, 192 4.9 Exercises, 193 References, 195 5 Requirements Engineering Methodologies 197 5.1 Requirements Engineering for Real-Time Systems, 198 5.1.1 Requirements Engineering as a Process, 198 5.1.2 Standard Requirement Classes, 199 5.1.3 Specifi cation of Real-Time Software, 201 5.2 Formal Methods in System Specification, 202 5.2.1 Limitations of Formal Methods, 205 5.2.2 Finite State Machines, 205 5.2.3 Statecharts, 210 5.2.4 Petri Nets, 213 5.3 Semiformal Methods in System Specification, 217 5.3.1 Structured Analysis and Structured Design, 218 5.3.2 Object-Oriented Analysis and the Unified Modeling Language, 221 5.3.3 Recommendations on Specification Approach, 224 5.4 The Requirements Document, 225 5.4.1 Structuring and Composing Requirements, 226 5.4.2 Requirements Validation, 228 5.5 Summary, 232 5.6 Exercises, 233 5.7 Appendix 1: Case Study in Software Requirements Specification, 235 5.7.1 Introduction, 235 5.7.2 Overall Description, 238 5.7.3 Specific Requirements, 245 References, 265 6 Software Design Approaches 267 6.1 Qualities of Real-Time Software, 268 6.1.1 Eight Qualities from Reliability to Verifiability, 269 6.2 Software Engineering Principles, 275 6.2.1 Seven Principles from Rigor and Formality to Traceability, 275 6.2.2 The Design Activity, 281 6.3 Procedural Design Approach, 284 6.3.1 Parnas Partitioning, 284 6.3.2 Structured Design, 286 6.3.3 Design in Procedural Form Using Finite State Machines, 292 6.4 Object-Oriented Design Approach, 293 6.4.1 Advantages of Object Orientation, 293 6.4.2 Design Patterns, 295 6.4.3 Design Using the Unified Modeling Language, 298 6.4.4 Object-Oriented versus Procedural Approaches, 301 6.5 Life Cycle Models, 302 6.5.1 Waterfall Model, 303 6.5.2 V-Model, 305 6.5.3 Spiral Model, 306 6.5.4 Agile Methodologies, 307 6.6 Summary, 311 6.7 Exercises, 312 6.8 Appendix 1: Case Study in Designing Real-Time Software, 314 6.8.1 Introduction, 314 6.8.2 Overall Description, 315 6.8.3 Design Decomposition, 316 6.8.4 Requirements Traceability, 371 References, 375 7 Performance Analysis Techniques 379 7.1 Real-Time Performance Analysis, 380 7.1.1 Theoretical Preliminaries, 380 7.1.2 Arguments Related to Parallelization, 382 7.1.3 Execution Time Estimation from Program Code, 385 7.1.4 Analysis of Polled-Loop and Coroutine Systems, 391 7.1.5 Analysis of Round-Robin Systems, 392 7.1.6 Analysis of Fixed-Period Systems, 394 7.1.7 Analysis of Nonperiodic Systems, 396 7.2 Applications of Queuing Theory, 398 7.2.1 Single-Server Queue Model, 398 7.2.2 Arrival and Processing Rates, 400 7.2.3 Buffer Size Calculation, 401 7.2.4 Response Time Modeling, 402 7.2.5 Other Results from Queuing Theory, 403 7.3 Input/Output Performance, 405 7.3.1 Buffer Size Calculation for Time-Invariant Bursts, 405 7.3.2 Buffer Size Calculation for Time-Variant Bursts, 406 7.4 Analysis of Memory Requirements, 408 7.4.1 Memory Utilization Analysis, 408 7.4.2 Optimizing Memory Usage, 410 7.5 Summary, 411 7.6 Exercises, 413 References, 415 8 Additional Considerations for the Practitioner 417 8.1 Metrics in Software Engineering, 418 8.1.1 Lines of Source Code, 419 8.1.2 Cyclomatic Complexity, 420 8.1.3 Halstead’s Metrics, 421 8.1.4 Function Points, 423 8.1.5 Feature Points, 427 8.1.6 Metrics for Object-Oriented Software, 428 8.1.7 Criticism against Software Metrics, 428 8.2 Predictive Cost Modeling, 429 8.2.1 Basic COCOMO 81, 429 8.2.2 Intermediate and Detailed COCOMO 81, 431 8.2.3 COCOMO II, 433 8.3 Uncertainty in Real-Time Systems, 433 8.3.1 The Three Dimensions of Uncertainty, 434 8.3.2 Sources of Uncertainty, 435 8.3.3 Identifying Uncertainty, 437 8.3.4 Dealing with Uncertainty, 438 8.4 Design for Fault Tolerance, 438 8.4.1 Spatial Fault-Tolerance, 440 8.4.2 Software Black Boxes, 443 8.4.3 N-Version Programming, 443 8.4.4 Built-in-Test Software, 444 8.4.5 Spurious and Missed Interrupts, 447 8.5 Software Testing and Systems Integration, 447 8.5.1 Testing Techniques, 448 8.5.2 Debugging Approaches, 454 8.5.3 System-Level Testing, 456 8.5.4 Systems Integration, 458 8.5.5 Testing Patterns and Exploratory Testing, 462 8.6 Performance Optimization Techniques, 465 8.6.1 Scaled Numbers for Faster Execution, 465 8.6.2 Look-Up Tables for Functions, 467 8.6.3 Real-Time Device Drivers, 468 8.7 Summary, 470 8.8 Exercises, 471 References, 473 9 Future Visions on Real-Time Systems 477 9.1 Vision: Real-Time Hardware, 479 9.1.1 Heterogeneous Soft Multi-Cores, 481 9.1.2 Architectural Issues with Individual Soft Cores, 483 9.1.3 More Advanced Fieldbus Networks and Simpler Distributed Nodes, 484 9.2 Vision: Real-Time Operating Systems, 485 9.2.1 One Coordinating System Task and Multiple Isolated Application Tasks, 486 9.2.2 Small, Platform Independent Virtual Machines, 487 9.3 Vision: Real-Time Programming Languages, 488 9.3.1 The UML++ as a Future “Programming Language”, 489 9.4 Vision: Real-Time Systems Engineering, 491 9.4.1 Automatic Verification of Software, 491 9.4.2 Conservative Requirements Engineering, 492 9.4.3 Distance Collaboration in Software Projects, 492 9.4.4 Drag-and-Drop Systems, 493 9.5 Vision: Real-Time Applications, 493 9.5.1 Local Networks of Collaborating Real-Time Systems, 494 9.5.2 Wide Networks of Collaborating Real-Time Systems, 495 9.5.3 Biometric Identification Device with Remote Access, 495 9.5.4 Are There Any Threats behind High-Speed Wireless Communications?, 497 9.6 Summary, 497 9.7 Exercises, 499 References, 500 Glossary 503 About the Authors 535 Index 537

About the Author :
PHILLIP A. LAPLANTE, PhD, PE, is Professor of Software Engineering at Penn State, where he specializes in software and systems engineering, project management, and software testing and security. Dr. Laplante spent several years as a software engineer and project manager working on avionics, computer-aided design, and software test systems. He has authored or edited twenty-seven books and has published more than 200 scholarly articles. SEPPO J. OVASKA, DSc, is Professor of Industrial Electronics at Aalto University, Finland. He has served as a visiting scholar at Utah State University, Virginia Tech, and the University of Passau, Germany, and has published more than 100 articles in peer-reviewed journals. Prior to his academic career, Dr. Ovaska developed control systems for high-rise elevators; those contributions led to nine international patents.


Best Sellers


Product Details
  • ISBN-13: 9780470768648
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Wiley-IEEE Press
  • Height: 231 mm
  • No of Pages: 584
  • Returnable: N
  • Sub Title: Tools for the Practitioner
  • Width: 163 mm
  • ISBN-10: 0470768649
  • Publisher Date: 23 Dec 2011
  • Binding: Hardback
  • Language: English
  • Returnable: N
  • Spine Width: 38 mm
  • Weight: 975 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Real-Time Systems Design and Analysis: Tools for the Practitioner
John Wiley & Sons Inc -
Real-Time Systems Design and Analysis: Tools for the Practitioner
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Real-Time Systems Design and Analysis: Tools for the Practitioner

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!