230 likes | 372 Views
Accessing Shared Resources with Concurrent Constraint Programming. Stefano Bistarelli 1 and Francesco Santini 2. 1 Dipartimento di Matematica e Informatica , University of Perugia, Italy 2 Centrum Wiskunde & Informatica , Amsterdam, Netherlands. Motivations.
E N D
Accessing Shared Resources with Concurrent Constraint Programming Stefano Bistarelli1 and Francesco Santini2 1Dipartimento di Matematica e Informatica, University of Perugia, Italy 2Centrum Wiskunde & Informatica, Amsterdam, Netherlands
Motivations • A language for agent coordination • With control on the actions they perform (Access Control Lists) • Guaranteeing security properties (integrity and confidentiality) • Based on (soft) constraints: a semiring-based framework • Resources are represented through constraints with a quantitative label: e.g., cost/preference • Fine-grained level of security: each agent has different rights • We extend (nonmonotonic) sccp [BS FundInf 2011] • Possibility for agents to interact adding and checking resource status, but also removing and modifiying resources
The basic idea ACL-like rights constraints softness non-monotonicity concurrency Expressed as soft constraints a well!
ACL constraints • An ACL is a list of permissions attached to an object • it specifies active entities (agents), passive entities (objects), and the allowed operations over them • Our ACL constraints • when an agent A1 adds a piece of information to the store (tell c), it specifies also the confidentiality and integrity rights on that constraint, for each agent Ai participating to the protected computation. • How much of c the agent A2 can add to the store (tell), • how much of c the agent A2 can remove from the store (retract), and • how much of c the agent A2 can query with an ask operation (ask). • e.g. “Peter may not eat more than 10% of the birthday cake”. integrity confi.ality
Outline • The background frameworks • Semirings and soft constraints [BMR JACM97] • Concurrent constraints [Saraswat POPL87] • Soft concurrent constraints [BMR TOCL2006] • Nonmonotonic soft cc [BS FundInf2011] • ACL constraints and formal semantics of the language • An example • Conclusions and related works
C-semirings [BMR JACM97] • A c-semiring is a tuple • A is the (possibly infinite) set of preference values • 0 and 1 represent the bottom and top preference values • + defines a partial order ( ≥S ) over A such that a ≥S b iff a+b = a • + is commutative, associative, and idempotent, it is closed, 0 is its unit element and 1 is its absorbing element • closed, associative, commutative, and distributes over +, 1 is its unit element and 0 is its absorbing element • is a complete lattice to compose the preferences and + to find the best one
Classical instantiations • Weighted • Fuzzy • Probabilistic • Boolean • Boolean semirings can be used to represent classical crisp problems • The Cartesian product is still a semiring
Soft Constraints • Aconstraint where each instantiation of its variables has an associated preference • Assignment • Constraint • Sum: • Combination: • Projection: • Entailment:
Examples <a,a> 11 <a,b> 7 <b,a> 16 <b,b> 16 We can consider an α-consistency of the solutions
Concurrent CP [Saraswat POPL87] Success: σ |-c true Success: σ∪{c} cons Fail: σ∪{c} incons Fail: σ |- c false A1 Wait: else A2 Tell c Ask c (X=3 y=5) (X=2 y=7) X=4 X=3 σ y=4 (X=6 y=1) Crisp tokens of information
Soft CCP: The idea [BMR TOCL06] Success: σ|- c, σ is -cons Sucess: σ∪{c} -cons Fail: σ∪{c} -cons Fail: σ is -cons Wait: else Tell c Ask c A1 A2 (X=3 y=5) .3 (X=2 y=7) .5 X=4 .7 X=3 .1 σ y=4 .4 (X=6 y=1) .2 <S Every action is labeled with a threshold α The selection of threshold α influences the computation (to refine the solutions)
The secure Nonmon. SCCP • Nonmonotonic operations!!! • [BS FundInf2011] Rights!!! [BS SEFM2012] Retract (soft) Retract (crisp) c c2 ask(c) tell tell retract retract c1 σ nask(c) Soft store Crisp store
Rights as circles c A1: tell(c) A2 tell rights ask rights retract rights c has to entail added rights
The matrix of rights • ACL are (object identity, user identity) -> permitted operationst • Rights are defined when information is added: • When agent A1 adds c to the store, it adds also the different rights for all the n agents in the computation to a matrix-like structure • 3 kinds of rights: tell, ask, retract, Rights for new added constraints are composed with the former ones:
Operational semantics Tell and retract rights are consumed!
An RGB monitor • E.g., to display of colors on a CRT, LCD or LED displays such as a television or a computer’s monitor • Each pixel on the screen is built by driving three small and very close but still separated RGB light sources. • Each pixel can be represented in the computer memory or interface hardware as binary values for the red, green, and blue color components.
Our protected computation σ= least privilege Ø
Conclusion • The example can be extended to Gold, Silver and Bronze classes of traffic on QoS networks • QoS enforced at an aggregated level (i.e., per class) • Adding security on actions is novel for constraint-based languages (but not for Linda-related ones) • Rights are described as soft constraints as information • Compact and elegant • The same model stands also for crisp constraint languages • Future W.: prototype with CHR / mobile / other sec. models
Thank you for your time! Contacts: F.Santini@cwi.nl