[go: up one dir, main page]

Skip to main content

Component Specification Using Event Classes

  • Conference paper
Component-Based Software Engineering (CBSE 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5582))

Included in the following conference series:

  • 619 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Barnett, M., Schulte, W.: The abcs of specification: Asml, behavior, and components. Informatica 25, 517–526 (2001)

    MATH  Google Scholar 

  2. Bates, J., Constable, R.: Proofs as programs. ACM Transactions on Programming Languages and Systems 7, 113–136 (1985)

    Article  MATH  Google Scholar 

  3. de Alfaro, L., Henzinger, T.: Interface automata. In: Proceedings of the, ACM Press, New York (2001)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Gurevitch, Y., Rosenzweig, D.: Partially Ordered Runs: A Case Study. Microsoft Research MSR-TR-99-88 (1999)

    Google Scholar 

  6. Martin-Lof, P.: Constructive mathematics and computer programming. In: Mathematical Logic and Programming Languages, pp. 167–184. Prentice-Hall, London (1985)

    Google Scholar 

  7. Winskel, G.: Event structures. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) APN 1986. LNCS, vol. 255, pp. 325–392. Springer, Heidelberg (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics