Inside discrete-event simulation software: how it works and why it matters
Proceedings of the 31st conference on Winter simulation: Simulation---a bridge to the future - Volume 1
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Testing monadic code with QuickCheck
Proceedings of the 2002 ACM SIGPLAN workshop on Haskell
Coverage and the Use of Cyclic Redundancy Codes in Ultra-Dependable Systems
DSN '05 Proceedings of the 2005 International Conference on Dependable Systems and Networks
Easy parameterized verification of biphase mark and 8n1 protocols
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Hi-index | 0.00 |
We present by example a new application domain for functional languages: emulators for embedded real-time protocols. As a case-study, we implement a simple emulator for the Biphase Mark Protocol, a physical-layer network protocol in Haskell. The surprising result is that a pure functional language with no built-in notion of time is extremely well-suited for constructing such emulators. Furthermore, we use Haskell's property-checker QuickCheck to automatically generate real-time parameters for simulation. We also describe a novel use of QuickCheck as a "probability calculator" for reliability analysis.