Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)

Similar presentations


Presentation on theme: "1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)"— Presentation transcript:

1 1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna) and Rocco De Nicola, Rosario Pugliese (Firenze) Algoritmi e Modelli per Global Computing: Due Contributi in collaboration with

2 2 Outline l Transactions, contracts, negotiations, decisions, agreements, choices –distributed two-phase commit protocol –extension of JOIN calculus l Reasoning on programmable Quality of Software –soft constraints

3 3 Three Papers l Bruni, R., Laneve, C and Montanari, U., Orchestrating Transactions in Join Calculus, in: Lubos Brim, Petr Jancar, Mojmır Kretınsky and Antonın Kucera, Eds., CONCUR 2002 - Concurrency Theory, Springer LNCS 2421, pp. 321-337. l Bruni, R., Melgratti, H. and Montanari, U., Nested Committs for Mobile Calculi: Extending JOIN, manuscript. l De Nicola, R., Ferrari, G., Montanari, U., Pugliese, R. and Tuosto, E., A Formal Basis for Reasoning on Programmable QoS, in: Nachum Dershowitz, Ed., Verification--Theory and Practice, Springer LNCS, to appear.

4 4 Distributed 2PC l The distributed 2PC is a variant of the decentralized 2PC with a finite but unknown number of participants –When a participant P is ready to commit it has only a partial knowledge of the whole set of participants »Only those who directly cooperated with P –To commit, P must contact all its neighbors and learn the identity of other participants from them

5 5 Committed JOIN: Our Focus l In commercial applications, separately designed and implemented components must interact –commit (intermediate) results of long-running activities upon (partial) agreements –e.g. e-commerce, on-line auction systems l Formal models should –avoid ad-hoc proprietary solutions –offer alternatives to centralized transaction managers –hide the coordination layer (separation of concerns)

6 6 Our Proposal l committed JOIN –PDL presentation –Non ACID –Multiway –Open Nesting –Flexible –Split / Join –Programmable commit / abort / compensation –Concurrency and distribution –Distributed 2PC –Different levels of abstraction

7 7 Encoding of cJOIN in JOIN l Aim: –Define an implementation of cJOIN in JOIN »Associate to every cJOIN process a JOIN process that simulates its behavior l Ideas: –Identification of basic forms for definitions –Definition of a type system to single out canonical processes –Reuse controllers of the D2PC protocol

8 8 KLAIM, I l Experimental language for programming distributed systems: l Nets are set of nodes l Agents can roam through nodes and access nodes, also remotely l Components explicitly refer/control the spatial structures of the net l Communication model extends Linda's generative communication (multiple distributed tuple spaces) l Localities are first-class citizens: they can be –dynamically created –and communicated over the network

9 9 KLAIM, II l JAVA implementation [DDP02] see http://music.dsi.unifi.it/klaim.html l Many extensions & Formal Tools –OPENKLAIM: explicit connections among nodes [BLP02] –HOTKLAIM: Higher-Order Typed Klaim exploiting system F [FMP02] –O'KLAIM: Object Oriented KLAIM [BBV02] –muKLAIM: A modal logic for Klaim [DL02,Lor02] l In collaboration Firenze-Pisa: Bettini, De Nicola, Ferrari, Loreti, Moggi, Pugliesi, Venneri

10 10 Structure of Costs Algebra of costs: constraint semiring  A, +, ×, 0, 1  is c-semiring a if A is a set (0, 1  A) + and × are binary operations on A s.t. 1. + is commutative, associative, idempotent, 0 is its unit element and 1 is its absorbing element; 2. × is commutative, associative, distributes over +, 1 is its unit element, and 0 is its absorbing element

11 11 Constraint Programming with C-Semirings Several existing algorithms can be extended to c-semirings Constraint Logic Programming (CLP(X)) can be extended to c- semirings Cartesian product of c-semirings is a c-semiring (it is not the case for booleans) Functional domains, power domains preserve the c-semiring structure and allow for the same logic, algorithms Example: multicriteria shortest path optimization (useful for high QoS networking) needs a powerdomain on top of a cartesian product. Then Bellman-Ford or Warshall-Floyd can be used. Concurrent constraint programming for network aware programming

12 12 An Example: geographical distance capabilities price of the connection

13 13 Graphs for the Example Initial matrix of the Floyd-Warshall algorithm Edges for sites Edges for connection s


Download ppt "1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)"

Similar presentations


Ads by Google