kirancodes.me
To Proof Maintenance & Beyond!

Logical Observable Entities

Jonathan G. Rossie Jr.

Abstract

We show how finite-state machines can standardize the protocol used by a component object to notify other interested objects of its state changes, resulting in a more effective use of static types to constrain both parties, and a more efficient dissemination of information. The enhanced component specification is called a logical observable entity, or LOE. We address two key issues in effectively applying such a strategy: how to extend subtyping to consider the state machines, and how to ensure some kind of compliance between the state-machine specification and its implementation. This leads to an unusual subtyping predicate for LOEs on the one hand, and a prototype code generation strategy on the other. 1 Introduction When a component object is developed in isolation from its clients, it cannot send messages directly to objects in the client systems since it does not know their actual class names. Instead, a level of indirection must be employed, usually by having the component spec...

DOI 10.1145/286936.286954

Related papers