Description
Efnisyfirlit
- Cover image
- Title page
- Table of Contents
- Copyright
- Preface
- Acknowledgements
- Chapter 1. Introduction to Internet of Things and embedded systems
- 1.1. Introduction
- 1.2. Introduction to Internet of Things (IoT)
- 1.3. The Internet of Things vs. embedded systems
- 1.4. Brief history of three underlying technologies
- 1.5. The embedded system development process
- 1.6. Summary
- Problems
- Part 1. Modeling the system under development
- Introduction
- Chapter 2. First stage modeling – modeling interaction between the system and the environment
- 2.1. Introduction
- 2.2. Actors, use cases, and scenarios
- 2.3. Universal access – scenarios involving actors with disabilities or limitations
- 2.4. UML and tools for use case development and analysis
- 2.5. Summary
- Problems
- Chapter 3. Finite-state machines
- 3.1. Introduction
- 3.2. Finite-state machines
- 3.3. Refining and correcting FSMs
- 3.4. Determinism versus non-determinism
- 3.5. Timed FSMs
- 3.6. Hierarchical FSMs
- 3.7. Issues with concurrency
- 3.8. Summary
- Problems
- Chapter 4. Modeling physically distributed embedded systems
- 4.1. Introduction
- 4.2. Messages
- 4.3. SDL – an example modeling language for distributed systems
- 4.4. Determinism revisited
- 4.5. Summary
- Problems
- Chapter 5. Petri Nets for modeling concurrency and shared resources
- 5.1. Introduction
- 5.2. Condition/event and place/transition Petri Nets
- 5.3. Reachability
- 5.4. The incidence matrix associated with a place/transition network and proving properties
- 5.5. Predicate/transition Petri Nets and colored Petri Nets
- 5.6. Petri Nets with time
- 5.7. Summary
- Problems
- Part 2. Building robust, safe, and correct systems
- Introduction
- Chapter 6. Designing systems that are safe and robust
- 6.1. Introduction
- 6.2. Definitions
- 6.3. Estimating and using failure rates
- 6.4. Principles for designing safe and robust systems
- 6.5. Summary
- Problems
- Chapter 7. Verification, validation, and evaluation
- 7.1. Introduction
- 7.2. Verification
- 7.3. Validation
- 7.4. Evaluation
- 7.5. Summary
- Problems
- Chapter 8. Testing
- 8.1. Introduction
- 8.2. Simulation/emulation
- 8.3. Discrete event simulation
- 8.4. Generating test cases
- 8.5. Summary
- Problems
- Part 3. Hardware
- Introduction
- Chapter 9. Introduction and overview
- 9.1. Introduction
- 9.2. Overview of the structure of an embedded system
- 9.3. Example structure of a modest-sized system
- Chapter 10. Processing elements
- 10.1. Introduction
- 10.2. Microcontroller vs. microprocessor
- 10.3. Features to consider when selecting a processing element
- 10.4. Sample processors
- 10.5. A special note about start-up times
- 10.6. Summary
- Problems
- Chapter 11. Memories
- 11.1. Introduction
- 11.2. Physical-level issues
- 11.3. Logical-level issues
- 11.4. Summary
- Problems
- Chapter 12. Field-programmable gate arrays
- 12.1. Introduction
- 12.3. Algorithms in hardware
- 12.4. Low-end FPGAs and CPLDs
- 12.5. Summary
- Problems
- Chapter 13. Devices, sensors, and actuators
- 13.1. Introduction
- 13.2. Digital inputs
- 13.3. Analog inputs
- 13.4. Digital outputs
- 13.5. Analog outputs
- 13.6. Interfacing large numbers of digital inputs and outputs
- 13.7. Common output devices
- 13.8. PWM for controlling motors, LEDs, etc.
- 13.9. Sampling periodic analog signals
- 13.10. Summary
- Problems
- Chapter 14. Energy
- 14.1. Introduction
- 14.2. Proximity to reliable energy sources
- 14.3. Batteries
- 14.4. Energy harvesting
- 14.5. Design strategies
- 14.6. Summary
- Problems
- Chapter 15. Hardware-software mapping
- 15.1. Introduction
- 15.2. Task graphs, task splitting, and task merging
- 15.3. Integer linear programming for finding acceptable solutions
- 15.4. Pareto optimality
- 15.5. Summary
- Problems
- Part 4. Software
- Introduction
- Chapter 16. Operating systems
- 16.1. Introduction
- 16.2. Operating system features and support
- 16.3. Buy or build
- 16.4. Real-time operating system issues
- 16.5. Classification of real-time applications
- 16.6. Summary
- Problems
- Chapter 17. Scheduling
- 17.1. Introduction
- 17.2. Definitions and notation
- 17.3. Independent periodic tasks with preemption
- 17.4. Dependent periodic tasks
- 17.5. Independent aperiodic tasks
- 17.6. Dependent aperiodic tasks
- 17.7. Scheduling for a fixed number of processors
- 17.8. Estimating execution times – worst-case execution time
- 17.9. Summary
- Problems
- Chapter 18. Semaphores
- 18.1. Introduction
- 18.2. Motivation
- 18.3. Semaphores
- 18.4. Issues with priority – priority inversion
- 18.5. Summary
- Problems
- Chapter 19. Optimization and other special considerations
- 19.1. Introduction
- 19.2. Fixed point arithmetic
- 19.3. Optimizations for loop processing
- 19.4. Summary
- Problems
- Part 5. Communications
- Introduction
- Chapter 20. Introduction to communications and messages
- 20.1. Introduction
- 20.2. Messages and message passing
- 20.3. Summary
- Problems
- Chapter 21. Networks
- 21.1. Introduction
- 21.2. Brief history of networking
- 21.3. Basic network concepts
- 21.4. Classification of networks
- 21.5. Network topologies
- 21.6. Physical considerations
- 21.7. Summary
- Problems
- Chapter 22. The Internet
- 22.1. Introduction
- 22.2. The Open Systems Interconnection model
- 22.3. Transport Control Protocol and Internet Protocol
- 22.4. The ethernet protocol
- 22.5. Summary
- Problems
- Chapter 23. Low-level communication protocols
- 23.1. Introduction
- 23.2. Common serial protocols for wired connections
- 23.3. Common low-power wireless protocols and technologies for computer networks
- 23.4. Contention and collisions
- 23.5. Summary
- Problems
- Chapter 24. Cloud vs. edge vs. local computing
- 24.1. The cloud
- 24.2. Issues for embedded system design
- 24.3. Summary
- Problems
- Part 6. The Internet of Things
- Introduction
- Chapter 25. Reference models for the Internet of Things
- 25.1. Introduction
- 25.2. The IoT World Forum model
- 25.3. The INTEL model
- 25.4. Summary
- Problems
- Chapter 26. IoT issues
- 26.1. Introduction
- 26.2. Things
- 26.3. Scale
- 26.4. Heterogeneity of things
- 26.5. Security, privacy, and trust
- 26.6. Connectivity
- 26.7. Issues regarding big data and data ownership
- 26.8. Summary
- Problems
- Index
Reviews
There are no reviews yet.