In this paper we present an approach for developing adaptable software applications. The problem we are facing is that of a (possibly mobile) user who wants to download and execute an application from a remote server. The user's hosting device can be of different kinds (laptops, personal digital assistants, cellular phones, communicators, etc.) with specific hardware and software capabilities. The problem is to be able to decide whether the user's current device characteristics are compatible with the application requirements in order to prevent execution failures. In the negative case we want to identify the reasons that determined the incompatibility and perform an automatic adaptation of the application, so that it can match the user's device capabilities. We adopt a declarative approach: we provide each device with a declarative description of its characteristics and, possibly, context constraints. Inspired by Proof Carrying Code (PCC), we use first-order logic formulae to model both the behavior of the code, with respect to the properties of interest, and the execution context. The adaptation process is carried out by using theorem proving techniques, in particular, the proof assistant HOL4. The aim is to derive a formal proof which asserts that the behavior of the code can be correctly adapted to the given context. By construction, the proof, if it exists, gives information on how the adaptation has to be done. On the application side, Java2 Micro Edition (J2ME) is the chosen reference application development environment.
An interactive system for proving properties of CCS specifications is described. This system allows users to take advantage of all three views of CCS semantics (the transitions, the operationally defined equivalences and the axioms) and to define their own verification strategies for moving from one view to another. The system relies on term rewriting techniques and manipulates only the symbolic representation of specifications without resorting to any other kind of internal representation.1 This research has been partially supported by the CEC under ESPRIT project 2304 -LOTOSPHERE.
Most existing verification tools for process algebras allow the correctness of specifications to be checked in a fully automatic fashion. These systems have the obvious advantage of being easy to use, but unfortunately they also have some drawbacks. In particular, they do not always succeed in completing the verification analysis, due to the problem of state explosion, and they do not provide any insight into the meaning of the intended specifications. In this paper we consider an alternative approach in which both interactive and automatic techniques are combined in the hope that the advantages of automation are retained, and that some of its disadvantages are overcome. To achieve our goal, we use the interactive theorem prover ItOL as a framework for supporting the theory of observational congruence of ccs, and provide a set of automatic proof tools, based on the algebraic axiomatization of the language, which can be used interactively. To illustrate how interaction and automation can be intermixed, we describe two verification strategies which exhibit different degrees of user interaction.
Abstract.
Milner's value-passing calculus for describing and reasoning about communicating systems is formalised in the HOL proof assistant. Based on a previously defined mechanisation of pure CCS (no data communication, only synchronisation) in HOL, value-passing agents are given behavioural semantics by translating them into pure agents. An interactive proof environment is derived that supports both reasoning about the value-passing calculus and verification of value-passing specifications, which are defined over an infinite value domain.
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.