Component Specification Using Event Classes

  • Authors:
  • Mark Bickford

  • Affiliations:
  • Cornell University Computer Science, and ATC-NY, Ithaca, USA

  • Venue:
  • CBSE '09 Proceedings of the 12th International Symposium on Component-Based Software Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Working in a higher-order, abstract logic of events , we define event classes , a generalization of interfaces, and propagation rules that specify information flow between event classes. We propose a general definition of a component as a scheme, parameterized by a set of input classes, that defines a set of output classes and propagation rules. The specification of a component is a relation between its input classes and defined output classes that follows from its propagation rules and definitions. 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.