Future research topics

From Erights

Develop a translator from E to some formalism that's good for reasoning about authority, such as SCOLL or perhaps an appropriate process algebra. This would have obvious connections to language design and translation, as well as some mathematical / formal analysis leanings. One might even be able to consider this in the context of proof carrying code -- E modules carrying proofs about their security properties would be an interesting thing indeed.

Investigate the connection between E and the work on using type systems to enforce capability security ala "lightweight static capabilities".

Take up the CapDesk mantle and build a robust POLA desktop on top of E, using available tools such as Plash or other permission-limiting application environments in order to allow the integration of legacy applications. This would likely also include looking at how existing application launching and packaging frameworks can be leveraged (such as the XML .desktop files used by GNOME for example)

Complete the E-Native work, which would result in an E runtime environment that isn't layered on top of another runtime environment (e.g., JR, Lisp, Squeak). Unique Research Contributions:

Develop a VM (OCVM?) that embodies object capability semantics

Implement the OCVM in a verifiable language (e.g., BitC)

Develop the Kernel-E AST to OCVM compiler

Develop a (verifiable?) native implementation of CapTP

Re-implement COUGAAR [1] in E to show how object-capability security and promises can be used to simplify and secure distributed, concurrent agent planning systems. Unique Research Contributions:

Intrinsically secure distributed agent system

Early (first?) large-scale E (object capability) application

Worked example of applying object capability patterns to the design of a large distributed system