Maybe I have made a table with schema languages compared against interface definition languages, and so on. Now we have a clear way of expressing the relationship between the two. A Protocol definition document defines a document as a function of messages, which can be represented as documents - so we can look at remote operations in terms of documents. Challenges if you finish early If making a paper trail machine was fun, here are some more ideas. Add time-aware social processes such as promises and timeouts.
States can split.
Develop proofs that processes will achieve given ends. Develop a protocol machine, which, acting on behalf of one agent, will determine when that agent has a possible move to make, and when in fact the protocol is acting for that agent. Develop a GUI which helps a human user chose from the set of possible options at that state of the protocol. The thing which would come out of this idea would I imagine be a standard language for writing protocols. Of course, it would mainly be something else, such as an rdf-logic language, or prolog or whatever, but there would have to be hooks to define it to be a definition of a protocol.