Core Concepts
Revisiting the formal models of the IEEE 1394 link layer to highlight their development and verification.
Abstract
This content delves into the development and verification of four formal models of the IEEE 1394 link layer, focusing on µCRL, mCRL2, LOTOS, and LNT. The article discusses the historical context, architecture, behavior, and verification of these models. It provides insights into the evolution of formal methods and the success story of detecting a deadlock error in the IEEE standard.
Directory:
- Introduction
- Overview of IEEE 1394 architecture
- Description of the link layer protocol
- Architecture
- Features of the IEEE 1394 standard
- Asynchronous and isochronous modes
- Link Layer
- Detailed behavior in asynchronous mode
- Packet construction, transmission, and checksum computation
- Physical Layer
- Interaction of link layers of nodes through the bus
- Arbitration, data request/indication, clock indication
- Transaction and Application Layers
- Description of transaction and application layers
- Handling of read, write, and lock transactions
- Formal Models
- Overview of formal models in µCRL, mCRL2, LOTOS, and LNT
- Evolution and revisions of the models
- Verification
- Model checking and equivalence checking of the models
- Correctness properties and verification results
- Conclusion
- Comparison of modeling languages and implications for formal methods
Stats
The µCRL model is quite large with 809 non-blank lines.
The mCRL2 spec is 60% shorter than the µCRL model.
The LOTOS model was revised in 2023 to reduce its volume.
The LNT model was revised to exploit the capabilities of LNT fully.
Quotes
"Revisiting the IEEE 1394 link layer problem, a true success story of formal methods." - Content