We introduce a high-level synthesis framework to automatically synthesize asynchronous circuits, especially speed-independent circuits, from a concurrent programming language called ALEPII. ALEPII is a,high-level conc...
详细信息
We introduce a high-level synthesis framework to automatically synthesize asynchronous circuits, especially speed-independent circuits, from a concurrent programming language called ALEPII. ALEPII is a,high-level concurrent algorithmic specification that can model complex concurrent control flows, logical and arithmetic computations, and communications in easy way. This specification language lias been developed to be translated into a Petri net. The major contribution of this paper is the generation of globally optimized control circuits during preserving neat formalism in the specification.
A functional language based on the FP-model is presented. The language combines occam processes and is used as a command level language for occam systems. It is well suited as a graphical language for concurrent progr...
详细信息
A functional language based on the FP-model is presented. The language combines occam processes and is used as a command level language for occam systems. It is well suited as a graphical language for concurrent programming. An algebra, based on the functional properties of the language, makes process-and communication structures accessible to (semi-) automatical transformations.
The main goal of this paper is to apply rewriting termination technology-enjoying a quite mature set of termination results and tools-to the problem of proving automatically the termination of concurrent systems under...
详细信息
The main goal of this paper is to apply rewriting termination technology-enjoying a quite mature set of termination results and tools-to the problem of proving automatically the termination of concurrent systems under fairness assumptions. We adopt the thesis that a concurrent system can be naturally modeled as a rewrite system, and develop a theoretical approach to systematically transform, under reasonable assumptions, fair-termination problems into ordinary termination problems of associated relations, to which standard rewriting termination techniques and tools can be applied. Our theoretical results are combined into a practical proof method for proving fair-termination that can be automated and can be supported by current termination tools. We illustrate this proof method with some concrete examples and briefly comment on future extensions. (c) 2008 Published by Elsevier Inc.
We propose a new method for the analysis of cooperative and antagonistic properties of communicating finite state processes (FSPs). This algebraic technique is based on a composition operator and on the notion of poss...
详细信息
We propose a new method for the analysis of cooperative and antagonistic properties of communicating finite state processes (FSPs). This algebraic technique is based on a composition operator and on the notion of possibility equivalence among FSPs. We demonstrate its utility by showing that potential blocking, termination, and lockout can be decided in polynomial time for loosely connected networks of tree FSPs. Potential blocking and termination are examples of cooperative properties, while lockout is an antagonistic one. For loosely connected networks of (the more general) acyclic FSPs, the cooperative properties become NP-complete and the antagonistic ones PSPACE-complete. For tightly coupled networks of tree FSPs, we also have NP-completeness for the cooperative properties. For the harder case of FSPs with cycles, we provide a natural extension of the method.
Petri nets have been widely used as a tool for modeling and analyzing concurrent and distributed system for many years;however their applications are mainly limited to the earlier activities of software system develop...
详细信息
Petri nets have been widely used as a tool for modeling and analyzing concurrent and distributed system for many years;however their applications are mainly limited to the earlier activities of software system development. To make Petri nets a fully fledged software development methodology, systematic (eventually automatic) code generation techniques are needed. In this paper, we present an approach to deriving concurrent program skeletons from Petri nets which establishes a link between Petri nets and object-oriented concurrent programming and forms a foundation for a Petri net based transformational software development methodology. We demonstrate our code derivation approach with several examples. (C) 1997 Elsevier Science B.V.
Visual programming languages (VPLs) have been proposed to simplify the task of programming and to make better use of human capabilities. Visual Occam (VISO) is a visual programming language for concurrent programming....
详细信息
Visual programming languages (VPLs) have been proposed to simplify the task of programming and to make better use of human capabilities. Visual Occam (VISO) is a visual programming language for concurrent programming. It uses message passing for interprocess communication and processes are disjoint. The VISO language uses a modular approach to visual programming which simplifies the specification of programs. It has a graphical syntax based the language occam. The main emphasis in this paper is to provide formal semantics of VISO using process calculus. The semantics of all programming constructs and icons in VISO are given as well as a number of complete example programs and their translation in process calculus. (C) 1998 Published by Elsevier Science Ltd. All rights reserved.
Parallel distributed algorithms are introduced for adding and deleting edges in a directed graph without creating a cycle. These algorithms are useful for a variety of problems in distributed systems, such as preventi...
详细信息
Parallel distributed algorithms are introduced for adding and deleting edges in a directed graph without creating a cycle. These algorithms are useful for a variety of problems in distributed systems, such as preventing deadlock or ordering priorities. The algorithms operate in a realistic asynchronous computer network environment in which there are many possible interactions among overlapping instances of the algorithms. The distributed algorithms are obtained from a sequential algorithm. In formulating distributed versions of the algorithm from a sequentional version, the crucial role of an invariant is emphasized. Global correctness of the distributed algorithms depends upon (locally) preserving this invariant. Thus, the correctness of the algorithms is proven relatively easily. Interactions and cooperation between various activations of the algorithms are exploited to minimize redundant computation. A restricted freezing mechanism, definitive reranking, is shown to be incorporated easily into the proposed schemes.
We have recently implemented three preprocessors that, respectively, convert conditional critical region (CCR) notation, monitor notation, and Communicating Sequential Processes (CSP)notation into equivalent programs ...
详细信息
We have recently implemented three preprocessors that, respectively, convert conditional critical region (CCR) notation, monitor notation, and Communicating Sequential Processes (CSP)notation into equivalent programs written in the SR concurrent programming language, The three preprocessors were built with cpp, the C preprocessor, This paper describes our experience in this use of cpp and especially how using cpp influenced the design and implementation of the extended notations, This paper also describes the favorable experience obtained in using the preprocessors in several courses, The results should be of interest to others who are contemplating implementing language extensions.
We show how to specify components of concurrent systems. The specification of a system is the conjunction of its components' specifications. Properties of the system are proved by reasoning about its components. W...
详细信息
We show how to specify components of concurrent systems. The specification of a system is the conjunction of its components' specifications. Properties of the system are proved by reasoning about its components. We consider both the decomposition of a given system into parts, and the composition of given parts to form a system.
The non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (hencheforth ABP work-stealing) is on its way to becoming the multiprocessor load balancing technology of choice in both industry and academia. T...
详细信息
The non-blocking work-stealing algorithm of Arora, Blumofe, and Plaxton (hencheforth ABP work-stealing) is on its way to becoming the multiprocessor load balancing technology of choice in both industry and academia. This highly efficient scheme is based on a collection of array-based double-ended queues (deques) with low cost synchronization among local and stealing processes. Unfortunately, the algorithm's synchronization protocol is strongly based on the use of fixed size arrays, which are prone to overflows, especially in the multiprogrammed environments for which they are designed. This is a significant drawback since, apart from memory inefficiency, it means that the size of the deque must be tailored to accommodate the effects of the hard-to-predict level of multiprogramming, and the implementation must include an expensive and application-specific overflow mechanism. This paper presents the first dynamic memory work-stealing algorithm. It is based on a novel way of building non-blocking dynamic-sized work stealing deques by detecting synchronization conflicts based on "pointer-crossing" rather than "gaps between indexes" as in the original ABP algorithm. As we show, the new algorithm dramatically increases robustness and memory efficiency, while causing applications no observable performance penalty. We therefore believe it can replace array-based ABP work stealing deques, eliminating the need for application-specific overflow mechanisms.
暂无评论