Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 749 papers for “concurrent logic programming”

Concurrent Logic Programming in Linear Logic

Jirí Zlatuska · 2007

. A proof-theoretic semantics based on linear logic is developed for committed-choice logic languages, represented here by Flat Concurrent Prolog. Several fragments of linear logic are used in order to provide for a suitable translation of guarded clauses clauses, with the committed-choiceconcurrency featurescaptured by the properties of linear logic provability rather than by some additional mechanism and without the need of using interleaving approach for de#ning concurrent behaviour. Linear logic operations from different fragments correspond in quite a natural way to the need for speci#c features of the translation. Two different translations are proposed here, one of them corresponding to the backward-chaining execution, and the other one to a process-related interpretation of atoms of concurrent logic programs. It is demonstratedthat the relationship betweena logic programming language, such as Prolog, and a committed-choice concurrent logic one, such as Concurrent ...

Cited by 0

A Logic for Concurrent Programming

Jayadev Misra · 1994

The UNITY-logic, a fragment of linear temporal logic, was introduced in [5]. In this paper, we describe several recent modifications to this logic. In particular, the operator co replaces unless, for expressing safety properties and, transient predicates form the basis for the progress properties. Our experience suggests that these modifications simplify both the theory and practice of this logic. Overview The UNITY-logic, a fragment of linear temporal logic, was introduced in [5]. Experience gained in applying this logic in practice has led us to modify some of its operators. In particular, we had adopted unless as the primary operator for expressing safety properties, for many years. We suggest a new operator, co, to take its place. Our experience, see, Staskauskas([42],[41],[43]), suggests that the simplicity of formal manipulations is at least as important as the expressive power of an operator. Theoretically, unless and co are equally expressive, while the latter has more ple...

Cited by 0

Concurrent Programming in Linear Logic

Naoki Shimizu, Toshihiro Yonezawa, Naoki Kobayashi et al. · 2014

HACL is a novel asynchronous concurrent programming language developed based on linear logic. It provides fruitful mechanisms for concurrent program-ming including higher-order concurrency and an elegant $\\mathrm{M}\\mathrm{L}$-style type system. Although HACL provides only a small set of primitive constructs, various con-structs for communication and synchronization between processes are definable in terms of primitive asynchronous message passing and higher-order processes. In this paper, we demonstrate the power of HACL by showing several programming examples. For readers who are not familiar with linear logic and concurrent linear logic programming, we also give a brief introduction to the logical background of HACL. 1

Cited by 0

A Logic for Concurrent Programming: Safety

Jayadev Misra · 2003

The UNITY-logic is a fragment of linear temporal logic. It was designed to specify safety and and progress properties of reactive systems. Experience gained in applying this logic in practice has led us to modify some of its operators. In particular, we had adopted unless as the primary operator for expressing safety properties for many years. We suggest a new operator, co, to take its place. Our experience suggests that the simplicity of formal manipulations is at least as important as the expressive power of an operator. Theoretically, unless and co are equally expressive, while the latter has more pleasing derived rules that allow simpler manipulations. This research is presented in two papers. We study safety properties in the first paper and progress properties in the second paper. We use a small amount of theory to introduce the co operator. The major portion of the paper is devoted to applying the theory in practice: showing how various safety properties can be expressed and manipulated using co.

Cited by 25

Objects in concurrent logic programming languages

Ken Kahn, Eric Dean Tribble, Mark S. Miller et al. · 1986

article Free Access Share on Objects in concurrent logic programming languages Authors: Kenneth Kahn Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Eric Dean Tribble Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Mark S. Miller Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Daniel G. Bobrow Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 21Issue 10Oct. 1986 pp 29–38https://doi.org/10.1145/323648.323739Online:01 June 1986Publication History 5citation224DownloadsMetricsTotal Citations5Total Downloads224Last 12 Months8Last 6 weeks7 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF

Cited by 0Open access

Proof-Outline Logic (Concurrent Programming Edition)

Theodore S. Norvell · 2014

