There is increasing interest in group-based applications for video distribution, multimedia conferencing, publish and subscribe etc. Such applications can use networks effectively by multicasting (supported traditionally at the network layer, but also now at the application layer). Designing such large-scale distributed systems is a complex task that can be aided by using a viewpoint approach to separate out different concerns, for example to separate object interaction from communications support. This paper extends earlier work on the design of distributed systems that use point-to-point communication to propose a framework within which viewpoints can be used to assist the design of complex applications involving groups and multicasting.
This paper discusses our proposal on how to embed theorems in Z specifications. One reason behind this proposal is to ease Z users in writing theorems directly in their Z specifications. Another reason is not to overwhelm Z users in learning other language, which in this case is SAL language. In doing so, we need to inform Z2SAL programmers how to translate these embedded theorems into equivalence theorems in SAL specifications. Based on our experiments, Z2SAL is able to translate these kind of theorems and SAL model checker is also able to model check SAL specifications with theorems that are written directly in the Z specifications.
Correctness of concurrent objects is defined in terms of conditions that determine allowable relationships between histories of a concurrent object and those of the corresponding sequential object. Numerous correctness conditions have been proposed over the years, and more have been proposed recently as the algorithms implementing concurrent objects have been adapted to cope with multicore processors with relaxed memory architectures.
We present a formal framework for defining correctness conditions for multicore architectures, covering both standard conditions for totally ordered memory and newer conditions for relaxed memory, which allows them to be expressed in uniform manner, simplifying comparison. Our framework distinguishes between order and commitment properties, which in turn enables a hierarchy of correctness conditions to be established. We consider the Total Store Order (TSO) memory model in detail, formalise known conditions for TSO using our framework, and develop sequentially consistent variations of these. We present a work-stealing deque for TSO memory that is not linearizable, but is correct with respect to these new conditions. Using our framework, we identify a new non-blocking compositional condition, fence consistency, which lies between known conditions for TSO, and aims to capture the intention of a programmer-specified fence.
Modern distributed systems include a class of applications in which non-functional requirements are important. In particular, these applications include multimedia facilities where real time constraints are crucial to their correct functioning. In order to specify such systems it is necessary to describe that events occur at times given by probability distributions; stochastic automata have emerged as a useful technique by which such systems can be specified and verified.However, stochastic descriptions are very general, in particular they allow the use of general probability distribution functions, and therefore their verification can be complex. In the last few years, model checking has emerged as a useful verification tool for large systems. In this article we describe two model checking algorithms for stochastic automata. These algorithms consider how properties written in a simple probabilistic real-time logic can be checked against a given stochastic automaton.