Real-time systems design and analysis : tools for the practitioner

"An important resource, this book offers an introductory text and overview of real-time systems: systems where timeliness is a crucial part of the correctness of the system. The book contains a pragmatic overview of key topics (computer architecture and organization, operating systems, software...

Description complète

Enregistré dans:
Détails bibliographiques
Auteur principal : Laplante Phillip A. (Auteur)
Autres auteurs : Ovaska Seppo J. (Auteur)
Format : Livre
Langue : anglais
Titre complet : Real-time systems design and analysis : tools for the practitioner / Phillip A. Laplante, Seppo J. Ovaska
Édition : 4eme ed.
Publié : Hoboken, N.J. : Wiley-IEEE Press , cop. 2012
Description matérielle : 1 vol. (XXI-560 p.)
Sujets :
Documents associés : Autre format: Real-time systems design and analysis
LEADER 11086cam a2200469 4500
001 PPN164159878
003 http://www.sudoc.fr/164159878
005 20230710132600.0
010 |a 978-0-470-76864-8  |b rel. 
010 |a 0-470-76864-9  |b rel. 
020 |a US  |b 2011021433 
035 |a (OCoLC)813852916 
073 1 |a 9780470768648 
100 |a 20120921h20122012k y0frey0103 ba 
101 0 |a eng  |2 639-2 
102 |a US 
105 |a a a 001yy 
106 |a r 
181 |6 z01  |c txt  |2 rdacontent 
181 1 |6 z01  |a i#  |b xxxe## 
182 |6 z01  |c n  |2 rdamedia 
182 1 |6 z01  |a n 
183 |6 z01  |a nga  |2 RDAfrCarrier 
200 1 |a Real-time systems design and analysis  |e tools for the practitioner  |f Phillip A. Laplante, Seppo J. Ovaska 
205 |a 4eme ed. 
210 |a Hoboken, N.J.  |c Wiley-IEEE Press  |d cop. 2012 
215 |a 1 vol. (XXI-560 p.)  |c ill.  |d 25 cm 
320 |a Bibliogr. Index 
330 |a "An important resource, this book offers an introductory text and overview of real-time systems: systems where timeliness is a crucial part of the correctness of the system. The book contains a pragmatic overview of key topics (computer architecture and organization, operating systems, software engineering, programming languages, and compiler theory) from the perspective of the real-time systems designer. The book is organized into chapters that are essentially self-contained. Thus, the material can be rearranged or omitted depending on the background and interests of the audience or instructor. Each chapter contains both easy and more challenging exercises that stimulate the reader to confront actual problems" (résumé fourni par l'éditeur) 
330 |a "The book contains a pragmatic overview of key topics (computer architecture and organization, operating systems, software engineering, programming languages, and compiler theory) from the perspective of the real-time systems designer. The book is organized into chapters that are essentially self-contained. Thus, the material can be rearranged or omitted depending on the background and interests of the audience or instructor. Each chapter contains both easy and more challenging exercises that stimulate the reader to confront actual problems"(résumé fourni par l'éditeur) 
359 2 |b 1. Fundamentals of real-time systems  |c 1.1 Concepts and misconceptions  |d 1.1.1 definitions for real-time systems  |d 1.1.2 Usual misconceptions  |c 1.2 Multidisciplinary design challenges  |d 1.2.1 Influencing disciplines  |c 1.3 Birth and evolution of real-time systems  |d 1.3.1 Diversifying applications  |d 1.3.2 Advancements behind modern real-time systems  |c 1.4 Summary  |c 1.5 Exercises, references  |b 2. Hardware for real-time systems  |c 2.1 Basic processor architecture  |d 2.1.1 Von Neumann architecture  |d 2.1.2 Instruction processing  |d 2.1.3 Input/output and interrupt considerations  |c 2.2 Memory technologies  |d 2.2.1 Different classes of memory  |d 2.2.2 Memory access and layout issues  |d 2.2.3 Hierarchical memory organization  |c 2.3 Architectural advancements  |d 2.3.1 Pipelined instruction processing  |d 2.3.2 Superscalar and very long instruction word architectures  |d 2.3.3 Multi-core processors  |d 2.3.4 Complex instruction set versus reduced instruction set  |c 2.4 Peripheral interfacing  |d 2.4.1 Interrupt-driven input/output  |d 2.4.2 Direct memory access  |d 2.4.3 Analog and digital input/output  |c 2.5 Microprocessor versus microcontroller  |d 2.5.1 Microprocessors  |d 2.5.2 Standard microcontrollers  |d 2.5.3 Custom microcontrollers  |c 2.6 Distributed real-time architectures  |d 2.6.1 Fieldbus networks  |d 2.6.2 Time-triggered architectures  |c 2.7 Summary  |c 2.8 Exercises, references  |b 3. Real-time operating systems  |c 3.1 From pseudokernels to operating systems  |d 3.1.1 Miscellaneous pseudokernels  |d 3.1.2 Interrupt-only systems  |d 3.1.3 Preemptive priority systems  |d 3.1.4 Hybrid scheduling systems  |d 3.1.5 The task control block model  |c 3.2 Theoretical foundations of scheduling  |d 3.2.1 Scheduling framework  |d 3.2.2 Round-robin scheduling  |d 3.2.3 Cyclic code scheduling  |d 3.2.4 Fixed-priority scheduling : rate-monotonic approach  |d 3.2.5 Dynamic priority scheduling : earliest deadline first approach  |c 3.3 System services for application programs  |d 3.3.1 Linear buffers  |d 3.3.2 Ring buffers  |d 3.3.3 Mailboxes  |d 3.3.4 Semaphores  |d 3.3.5 Deadlock and starvation problems  |d 3.3.6 Priority inversion problem  |d 3.3.7 Timer and clock services  |d 3.3.8 Application study : a real-time structure  |c 3.4 Memory management issues  |d 3.4.1 Stack and task control block management  |d 3.4.2 Multiple-stack arrangement  |d 3.4.3 Memory management in the task control block model  |d 3.4.4 Swapping, overlaying, and paging  |c 3.5 Selecting real-time operating systems  |d 3.5.1 Buying versus building  |d 3.5.2 Selection criteria and a metric for commercial real-time operating systems  |d 3.5.3 Case study : selecting a commercial real-time operating system  |d 3.5.4 Supplementary criteria for multi-core and energy-aware support  |c 3.6.Summary  |c 3.7 Exercises, references  |b 4. Programming languages for real-time systems  |c 4.1 Coding of real-time software  |d 4.1.1 Fitness of a programming language for real-time applications  |d 4.1.2 Coding standards for real-time software  |c 4.2 Assembly language  |c 4.3 Procedural languages  |d 4.3.1.Modularity and typing issues  |d 4.3.2 Parameter passing and dynamic memory allocation  |d 4.3.3 Exception handling  |d 4.3.4 Cardelli's metrics and procedural languages  |c 4.4 Object-oriented languages  |d 4.4.1 Synchronizing objects and garbage collection  |d 4.4.2 Cardelli's metrics and object-oriented languages  |d 4.4.3 Object-oriented versus procedural languages  |c 4.5 Overview of programming languages  |d 4.5.1 Ada  |d 4.5.2 C  |d 4.5.3 C++  |d 4.5.4 C#  |d 4.5.5 Java  |d 4.5.6 Real-time Java  |d 4.5.7 Special real-time languages  |c 4.6 Automatic code generation  |d 4.6.1 Toward production-quality code  |d 4.6.2 Remaining challenges  |c 4.7 Compiler optimizations of code  |d 4.7.1 Standard optimization Techniques  |d 4.7.2 Additional optimization considerations  |c 4.8.Summary  |c 4.9.Exercises, references  |b 5. Requirements engineering methodologies  |c 5.1 Requirements engineering for real-time systems  |d 5.1.1 Requirements engineering as a process  |d 5.1.2 Standard requirement classes  |d 5.1.3 Specification of real-time software  |c 5.2 Formal methods in system specification  |d 5.2.1 Limitations of formal methods  |d 5.2.2 Finite state machines  |d 5.2.3 Statecharts  |d 5.2.4 Petri nets  |c 5.3 Semiformal methods in system specification  |d 5.3.1 Structured analysis and structured design  |d 5.3.2 Object-oriented analysis and the Unified Modeling Language  |d 5.3.3 Recommendations on specification approach  |c 5.4 The requirements document  |d 5.4.1 Structuring and composing requirements  |d 5.4.2 Requirements validation  |c 5.5 Summary  |c 5.6.Exercises  |c 5.7 Appendix 1: case study in software requirements specification  |d 5.7.1 Introduction  |d 5.7.2 Overall description  |d 5.7.3 Specific requirements  |b 6. Software design approaches  |c 6.1 Qualities of real-time software  |d 6.1.1 Eight qualities from reliability to verifiability  |c 6.2 Software engineering principles  |d 6.2.1 Seven principles from rigor and formality to traceability  |d 6.2.2 The design activity  |c 6.3 Procedural design approach  |d 6.3.1 Parnas partitioning  |d 6.3.2 Structured design  |d 6.3.3 Design in procedural form using finite state machines  |c 6.4 Object-oriented design approach  |d 6.4.1 Advantages of object orientation  |d 6.4.2 Design patterns  |d 6.4.3 Design using the Unified Modeling Language  |d 6.4.4 Object-oriented versus procedural approaches  |c 6.5 Life cycle models  |d 6.5.1 Waterfall model  |d 6.5.2 V-model  |d 6.5.3 Spiral model  |d 6.5.4 Agile methodologies  |c 6.6.Summary  |c 6.7 Exercises  |c 6.8 Appendix 1 : case study in designing real-time software  |d 6.8.1 Introduction  |d 6.8.2 Overall description  |d 6.8.3 Design decomposition  |d 6.8.4 Requirements traceability  |b 7. Performance analysis techniques  |c 7.1 Real-time performance analysis  |d 7.1.1 Theoretical preliminaries  |d 7.1.2 Arguments related to parallelization  |d 7.1.3 Execution time estimation from program code  |d 7.1.4 Analysis of polled-loop and coroutine systems  |d 7.1.5 Analysis of round-robin systems  |d 7.1.6 Analysis of fixed-period systems  |d 7.1.7 Analysis of nonperiodic systems  |c 7.2 Applications of queuing theory  |d 7.2.1 Single-server queue model  |d 7.2.2 Arrival and processing rates  |d 7.2.3 Buffer size calculation  |d 7.2.4 Response time modeling  |d 7.2.5 Other results from queuing theory  |c 7.3 Input/output performance  |d 7.3.1 Buffer size calculation for time-invariant bursts  |d 7.3.2 Buffer size calculation for time-variant bursts  |c 7.4 Analysis of memory requirements  |d 7.4.1 Memory utilization analysis  |d 7.4.2 Optimizing memory usage  |c 7.5 Summary  |c 7.6 Exercises, references  |b 8. Additional considerations for the practitioner  |c 8.1 Metrics in software engineering  |d 8.1.1 Lines of source code  |d 8.1.2 Cyclomatic complexity  |d 8.1.3 Halstead's metrics  |d 8.1.4 Function points  |d 8.1.5 Feature points  |d 8.1.6 Metrics for object-oriented software  |d 8.1.7 Criticism against software metrics  |c 8.2 Predictive cost modeling  |d 8.2.1 Basic COCOMO 81  |d 8.2.2 Intermediate and detailed COCOMO 81  |d 8.2.3 COCOMO II  |c 8.3 Uncertainty in real-time systems  |d 8.3.1 The three dimensions of uncertainty  |d 8.3.2 Sources of uncertainty  |d 8.3.3 Identifying uncertainty  |d 8.3.4 Dealing with uncertainty  |c 8.4 Design for fault tolerance  |d 8.4.1 Spatial fault-tolerance  |d 8.4.2 Software black boxes  |d 8.4.3 TV-version programming  |d 8.4.4 Built-in-test software  |d 8.4.5 Spurious and missed interrupts  |c 8.5 Software testing and systems integration  |d 8.5.1 Testing techniques  |d 8.5.2 Debugging approaches  |d 8.5.3 System-level testing  |d 8.5.4 Systems integration  |d 8.5.5 Testing patterns and exploratory testing  |c 8.6 Performance optimization techniques  |d 8.6.1 Scaled numbers for faster execution  |d 8.6.2 Look-up tables for functions  |d 8.6.3 Real-time device drivers  |c 8.7 Summary  |c 8.8 Exercises, references  |b 9. Future visions on real-time systems  |c 9.1 Vision : real-time hardware  |d 9.1.1 Heterogeneous soft multi-cores  |d 9.1.2 Architectural issues with individual soft cores  |d 9.1.3 More advanced fieldbus networks and simpler distributed nodes  |c 9.2 Vision : real-time operating systems  |d 9.2.1 One coordinating system task and multiple isolated application tasks  |d 9.2.2 Small, platform independent virtual machines  |c 9.3 Vision : real-time programming languages  |d 9.3.1 The UML++ as a future "programming language"  |c 9.4 Vision : real-time systems engineering  |d 9.4.1 Automatic verification of software  |d 9.4.2 Conservative requirements engineering  |d 9.4.3 Distance collaboration in software projects  |d 9.4.4 Drag-and-drop systems  |c 9.5 V 
452 | |0 257491376  |t Real-time systems design and analysis  |o tools for the practitioner  |f Phillip A. Laplante, Seppo J. Ovaska  |e Fourth Edition  |d 2012  |c [Hoboken (N.J.)]  |n Wiley  |n IEEE Press  |y 978-1-1181-3660-7 
606 |3 PPN027333930  |a Temps réel (informatique)  |2 rameau 
676 |a 004/.33  |v 23 
680 |a QA76.54  |b .L37 2012 
700 1 |3 PPN074770292  |a Laplante  |b Phillip A.  |f 19..-....  |4 070 
702 1 |3 PPN176342192  |a Ovaska  |b Seppo J.  |4 070 
801 3 |a FR  |b Abes  |c 20220509  |g AFNOR 
801 0 |b DLC  |g AACR2 
801 2 |b YDX  |g AACR2 
930 |5 441092104:462784193  |b 441092104  |j u 
998 |a 628535