Observational equivalence for lambda-act gives a notion of program equivalence that is useful for reasoning about actor programs, program transformations, etc. Only receptionists can receive messages from the environment. We call such sets interaction behaviors. This abstracts away from the details of the internal computation activity. In fact if we only care about components and their interaction behavior, we can take a language independent view of the behavior of individual actors.
Interaction is sound wrt observational equivalance but full abstraction remains an open question.
Preliminary investigations suggest that modular reasoning is possible in this setting. So far we have discussed only equational reasoningfor lambda-programs. This is useful and provides a semantic basis for transformational programming. To reason about more abstract, possibly partial specifications, or even for equivalence under some assumptions about the context in which a program will be used, we need a richer assertion lnguage. Our approach has been to extend the Variable Type framework developed by Feferman for formalizing constructive mathematics.