A concurrent constraint programming interpretation of access permissions
From MaRDI portal
(Redirected from Publication:4644356)
Abstract: A recent trend in object oriented (OO) programming languages is the use of Access Permissions (APs) as an abstraction for controlling concurrent executions of programs. The use of AP source code annotations defines a protocol specifying how object references can access the mutable state of objects. Although the use of APs simplifies the task of writing concurrent code, an unsystematic use of them can lead to subtle problems. This paper presents a declarative interpretation of APs as Linear Concurrent Constraint Programs (lcc). We represent APs as constraints (i.e., formulas in logic) in an underlying constraint system whose entailment relation models the transformation rules of APs. Moreover, we use processes in lcc to model the dependencies imposed by APs, thus allowing the faithful representation of their flow in the program. We verify relevant properties about AP programs by taking advantage of the interpretation of lcc processes as formulas in Girard's intuitionistic linear logic (ILL). Properties include deadlock detection, program correctness (whether programs adhere to their AP specifications or not), and the ability of methods to run concurrently. By relying on a focusing discipline for ILL, we provide a complexity measure for proofs of the above mentioned properties. The effectiveness of our verification techniques is demonstrated by implementing the Alcove tool that includes an animator and a verifier. The former executes the lcc model, observing the flow of APs and quickly finding inconsistencies of the APs vis-a-vis the implementation. The latter is an automatic theorem prover based on ILL. This paper is under consideration for publication in Theory and Practice of Logic Programming (TPLP).
Recommendations
Cites work
- A type system for borrowing permissions
- Decision problems for propositional linear logic
- scientific article; zbMATH DE number 1728233 (Why is no real title available?)
- scientific article; zbMATH DE number 1809625 (Why is no real title available?)
- scientific article; zbMATH DE number 1158760 (Why is no real title available?)
- scientific article; zbMATH DE number 2090840 (Why is no real title available?)
- Linear concurrent constraint programming: Operational and phase semantics
- Linear logic
- Logic Programming with Focusing Proofs in Linear Logic
- Models and emerging trends of concurrent constraint programming
- Observational equivalences for linear logic concurrent constraint languages
- On concurrent behaviors and focusing in linear logic
- On the complexity of linear authorization logics
- Truly concurrent constraint programming
Cited in
(9)- Access control in a core calculus of dependency
- Automatic inference of access permissions
- Access permission contracts for scripting languages
- A focused linear logical framework and its application to metatheory of object logics
- Hybrid linear logic, revisited
- Structural lock correlation with ownership types
- Dynamic Access Control in a Concurrent Object Calculus
- Alcove
- Permission to speak: a logic for access control and conformance
This page was built for publication: A concurrent constraint programming interpretation of access permissions
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4644356)