On the Parameterized Algebraic Specification of Concurrent Systems (original) (raw)
Related papers
Algebraic Specification of Concurrent Systems
Algebraic Foundations of Systems Specification, 1999
This article presents an extension of the formalism of algebraic specifications to the specification of concurrent systems. The key concept is that of process specifications, which have two hierarchical layers: processes and data. Processes apply to data via an application operator, eventually yielding a set of data as a result. Syntax and semantics of process specifications are presented, with emphasis on methodological issues (how to write hierarchically consistent and complete specifications). A suitable notion of observational congruence is introduced and characterized. A notion of implementation is denned, and a general method for proving correction is considered, based on the notion of serializability proof. A primitive for putting specifications together, in parellel, is analyzed. Finally, richer primitives for building basic specifications are discussed. Our proposal is illustrated via several examples inciuding the one of the systematic, stepwise development of a complex specification. * Partially supported by the Esprit 432 METEOR project.
A Formal Framework for Specifying Concurrent Systems
International Journal of Computer Applications, 2013
Concurrent systems are very complex and error-prone because these systems are associated with significant issues, such as deadlock, starvation, communication, non-deterministic behavior and synchronization. Using formal methods, which are based on mathematical notions and theories, can help to increase confidence in these systems. Thus in recent years, most efforts have focused to specify, verify and develop concurrent systems formally. However, with specifications that have been done up to this time, several important aspects of concurrent systems, such as dynamic process creation, scheduling, starvation and infinite execution have not been specified formally yet. On the other hand, some specified aspects, such as deadlock, synchronization and communication have not been described as completely and accurately and/or have been specified using a combination of several different methods and formalisms so that the integration of existing specifications needs too much effort. It can be said unequivocally that until now there is no specification framework, based on a single formalism, for concurrent systems in which all important aspects of these systems are considered. Thus, our previous work tried to present an integrated formal specification framework of all the extracted aspects based on just one formal notation, i.e., the Z language. In this paper, the details of the mentioned formal framework are first presented. Then, this framework is evaluated from two viewpoints: comprehensiveness of the framework itself and appropriateness of Z to write an integrated formal specification of concurrent systems.
Formal Specification of Concurrent Systems: A Structured Approach
The Computer Journal, 1998
CSP and Petri Nets are powerful formalisms for the specification and the analysis of concurrent systems. We present an approach to their integration to take advantage of both formalisms. In particular the GSPN class is used to address dependability and real-time aspects. In this paper an algorithmic transformation from a trace-based specification of a concurrent system to a Petri Net model is described. Causal dependencies between behaviours of the system components are introduced in the net model through the definition of external assumptions. The steps of the integration are illustrated by applying them to an unmanned transportation problem.
cmUML - A UML based Framework for Formal Specification of Concurrent, Reactive Systems
The Journal of Object Technology, 2008
Complex software systems possess concurrent and reactive behaviors requiring precise specifications prior to development. Lamport's transition axiom method is a formal specification method which combines axiomatic and operational approaches. On the other hand Unified Modeling Language (UML), a de facto industry standard visual language, lacks suitable constructs and semantics regarding concurrency aspects. Though UML includes action semantics, its higher level constructs and object semantics are inconsistent. Motivated by Lamport's approach, this paper proposes a UML based specification framework 'cmUML' ('cm' for concurrent modules) for formal specification of concurrent, reactive systems without object level diagrams and OCL. The framework integrates higher level diagrams of UML and addresses various concurrency issues including exception handling. It combines UML-RT and UML/ SPT profile as the latter defines a core package for concurrency and causality. Further the framework includes the characteristic safety and liveness aspects of concurrent systems. The proposed framework is in contrast with existing approaches based on low level primitives (semaphore, monitors). The paper includes several specification examples validating the proposed framework. cmUML-A UML BASED FRAMEWORK FOR FORMAL SPECIFICATION OF CONCURRENT, REACTIVE SYSTEMS
An exercise in formalizing the description of a concurrent system
Software: Practice and Experience, 1992
Page 1. SOFTWARE-PRACTICE AND EXPERIENCE, VOL. 22(12), 1069-1098 (DECEMBER 1992) An Exercise in Formalizing the Description of a Concurrent System DW BUSTARD Department of Computing Science, University of Ulster, Coleraine, BT52 lSA, U. K. ...
CSP: The Best Concurrent-System Description Language in the World – Probably! Extended Abstract
2010
Abstract. CSP, Hoare’s Communicating Sequential Processes, [1, 2] is one of the formalisms that underpins the antecedents of CPA, and this year celebrates its Silver Jubilee [3]. Formal Systems ’ own FDR refinement checker [4] is among the most powerful explicit exhaustive finite-state exploration tools, and is tailored specifically to the CSP semantics. The CSPM ASCII form of CSP, in which FDR scripts are expressed, is the de-facto standard for CSP tools. Recent work has experimentally extended the notation to include a probabilistic choice construct, and added functionality into FDR to produce models suitable for analysis by the Birmingham University PRISM tool [5]. 1
Specification, abstraction and verification in a concurrent object-oriented language
1996
We use Maude as our speci cation language and the modal -calculus as our logic. We apply to speci cations in Maude a framework of abstraction and veri cation based on property-preserving mappings between transition systems. Firstly, we demonstrate how to employ abstraction in veri cation of object-oriented speci cations of distributed systems. Secondly, we use this framework to nd classes of properties preserved by Maude's inheritance relation.
Specification and Verification of Synchronizing Concurrent Objects
2004
We introduce a new specification formalism which we call hiddenCCS; hidden algebra is used to specify local goals as objects, and CCS is used to describe global goal of the synchronizing concurrent objects. We extend the object specification with synchronization elements associated with methods of different objects, and we use a CCS coordinating module to describe the interaction patterns of methods invocations. Some results refer to strong bisimulation over the hiddenCCS configurations. We investigate how the existing tools BOBJ, CWB, and Maude can be integrated to describe and verify useful properties of the synchronizing concurrent objects. The hiddenCCS specifications can be described in the rewriting logic using Maude. Finally we present the first steps towards temporal specifications and verification for hiddenCCS. the system properties from those of its objects and model checking tools. The symbiosis of object-oriented algebraic specification and interaction process algebra is given by a simple formal glue provided by some synchronization elements added to hidden algebra and appropriate semantic rules. HiddenCCS extends object-oriented hidden algebra with a CCS coordinating module able to describe the interaction patterns of method invocations. From an object-oriented point of view, we preserve the properties and the expressive power of hidden algebra specification and its hidden logic. From a process algebra point of view, we describe the possible patterns of interaction between objects and preserve the expressive power of CCS and its Hennessy-Milner logic.
Theoretical Computer Science, 1990
A transformation of sequential specifications into concurrent specifications is defined. The sequential specification is in the form of a regular expression extended with a declaration of the actions that are independent and have the potential for concurrent execution. The concurrent specification is in the form of a product of regular expressions. It is proved that a concurrent specification resulting from the application of the transformation to a sequential specification modified by inserting special actions, called synchronization guards, is behaviorally equivalent to the original specification. The programming language representation of a sequential specification is exemplified in a Pascal-like language, Banach.