As embedded systems become more and more complex, so does the challenge of enabling fast and efficient communication between the various subsystems that make up a modern embedded system. Facing this challenge from a practical standpoint, Communication Protocol Engineering outlines a hands-on methodology for developing effective communication protocols for large-scale systems.
A Complete Roadmap
This book brings together the leading methods and techniques developed from state-of-the-art methodologies for protocol engineering, from specification and description methods to cleanroom engineering and agile methods. Popovic leads you from conceptualization of requirements to analysis, design, implementation, testing, and verification. He covers the four main design languages: specifications and description language (SDL); message sequence charts (MSCs); tree and tabular combined notation (TTCN); and unified modeling language (UML).
Practical Tools for Real Skills
Fully illustrated with more than 150 figures, this guide also serves as a finite state machine (FSM) library programmer's reference manual. The author demonstrates how to build an FSM library, explains the components of such a library, and applies the principles to FSM library-based examples.
Nowhere else are the fundamental principles of communication protocols so clearly and effectively applied to real systems development than in Communication Protocol Engineering. No matter in what stage of the process you find yourself, this is the ideal tool to make your systems successful.
Table of Contents
The Notion of the Communication Protocol
REQUIREMENTS AND ANALYSIS
Use Case Diagrams
Requirements and Analysis Example
Specification and Description Language
Message Sequence Charts
Tree and Tabular Combined Notation
The Spectrum of FSM Implementations
State Design Pattern
Implementation Based on the FSM Library
TEST AND VERIFICATION
Formal Verification Based on Theorem Proving
Statistical Usage Testing
Basic FSM System Components
Global Constants, Types, and Functions
A Simple Example with Three Automata Instances
A Simple Example with Network-Aware Automata Instances