Component Specification Using Event Classes
by Mark Bickford
We define a subset of programmable event classes that can be compiled and executed and a language, called E#, for specifying components. Components specified in E# preserve programmability–if the component’s input classes are programmable then its output classes and propagation rules are programmable.
Thus a component specified in E# is a higher-order object: given programs for its input classes, it produces a distributed program for propagating information and programs for its output classes. These programs can be passed as inputs to other components so that components can be composed.
bibTex ref: Bic09