56 research outputs found
Logic programming for real-time control of telecommunication switching systems
AbstractAn experiment using logic programming in the specification and implementation of a telecommunication switching system is reported, and one of the main modules in the system, a telephone-line controller, is described in detail as an illustrative example. The system is described in terms of transition relations in a labeled transition system. The programming language used is a variant of the parallel logic language PARLOG augmented with annotations to express timing constraints. The operational model of PARLOG is modified to handle time by allowing each goal-reduction process in a query to maintain its own logical clock, which can be read and set by the goal-reduction process itself. A metainterpreter is given to describe the operational behavior and an implementation scheme for the language
Programming Languages for Distributed Computing Systems
When distributed systems first appeared, they were programmed in traditional sequential languages, usually with the addition of a few library procedures for sending and receiving messages. As distributed applications became more commonplace and more sophisticated, this ad hoc approach became less satisfactory. Researchers all over the world began designing new programming languages specifically for implementing distributed applications. These languages and their history, their underlying principles, their design, and their use are the subject of this paper. We begin by giving our view of what a distributed system is, illustrating with examples to avoid confusion on this important and controversial point. We then describe the three main characteristics that distinguish distributed programming languages from traditional sequential languages, namely, how they deal with parallelism, communication, and partial failures. Finally, we discuss 15 representative distributed languages to give the flavor of each. These examples include languages based on message passing, rendezvous, remote procedure call, objects, and atomic transactions, as well as functional languages, logic languages, and distributed data structure languages. The paper concludes with a comprehensive bibliography listing over 200 papers on nearly 100 distributed programming languages
Specifying and reasoning about concurrent systems in logic
Imperial Users onl
Concurrent and Reactive Constraint Programming
The Italian Logic Programming community has given several contributions to the theory of Concurrent Constraint Programming. In particular, in the topics of semantics, verification, and timed extensions. In this paper we review the main lines of research and contributions of the community in this fiel
Fragment size correlations in finite systems - application to nuclear multifragmentation
We present a new method for the calculation of fragment size correlations in
a discrete finite system in which correlations explicitly due to the finite
extent of the system are suppressed. To this end, we introduce a combinatorial
model, which describes the fragmentation of a finite system as a sequence of
independent random emissions of fragments. The sequence is accepted when the
sum of the sizes is equal to the total size. The parameters of the model, which
may be used to calculate all partition probabilities, are the intrinsic
probabilities associated with the fragments. Any fragment size correlation
function can be built by calculating the ratio between the partition
probabilities in the data sample (resulting from an experiment or from a Monte
Carlo simulation) and the 'independent emission' model partition probabilities.
This technique is applied to charge correlations introduced by Moretto and
collaborators. It is shown that the percolation and the nuclear statistical
multifragmentaion model ({\sc smm}) are almost independent emission models
whereas the nuclear spinodal decomposition model ({\sc bob}) shows strong
correlations corresponding to the break-up of the hot dilute nucleus into
nearly equal size fragments
- …