Marina A. Waldén

Learn More
The action system formalism has been succesfully used when constructing parallel and distributed systems in a stepwise manner within the refinement calculus. Usually the derivation is carried out manually. In order to be able to produce more trustworthy software, some mechanical tool is needed. In this paper we show how action systems can be derived and(More)
Recently the action systems formalism for parallel and distributed systems has been extended with the procedure mechanism. This gives us a very general framework for describing different communication paradigms for action systems, e.g. remote procedure calls. Action systems come with a design methodology based on the refinement calculus. Data refinement is(More)
While UML gives an intuitive image of the system, formal methods provide the proof of its correctness. We can benefit from both aspects by combining UML and formal methods. Even for the combined method we need consistent and compact description of the changes made during the system development. In the development process certain design patterns can be(More)
Action systems is a formalism designed for the construction of parallel and distributed systems in a stepwise manner within the reene-ment calculus. In this paper we show how action systems can be derived and reened within a mechanical proof tool, the B-Tool. We describe how action systems are embedded in B-Tool. Due to this embedding we can now develop(More)
Recently, formal approaches to reverse engineering have received considerable attention as a means of creating correct high level specifications. We show how a formal approach to reverse engineering can be applied when constructing distributed systems, eg. if we want to reuse an existing algorithm, but in a different environment, or develop a new(More)
In several state-based approaches to distributed computing, e.g., action systems , or UNITY, the computing nodes are commonly left unspeciied or implicit. For instance, an action system comes with an informal description on how the system is supposed to be mapped into the network. The purpose of this paper is to make this mapping explicit so that, e.g., in(More)
Concurrent programs are often complex and they are not straightforward to develop and prove correct. Formal development methods based on refinement make it possible not only to derive programs gradually, but also to prove their correctness in a stepwise fashion. Event-B is a formal framework that has been shown useful for developing concurrent and(More)