This paper formalizes the observable interface behavior of a concurrent, object-oriented language with futures and promises. The calculus captures the core of Creol, a language, featuring in particular asynchronous method calls and, since recently, first-class futures.The focus of the paper are open systems and we formally characterize their behavior in terms of interactions at the interface between the program and its environment. The behavior is given by transitions between typing judgments, where the absent environment is represented abstractly by an assumption context. A particular challenge is the safe treatment of promises: The erroneous situation that a promise is fulfilled twice, i.e., bound to code twice, is prevented by a resource aware type system, enforcing linear use of the writepermission to a promise. We show subject reduction and the soundness of the abstract interface description.
Creol is a high-level, object-oriented language for distributed systems, featuring active objects and asynchronous method calls. In this paper we present a behavioral interface specification language over communication trace labels to specify components in terms of traces of observable behavior. In the specification, a clean separation of concerns between interaction under the control of the component or coming from the environment is central, which leads to an assumption-commitment style description of a component's behavior. The assumptions schedule the order of inputs, whereas the outputs as commitments are being tested for conformance. To ensure the mentioned separation of responsibilities, we define wellformedness conditions which in addition assure that only "meaningful" traces, i.e., those corresponding to actual behavior, can be specified. The specification language is characterized by two other salient features: it allows to specify freshness of communicated values and furthermore, it respects the asynchronous nature of communication in Creol: the output is tested only up-to an appropriate notion of observability.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.