An introduction to proof outlines, compiled as background reading for Engi 8893 Concurrent Programming and Engi 9869 Advanced Concurrent Programming. Note on editions: This is the Concurrent Programming edition, designed to support MUN courses Engi-7893 and Engi-9869. The first part of this note –the part up to the section entitled Concurrent Programming– also appears in an edition for MUN course Engi-6892 Algorithms: Correctness and Complexity. The content is the same, but the notation is a bit different. The notation used in this edition better matches the notation used in Andrews’ text book [Andrews, 2000]. [For students who took Engi6892 in 2013 or earlier: since earlier editions of this note and the edition for Engi-6892 I’ve made the following changes in terminology. I formerly said that a condition was “valid” where I now say it is “universally true”. And I formally said that a Hoare triple or a proof outline was “valid” where I now say it is “partially correct”.]

Cited by 0

Objects in concurrent logic programming languages

Ken Kahn, Eric Dean Tribble, Mark S. Miller et al. · ACM SIGPLAN Notices · 1986

article Objects in concurrent logic programming languages Share on Authors: Kenneth Kahn Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Eric Dean Tribble Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Mark S. Miller Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile , Daniel G. Bobrow Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research Center Knowledge Systems Area, Intelligent System Laboratory, Xerox Palo Alto Research CenterView Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 21Issue 10Oct. 1986 pp 29–38https://doi.org/10.1145/323648.323739Online:01 June 1986Publication History 5citation217DownloadsMetricsTotal Citations5Total Downloads217Last 12 Months2Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access

Cited by 42

Debugging Tools for Concurrent Logic Programming

Tom Conlon, Steven Gregory · The Computer Journal · 1992

A problem which confronts the developers of concurrent logic programming (CLP) systems concerns the design of the programming environment, particularly the provision of debugging tools. Debugging tools are useful for many activities besides identifying bugs: they can help in program testing and demonstration, in software experiments, and in teaching the language semantics. For CLP languages the questions of what debugging tools should be provided, and of how they should be used, are still open. Although the languages are closely related to other logic programming and concurrent programming languages, they are sufficiently different that new debugging techniques are required. This paper describes a primarily channel-oriented debugging methodology and a set of debugging tools that we have developed in the light of our experience in using and teaching the CLP language Parlog. With these tools a programmer can test a program by observing communication on channels, opening up a process to examine the activity on internal channels and, if necessary, to check in detail the execution steps of a process. Almost all of the ideas, which are equally applicable to other CLP languages, have been implemented in two commercial Parlog systems. As well as fulfilling the needs of existing users of CLP languages, we believe that the tools emphasise the attractions of CLP as a concurrent programming paradigm, since they are made possible by the unique attributes of CLP.

Cited by 3Open access

Typed Concurrent Programming with Logic Variables

Martin Müller, Joachim Niehren, Gert Smolka · 1997

We present a concurrent higher-order programming language called Plain and a concomitant static type system. Plain is based on logic variables and computes with possibly partial data structures. The data structures of Plain are procedures, cells, and records. Plain's type system features record-based subtyping, bounded existential polymorphism, and access modalities distinguishing between reading and writing.

Cited by 0

Nets, Logic and Concurrent Object-Oriented Programming

Rafael Ramirez · 1995

This paper introduces a temporal logic based on precedence constraints among events which captures net semantics, i.e. a particular net can be mapped into a semantic-equivalent formula in the logic. Tempo, a declarative concurrent programming language, is based on such logic and has a procedural interpretation which allows specifications to be executed as concurrent programs. Thus, the execution of a net may be simulated by executing a semantic-equivalent formula as a Tempo program. Tempo++, an object-oriented extension of Tempo is presented. In this framework, concurrency issues are declaratively abstracted by temporal constraints among events. The concurrent behaviour (safety properties) of programs is explicitly specified which provides great advantages in writing concurrent programs and manipulating them while preserving correctness. Tempo++, separates concurrency issues from the code, minimizing dependency between application functionality and concurrency control, thus, increasing...

Cited by 0