Measurement, Control, and Communication Using IEEE 1588

This chapter discusses the larger application issues in using IEEE 1588. Some of these issues concern the design of the nodes containing the IEEE 1588 clocks, while others are issues of system design.
Partitioning is a well-established principle in system design that confers several significant benefits, including:
Clarity: a properly partitioned design is easier to understand, especially for complex systems.
Composability: without careful partitioning, it is almost impossible to create components that can be effectively combined into larger entities. This is especially true if the resulting combination must be provably correct. In hard real-time systems, temporal composability is a major design challenge.
Containment: there are many aspects of an implementation that, if confined within a module, are much easier to design and manage. In safety-critical systems, the containment of fault propagation within module boundaries is a requirement for achieving system-wide fault tolerance. In measurement systems, calibration is much easier to manage if the partitions allow separate and independent calibration of each module. Likewise, if logic, state, and temporal properties can be largely confined within module boundaries, overall system integration is usually easier.
As noted in Section 3.1, IEEE 1588 is designed to enable time-based execution in distributed systems used for measurement and...