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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Barnett, M., Schulte, W.: The abcs of specification: Asml, behavior, and components. Informatica 25, 517–526 (2001)
Bates, J., Constable, R.: Proofs as programs. ACM Transactions on Programming Languages and Systems 7, 113–136 (1985)
de Alfaro, L., Henzinger, T.: Interface automata. In: Proceedings of the, ACM Press, New York (2001)
Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. In: PODS 1983: Proceedings of the 2nd ACM SIGACT-SIGMOD symposium on Principles of database systems, pp. 1–7. ACM, New York (1983)
Gurevitch, Y., Rosenzweig, D.: Partially Ordered Runs: A Case Study. Microsoft Research MSR-TR-99-88 (1999)
Martin-Lof, P.: Constructive mathematics and computer programming. In: Mathematical Logic and Programming Languages, pp. 167–184. Prentice-Hall, London (1985)
Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bickford, M. (2009). Component Specification Using Event Classes. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-642-02414-6_9
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02413-9
Online ISBN: 978-3-642-02414-6
eBook Packages: Computer ScienceComputer Science (R0)