IPDL: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 11: Line 11:
# <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>
== 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.


== Reference ==
== Reference ==
Line 23: Line 19:


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.
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.

Revision as of 00:45, 25 July 2009

IPDL is the "Inter-*-communication Protocol Definition Language", where "*" includes "process" and "thread."

Status

The IPDL compiler is being implemented in stages.

  1. Basic code generation (no protocol management)
  2. Type checking and protocol management
  3. (IN PROGRESS) Protocol state machines
  4. Full dynamic safety checking
  5. Static analysis of code implementing IPDL interfaces
  6. 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.