IPDL: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 18: Line 18:
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/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.)


[[IPDL/The IPDL/Electrolysis Cookbook]] gives recipes for various common tasks in electrolysis development.
[[The IPDL/Electrolysis Cookbook]] gives recipes for various common tasks in electrolysis development.


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.

Revision as of 22:08, 8 September 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. Protocol state machines
  4. (IN PROGRESS) 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/Electrolysis Cookbook gives recipes for various common tasks in electrolysis development.

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.