IPDL: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
# Basic code generation (no protocol management) | # Basic code generation (no protocol management) | ||
# Type checking and protocol management | # Type checking and protocol management | ||
# ('''IN PROGRESS''') | # Protocol state machines | ||
# ('''IN PROGRESS''') Full dynamic safety checking | |||
# <font color="gray">Static analysis of code implementing IPDL interfaces</font> | # <font color="gray">Static analysis of code implementing IPDL interfaces</font> | ||
# <font color="gray">Model checking of inter-protocol interactions</font> | # <font color="gray">Model checking of inter-protocol interactions</font> |
Revision as of 05:17, 21 August 2009
IPDL is the "Inter-*-communication Protocol Definition Language", where "*" includes "process" and "thread."
Status
The IPDL compiler is being implemented in stages.
- Basic code generation (no protocol management)
- Type checking and protocol management
- Protocol state machines
- (IN PROGRESS) Full dynamic safety checking
- Static analysis of code implementing IPDL interfaces
- Model checking of inter-protocol interactions
Reference
The IPDL/Getting started guide intends to be somewhat verbose and gentle introduction to the IPDL.
The IPDL/Five minute example shows examples of what C++ code you need to implement to make IPDL "work." Before reading this, you should be somewhat familiar with the IPDL (or good at learning by example.)
The IPDL/Low level setup walks you through setting up the support infrastructure (processes, threads, and sockets) that IPDL needs to send messages. Few people should need to read this.
Other projects
- IPDL/Unit test generation: use IPDL specifications to generate unit tests that "extensively" explore the protocol-level interaction of two (or more) actors. The unit tests are intended to check the C++ implementation(s) of the actor interfaces.