Protocol Assuring Universal Language

Conventionally, external interfaces of objects export a set of messages with their types, and suggest nothing about the order in which these services may be accessed. This leaves room for a large number of runtime-errors or -misbehaviours in type-correct designs. To mend this, we introduce the notion of protocol, or ordering of messages, along with a checking mechanism. We do this with our Protocol Assuring Universal Language (aka Paul, which describes protocollic abstractions of classes. A mapping from regular object languages to Paul can be made as described in the documentation.
Current version:
1.0
Copyright type:
GPL
Home site:
http://wwwhome.cs.utwente.nl/~vanrein/paul/
Source code availability:
SRPM, .tar.gz
Available binary packages:
RPM/i386, .tar.gz/i386, .tar.gz/sun4m, .tar.gz/M$-DOS,
Build platforms:
gcc/djgpp, (f)lex, (b)yacc/bison: Linux, Solaris, MS-DOS
Run platforms:
Linux/anywhere, Solaris/sparc, MS-DOS/i386, Win32/i386 (experimental)
Software/hardware requirements:
None
Documentation:
FMOODS'99 submission
Demonstration:
Describing the X/Open transaction model