The Complete Edition - Software Engineering for Real-Time Systems

- Autor:
- Jim Cooling


- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 824
- Dostępne formaty:
-
PDFePubMobi
Opis książki: The Complete Edition - Software Engineering for Real-Time Systems
From air traffic control systems to network multimedia systems, real-time systems are everywhere. The correctness of the real-time system depends on the physical instant and the logical results of the computations. This book provides an elaborate introduction to software engineering for real-time systems, including a range of activities and methods required to produce a great real-time system.
The book kicks off by describing real-time systems, their applications, and their impact on software design. You will learn the concepts of software and program design, as well as the different types of programming, software errors, and software life cycles, and how a multitasking structure benefits a system design.
Moving ahead, you will learn why diagrams and diagramming plays a critical role in the software development process. You will practice documenting code-related work using Unified Modeling Language (UML), and analyze and test source code in both host and target systems to understand why performance is a key design-driver in applications.
Next, you will develop a design strategy to overcome critical and fault-tolerant systems, and learn the importance of documentation in system design.
By the end of this book, you will have sound knowledge and skills for developing real-time embedded systems.
Wybrane bestsellery
-
O tym, ile problemów sprawia niedbale napisany kod, wie każdy programista. Nie wszyscy jednak wiedzą, jak napisać ten świetny, „czysty” kod i czym właściwie powinien się on charakteryzować. Co więcej – jak odróżnić dobry kod od złego? Odpowiedź na te pytania oraz sposoby tworzen...(0,00 zł najniższa cena z 30 dni)
51.35 zł
79.00 zł(-35%) -
Ta książka powinna zostać przestudiowana przez każdego architekta nowoczesnych systemów rozproszonych. Jej celem jest pokazanie sposobów rozwiązywania trudnych problemów związanych z projektowaniem takiego oprogramowania. W krytyczny i wszechstronny sposób omówiono w niej najważniejsze problemy u...
Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje Złożone zagadnienia architektury oprogramowania. Jak analizować kompromisy i podejmować trudne decyzje
(0,00 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%) -
Dave Thomas i Andy Hunt napisali pierwsze wydanie tej wpływowej książki w 1999 roku, aby pomóc swoim klientom tworzyć lepsze oprogramowanie i na nowo odnaleźć radość z kodowania. Nauki płynące z tamtego wydania pomogły wielu pokoleniom programistów zbadać istotę rozwoju oprogramowania, niezależni...
Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II Pragmatyczny programista. Od czeladnika do mistrza. Wydanie II
(0,00 zł najniższa cena z 30 dni)50.05 zł
77.00 zł(-35%) -
W tej książce w sposób jasny i bardzo interesujący przedstawiono uniwersalne zasady architektury oprogramowania wraz z szeregiem wskazówek dotyczących stosowania tych reguł w praktyce. Wyczerpująco zaprezentowano tu dostępne rozwiązania i wyjaśniono, dlaczego są one tak istotne dla sukcesu przeds...
Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów Czysta architektura. Struktura i design oprogramowania. Przewodnik dla profesjonalistów
(0,00 zł najniższa cena z 30 dni)57.85 zł
89.00 zł(-35%) -
Oto pierwszy tom dzieła, które stanowi inspirujące spojrzenie na sztuczną inteligencję. Jego zrozumienie nie wymaga wybitnej znajomości informatyki i matematyki. Książka jest wspaniałą syntezą wczesnych i późniejszych koncepcji, a także technik, przeprowadzoną we frameworku idei, metod i technolo...
Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1 Sztuczna inteligencja. Nowe spojrzenie. Wydanie IV. Tom 1
(0,00 zł najniższa cena z 30 dni)109.85 zł
169.00 zł(-35%) -
Odpowiedź na to fundamentalne pytanie znajdziesz w tej książce ? drugim wydaniu świetnego podręcznika dla przyszłych mistrzów kodu. Zostało ono, podobnie jak inne pozycje z serii Rusz głową!, przygotowane zgodnie z najnowszymi odkryciami nauk poznawczych, teorii uczenia się i neurofizjologii. I w...
Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II Wzorce projektowe. Rusz głową! Tworzenie rozszerzalnego i łatwego w utrzymaniu oprogramowania obiektowego. Wydanie II
(0,00 zł najniższa cena z 30 dni)70.85 zł
109.00 zł(-35%) -
To kolejne wydanie lubianego samouczka, dzięki któremu w ramach 24 godzinnych lekcji przyswoisz solidne podstawy programowania. Zrozumiesz, jak działają programy, i nauczysz się reguł stosowanych przez profesjonalistów przy ich projektowaniu. Dowiesz się, jak wygląda świat programistów i na czym ...
Programowanie dla początkujących w 24 godziny. Wydanie IV Programowanie dla początkujących w 24 godziny. Wydanie IV
(0,00 zł najniższa cena z 30 dni)41.40 zł
69.00 zł(-40%) -
Jeśli chcesz być profesjonalistą i postanowiłeś nauczyć się wszystkiego, co jest do tego potrzebne, to wziąłeś do ręki właściwą książkę. Zawiera ona znacznie więcej informacji niż proste wprowadzenie do konkretnego języka programowania. Opisano tu najpotrzebniejsze technologie, elementy kodu i za...
Programista samouk. Profesjonalny przewodnik do samodzielnej nauki kodowania Programista samouk. Profesjonalny przewodnik do samodzielnej nauki kodowania
(0,00 zł najniższa cena z 30 dni)38.35 zł
59.00 zł(-35%) -
Ta książka powstała z myślą o architektach oprogramowania, projektantach, programistach i dyrektorach do spraw technicznych. Zwięźle i przystępnie opisano w niej, jak zadbać o bezpieczeństwo na wczesnym etapie projektowania oprogramowania i jak zaangażować w ten proces cały team. Najpierw zapreze...
Po pierwsze: bezpieczeństwo. Przewodnik dla twórców oprogramowania Po pierwsze: bezpieczeństwo. Przewodnik dla twórców oprogramowania
(0,00 zł najniższa cena z 30 dni)51.35 zł
79.00 zł(-35%) -
Trzech poważanych architektów oprogramowania omawia cały cykl życia, prezentując praktyczne wskazówki, metody stosowane przez ekspertów i sprawdzone modele przydatne w każdym projekcie niezależnie od poziomu jego złożoności. Dowiesz się, jak za pomocą architektury radzić sobie z coraz większymi w...
Architektura oprogramowania w praktyce. Wydanie IV Architektura oprogramowania w praktyce. Wydanie IV
(0,00 zł najniższa cena z 30 dni)64.35 zł
99.00 zł(-35%)
Ebooka przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video zobaczysz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP4 (pliki spakowane w ZIP)
Szczegóły książki
- Tytuł oryginału:
- The Complete Edition - Software Engineering for Real-Time Systems
- ISBN Ebooka:
- 978-18-392-1352-6, 9781839213526
- Data wydania ebooka:
-
2019-12-26
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@helion.pl.
- Język publikacji:
- angielski
- Rozmiar pliku Pdf:
- 28.2MB
- Rozmiar pliku ePub:
- 89.8MB
- Rozmiar pliku Mobi:
- 173.4MB
- Kategorie:
Programowanie » Inne - Programowanie
Spis treści książki
- Preface
- 1. Real-Time Systems Setting the Scene
- 1.1 Categorizing Computer Systems
- 1.2 Real-Time Computer Systems
- 1.2.1 Time and Criticality Issues
- 1.2.2 Real-Time System Structures
- 1.2.3 Characteristics of Embedded Systems
- 1.3 The Computing Elements of Real-Time Systems
- 1.3.1 Overview
- 1.3.2 General-Purpose Microprocessors
- 1.3.3 Highly Integrated Microprocessors
- 1.3.4 Single-Chip Microcomputers
- 1.3.5 Single-Chip Microcontrollers
- 1.3.6 Digital Signal Processors
- 1.3.7 Mixed-Signal Processors
- 1.3.8 System-On-Chip Designs Overview
- 1.3.9 Programmable SOCs FPGA-Embedded Processors
- 1.3.10 SOC Devices Single and Multicore
- 1.4 Software for Real-Time Applications Some General Comments
- 1.5 Review
- 1.6 Useful Reading Material
- 2. The Search for Dependable Software
- 2.1 What Do We Want in Our Software?
- 2.2 Software Errors
- 2.2.1 Overview
- 2.2.2 System Design Errors
- 2.2.3 Design and Coding Errors
- 2.2.4 Environmental Factors
- 2.2.5 Why Do We Get Poor Software?
- 2.2.6 Testing How Useful?
- 2.3 The Basics of Good Software
- 2.3.1 General
- 2.3.2 Specification Correctness
- 2.3.3 Feasibility and Suitability
- 2.3.4 Modularization
- 2.3.5 Portability and Reusability
- 2.3.6 Error Avoidance and Defensive Programming Robust Programs
- 2.3.7 Design Codes of Practice Style, Clarity, and Documentation
- 2.4 A Final Comment
- 2.5 Review
- 2.6 References
- 3. First Steps Requirements Analysis and Specification
- 3.1 The Software Life Cycle
- 3.1.1 Introduction
- 3.1.2 A Mythical Model of the Software Life Cycle
- 3.1.3 Bringing Realism to the Life Cycle
- 3.1.4 Requirements Issues a Practical Approach
- 3.1 The Software Life Cycle
- 3.2 The Importance of the Requirements Stage
- 3.3 Making Mistakes Sources and Causes
- 3.3.1 A General Comment
- 3.3.2 Problems in Formulating Specifications
- 3.3.3 Problems in Communicating Requirements
- 3.3.4 Problems in Understanding Requirements
- 3.4 Practical Approaches to Analysis and Specification
- 3.4.1 General Aspects
- 3.4.2 Tool Support and Automation
- 3.4.3 Viewpoint Analysis
- 3.4.4 Viewpoints Analysis versus Specification
- 3.4.5 Use Case Analysis
- 3.4.6 Functional, Non-Functional, and Development Requirements Specifications
- 3.5 Communication Aspects the Role of Prototyping
- 3.5.1 Prototyping an Introduction
- 3.5.2 Software Prototyping
- 3.5.3 Requirements Prototyping
- 3.5.4 Practical Rapid Prototyping of System Requirements
- 3.5.5 Animation Prototyping Concepts and Application
- 3.6 Review
- 3.7 Exercises
- 3.8 References and Further Reading
- 4. Software and Program Design Concepts
- 4.1 Design Fundamentals
- 4.1.1 The Design and Development Process an Introduction
- 4.1.2 Fundamental Design Strategies
- 4.1.3 How to Generate Abysmal Software the Good Kludge Guide
- 4.1 Design Fundamentals
- 4.2 The Elements of Modular Design
- 4.2.1 Introduction
- 4.2.2 Modules and Modularization
- 4.2.3 Coupling a Measure of Module Independence
- 4.2.4 Cohesion a Measure of Module Binding
- 4.2.5 Size and Complexity
- 4.2.6 Some General Comments on Modules
- 4.3 Program Control Structures the Influence of Structured Programming
- 4.3.1 Introductory Comments
- 4.3.2 Fundamental Control Structures
- 4.3.3 Uncontrolled Branching of Control the Great GOTO Debate
- 4.4 Structured Software Designs
- 4.4.1 Background
- 4.4.2 Problem Decomposition Using Abstract Machines
- 4.4.3 Example Implementation
- 4.5 Object-Oriented Design
- 4.5.1 An Introduction
- 4.5.2 Object-Oriented Design the Identification Process
- 4.5.3 Relationships and Communication between Objects
- 4.5.4 Object Interfaces
- 4.5.5 Object-Oriented Design Implementation-Related Issues
- 4.5.6 Reuse and Runtime Flexibility Issues
- 4.5.7 Composite Objects Aggregation
- 4.5.8 Devising the Object Model a Responsibility-Based Technique
- 4.6 Functionally Structured Design and Functional Flow Modeling
- 4.6.1 Software Design and Structured Charts Limitations
- 4.6.2 The Materials Flow Model of Software Processing
- 4.6.3 Software Design Using Functionally Structured Techniques
- 4.6.4. Organizing the Execution Sequence of the Software Machines
- 4.6.5 Functional Flow Design Using Graphical Techniques
- 4.7 Design Patterns
- 4.7.1 Introduction and Basic Concepts
- 4.7.2 Program-Level Patterns
- 4.7.3 System-Level Patterns for Real-Time Embedded Systems
- 4.8 Review
- 4.9 Exercises
- 4.10 Useful Reading Material
- 5. Multitasking Systems an Introduction
- 5.1 The Task Model of Software
- 5.1.1 Modeling What and Why
- 5.1.2 Modeling Executing Software the Single-Task Structure
- 5.1.3 Multiple Tasks Why?
- 5.1.4 Using Interrupts to Concurrent Task Operations
- 5.1.5 Introduction to the Operating System
- 5.1 The Task Model of Software
- 5.2 Controlling Task Execution Scheduling
- 5.2.1 Scheduling and Time Slicing Operations
- 5.2.2 Scheduling and Priority-Driven Operations
- 5.2.3 System Responsiveness and Mixed Scheduling Policies
- 5.3 Sharing Resources in Multitasking Systems
- 5.3.1 Problems with Sharing Resources
- 5.3.2 The Binary Semaphore
- 5.3.3 The General or Counting Semaphore
- 5.3.4 Semaphore Weaknesses
- 5.3.5 The Mutex
- 5.3.6 The Simple Monitor
- 5.4 Contention Problems in Multitasking Systems
- 5.4.1 Resource Contention and Deadlocks
- 5.4.2 The Priority Inversion Problem
- 5.4.3 The Priority Ceiling Protocol
- 5.5 Inter-task Communication
- 5.5.1 Introduction
- 5.5.2 Task Coordination and Synchronization without Data Transfer General Aspects
- 5.5.3 Task Interaction without Data Transfer
- 5.5.4 Data Transfer without Task Synchronization or Coordination
- 5.5.5 Task Synchronization with Data Transfer
- 5.6 Review
- 5.7 Background Reading Material
- 6. Diagramming an Introduction
- 6.1 Diagrams Why?
- 6.1.1 Introduction
- 6.1.2 Diagrams as a Design Tool
- 6.1.3 Diagrams for Design Documentation
- 6.1.4 Diagrams for Maintenance
- 6.1.5 Diagrams for Communication
- 6.1 Diagrams Why?
- 6.2 The Essentials of Software Diagrams
- 6.2.1 Fundamentals
- 6.2.2 Basic Qualities
- 6.2.3 Real-Time Systems Diagramming Matching Ends to Needs
- 6.2.4 Practical Diagramming Techniques a General Comment
- 6.3 Review
- 6.4 Exercises
- 6.5 References and Further Reading
- 7. Practical Diagramming Methods
- 7.1 Introduction
- 7.2 Diagrams for Functionally Structured Methods
- 7.2.1 Context Diagrams
- 7.2.2 Entity-Relationship Diagrams (ERDs)
- 7.2.3 State Transition Diagrams and State Transition Tables
- 7.2.4 Functional and Data Flow Diagrams
- 7.2.5 Specifying Program Structures Structure Charts, Flowcharts, and Program Description Languages
- 7.2.6 Message Sequence Diagrams
- 7.2.7 SDL (Specification and Description Language) Process Diagrams
- 7.2.8 Event-Response Lists
- 7.3 UML Diagrams for Object-Oriented Designs
- 7.3.1 Use Case Diagrams
- 7.3.2 Deployment Diagrams
- 7.3.3 Packages and Package Diagrams
- 7.3.4 Class Diagrams
- 7.3.5 Object and Object Communication Diagrams
- 7.3.6 Wiring Objects Together Ports and Interfaces
- 7.3.7 Statecharts
- 7.3.8 Sequence Diagrams
- 7.3.9 Activity Diagrams
- 7.3.10 Components and Component Diagrams
- 7.3.11 Artifacts
- 7.4 Extensions, Variations, and Project-Specific Diagrams
- 7.5 Diagrams and the Design Process
- 7.6 Review
- 7.7 Exercises
- 7.8 References and Further Reading
- 8. Designing and Constructing Software Code-Related Issues
- 8.1 Fundamental Design and Construction Methods
- 8.1.1 Introduction
- 8.1.2 An Evaluation of Design and Construction Methods
- 8.1 Fundamental Design and Construction Methods
- 8.2 Code Development and Packaging
- 8.2.1 Code Development and the Physical Software Model
- 8.2.2 Software Construction Methods General
- 8.2.3 Introduction to Component Technology
- 8.2.4 Code Packaging and Components
- 8.2.5 Classes, Packages, and Artifacts
- 8.3 Important Features of Programming Languages
- 8.3.1 Introduction
- 8.3.2 Choosing a Programming Language the Real Questions
- 8.3.3 High-Level Languages General Requirements
- 8.3.4 Modularity, Encapsulation, and Information Hiding
- 8.3.5 Program Syntax and Layout Rules the Readability Factor
- 8.3.6 Variable Usage Scope, Visibility, Lifetime, and Declaration.
- 8.3.7 Data Types Concepts and Uses
- 8.3.8 Program Flow Control
- 8.3.9 Interfacing to Other Languages
- 8.3.10 Exception Handling
- 8.3.11 Accessing Processor Hardware Low-Level Facilities
- 8.3.12 Assembly Language Programming
- 8.3.13 Miscellaneous Items
- 8.4 Choosing a High-Level Language for Embedded Systems
- 8.4.1 Basic Requirements
- 8.4.2 Assessed Languages Background
- 8.4.3 Assessed Languages Comparison and Comment
- 8.4.4 Python and MicroPython
- 8.5 Review
- 8.6 Important and Useful Reading
- 9. Software Analysis and Design Methods and Methodologies
- 9.1 The Development Process
- 9.1.1 General Description
- 9.1.2 Methods, Methodologies, and Tools
- 9.1 The Development Process
- 9.2 Viewpoint Analysis for Deriving Requirements
- 9.2.1 Viewpoint Analysis and CORE
- 9.2.2 CORE Fundamentals
- 9.2.3 Detailed Aspects and Notation
- 9.2.4 Design Example Steam Propulsion System
- 9.2.5 A Comment on Analysis Tools
- 9.3. Design Implementation Using Functionally Structured Techniques
- 9.3.1 Overview of the Design Process
- 9.3.2 Developing the Ideal Model
- 9.3.3 Developing the Practical Model
- 9.4 Object-Oriented Analysis and Design
- 9.4.1 Design Example Dipmeter Wireline Logging Tool
- 9.4.2 A Practical OOAD Development Process
- 9.4.3 Defining System Usage
- 9.4.4 Developing the Subsystem Structures
- 9.4.5 Developing the Ideal Model Object Structures
- 9.4.6 Developing the Specification Model Object Structures
- 9.4.7 Developing the Individual Processor Object Models
- 9.4.8 Developing the Multitasking Model
- 9.4.9 Developing Individual Tasks
- 9.4.10 Packaging the Software
- 9.5 Model-Driven Architecture
- 9.5.1 Fundamental Concepts
- 9.5.2 The PIM in Detail
- 9.5.3 Example Structural Model from PIM to PSM to Code
- 9.5.4 Closing Comments
- 9.6 Model-Based Design (MBD)
- 9.6.1 MBD versus MDA
- 9.6.2 MBD an Overview
- 9.6.3 Applying the MBD Process a Brief Outline
- 9.7 Agile Software Development
- 9.7.1 Introduction and Basic Concepts
- 9.7.2 Agile Methods for Embedded Applications the Interface Issue
- 9.7.3 The Issue of Project Development Methods Agile versus Embedded
- 9.7.4 Practical Incremental Development Methods for Embedded Systems
- 9.8 Review
- 9.9 Further Useful Reading
- 10. Analyzing and Testing Source Code
- 10.1 Introduction
- 10.1.1 General Concepts
- 10.1.2 Software Evaluation Issues
- 10.1.3 Software Testing the Broader Issues
- 10.1 Introduction
- 10.2 Static Analysis
- 10.2.1 Introduction
- 10.2.2 Manual Static Analysis Methods
- 10.2.3 Automated Static Analysis Methods
- 10.3 Source Code Metrics Code Size, Content, and Complexity
- 10.3.1 General
- 10.3.2 Halstead Software Metrics
- 10.3.3 The McCabe Cyclomatic Complexity Metric
- 10.4 Dynamic Analysis Testing and Coverage Analysis
- 10.4.1 Overview of Dynamic Testing
- 10.4.2 Dynamic Testing in a Manual Environment
- 10.4.3 Dynamic Testing in an Automated Environment
- 10.4.4. Coverage Analysis
- 10.4.5. Practical Automated Dynamic Analysis
- 10.5 Integration Testing
- 10.5.1 Fundamentals
- 10.5.2 Integration and Test Strategies (1) Combined Module and Integration Testing
- 10.5.3 Integration and Test Strategies (2) Integration Testing Based on Unit Calls
- 10.5.4 Integration Complexity
- 10.6 Metrics for OO Designs
- 10.6.1 General Aspects
- 10.6.2 Inheritance, Polymorphism, and Testing Issues
- 10.7 Review
- 10.8 Further Reading
- 11. Development Tools
- 11.1 An Outline of the Modern Development Process for Embedded Systems
- 11.2 The Software Development Process for Embedded Systems
- 11.2.1 The Software Production Cycle
- 11.2.2 Programming the Target Microcontroller
- 11.2.3 Simplifying the Process Processor Configuration Tools
- 11.2.4 Finding and Fixing Software Problems
- 11.2.5 The Basics of Efficient Development Processes
- 11.3 Software Debugging What and Why?
- 11.3.1 Debugging Fundamental Concepts
- 11.3.2 Debugger Basic Requirements and Operation
- 11.3.3 Development and Debugging Environments
- 11.4 Software Debugging on the Host
- 11.4.1 Host System Debugging a Broad Overview
- 11.4.2 The Pros and Cons of Host System Debugging
- 11.5 Software Debugging on the Target Software-Based Techniques
- 11.5.1 General
- 11.5.2 A Simple Monitor Program
- 11.5.3 In-Target Source-Level Debugging
- 11.5.4 The Last Comment
- 11.6 Software Debugging in the Target Hardware-Based Methods
- 11.6.1 Introduction
- 11.6.2 A Basic Test Tool the Bus Monitor
- 11.6.3 The Logic Analyzer
- 11.6.4 The In-Circuit Emulator
- 11.7 Software Debugging in The Target Combined Hardware/Software Techniques
- 11.7.1 Host/Target Interactive Debugging Software Tracing
- 11.7.2 On-Chip Debugging Methods Overview
- 11.7.3 Simple Static On-Chip Debugging Methods
- 11.7.4 Dynamic OCD Schemes
- 11.8 Debugging in Host-As-Target Combinations
- 11.8.1 Background
- 11.8.2 PC-Based Targets The Embedded PC
- 11.8.3 A PC as a Target
- 11.9 Testing Multitasking Software
- 11.9.1 Basic Issues
- 11.9.2 Practical Tool Aspects
- 11.10 Installing Code on the Target Non-Volatile Software (Firmware)
- 11.10.1 Overview
- 11.10.2 The PROM Programmer
- 11.10.3 EPROM Emulators
- 11.10.4 In-Circuit Programming
- 11.11 Integrated Development Toolsets
- 11.11.1 Backend Toolsets
- 11.11.2 Fully Integrated Real-Time Development Environments
- 11.12 Review
- 12. Mission-Critical and Safety-Critical Systems
- 12.1 Introduction
- 12.1.1 Overview of Critical Systems
- 12.1.2 How Critical is Critical?
- 12.1.3 Improving System Reliability and Availability General Strategies
- 12.1 Introduction
- 12.2 System Specification Aspects
- 12.2.1 The Specification Problem Again
- 12.2.2 Why Mathematics?
- 12.2.3 Formal Methods General Concepts
- 12.2.4 Formal Specification Languages
- 12.2.5 An Example Formal Specification Using VDM
- 12.3 Numerical Issues
- 12.3.1 Problems in Disguise
- 12.3.2 Making Measurements
- 12.3.3 Basic Number Representation and Arithmetic
- 12.3.4 The Limitations of Finite Number Systems General Points
- 12.3.5 Infinite Numbers, Model Numbers, and Error Bounds
- 12.3.6 Problems in Floating-Point Working
- 12.3.7 Problems in Fixed-Point Working
- 12.3.8 Internal Representation and Binary Notation
- 12.4 Application Software Aspects
- 12.4.1 Basic Design and Programming Issues (or Doing It Right in the First Place)
- 12.4.2 Dealing with Runtime Problems
- 12.5 Real-World Interfacing
- 12.5.1 Background
- 12.5.2 Fault Types and Identification Inputs
- 12.5.3 Fault Detection Methods Inputs
- 12.5.4 Fault Handling Outputs
- 12.6 Operating Systems Aspects
- 12.6.1 General
- 12.6.2 Protection Techniques
- 12.6.3 Tasking Models and Scheduling
- 12.6.4 Operating Systems and Critical Distributed Applications
- 12.7 Processor Problems
- 12.7.1 Overview
- 12.7.2 Power-On Aspects
- 12.7.3 Runtime Issues
- 12.8 Hardware-Based Fault Tolerance
- 12.8.1 General Aspects
- 12.8.2 Fault-Tolerant Structures
- 12.8.3 Matching Structures to Requirements
- 12.9 Review
- 12.10 References and Further Reading
- 12.11 Some Important Standards
- 13. Performance Engineering
- 13.1 Why Performance Engineering Is Important
- 13.1.1 Time as a Design Driver
- 13.1.2 Ignore Performance at Your Peril Reactive versus Proactive Techniques
- 13.1 Why Performance Engineering Is Important
- 13.2 Performance Engineering Requirements, Targets, and Achievables
- 13.3 Top-Down (Requirements-Driven) Performance Modeling
- 13.3.1 Specifying Targets the Project-Management Analogy
- 13.3.2 Performance Targets and Time Budgeting in Real-Time Systems
- 13.4 Bottom-Up (Results-Driven) Performance Modeling
- 13.5 Middle-Out (Risk-Driven) Performance Modeling
- 13.6 Some Practical Issues in Performance Engineering
- 13.6.1 A General Comment
- 13.6.2 Modeling and Simulation Options
- 13.7 Review
- 13.8 References and Further Reading
- 14. Documentation
- 14.1 Documentation What and Why?
- 14.1.1 The Role of Documentation
- 14.1.2 Documentation Its Structure
- 14.1.3 A Model for System Documentation
- 14.1 Documentation What and Why?
- 14.2 Software Life Cycle Documentation Overview
- 14.3 System Functional Specifications
- 14.3.1 Overview
- 14.3.2 Block Diagram Description
- 14.3.3 Functional Diagram Description
- 14.3.4 Requirements Specification
- 14.4 Software System Specifications
- 14.5 Source Code Aspects
- 14.5.1 Source Code Documentation a Philosophy
- 14.5.2 Source Code Documentation Practice
- 14.5.3 Source Code Review Documentation
- 14.6 Configuration Management and Version Control
- 14.6.1 General Aspects
- 14.6.2 More on Source Code Version Control
- 14.7 Review
- 14.8 Further Information
- Glossary of terms
Packt Publishing - inne książki
-
Save time and effort when building 3D scenes with this essential guide to creating stunning photorealistic 3D environments in Blender
-
Solve classic computer science problems from fundamental algorithms, such as sorting and searching, to modern algorithms in machine learning and cryptography
40 Algorithms Every Programmer Should Know - Second Edition 40 Algorithms Every Programmer Should Know - Second Edition
-
Use modern Python libraries such as pandas, NumPy, and scikit-learn and popular machine learning and deep learning methods to solve financial modeling problems
-
Get up to speed with Oracle's Autonomous Databases and implementation strategies for any workload or use case, including transactional, data warehousing, and non-relational databases
Oracle Autonomous Database in Enterprise Architecture Oracle Autonomous Database in Enterprise Architecture
-
Design, build, and deploy performant and maintainable web applications using Spring, Spring Boot, and Angular
-
Build CD pipelines following GitOps principles like declarative and immutable changes stored in version control, all continuously reconciled by Argo CD, and minimize the failure of deployments.
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
W przypadku usługi "Druk na żądanie" termin dostarczenia przesyłki może obejmować także czas potrzebny na dodruk (do 10 dni roboczych)
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.


Oceny i opinie klientów: The Complete Edition - Software Engineering for Real-Time Systems Jim Cooling (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.