Motivation Distributed Reo Behaviour agreement Conclusions Towards Distributed Reo José Proença Centrum voor Wiskunde en Informatica CIC, 2007 J. Proença (CWI) Towards Distributed Reo CIC, 2007 1 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Outline Motivation 1 Distributed Reo Model 2 Behaviour agreement 3 Conclusions 4 J. Proença (CWI) Towards Distributed Reo CIC, 2007 2 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Outline Motivation 1 Distributed Reo Model 2 Behaviour agreement 3 Conclusions 4 J. Proença (CWI) Towards Distributed Reo CIC, 2007 3 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Motivation Coordination: How to implement it? Distributed Coordination Where to run it? J. Proença (CWI) Towards Distributed Reo CIC, 2007 4 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Motivation Coordination: How to implement it? Distributed Coordination Where to run it? J. Proença (CWI) Towards Distributed Reo CIC, 2007 4 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Motivation Coordination: How to implement it? Distributed Coordination Where to run it? J. Proença (CWI) Towards Distributed Reo CIC, 2007 4 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer Deployment Resolver Local Optimization Instantiator Kernel J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer Use of tools, such as a GUI Deployment Resolver Local Optimization Instantiator Kernel J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer c d Deployment Resolver c c Unspecified locations are re- solved. Constraints and poli- c b cies need to be considered. Local Optimization c a Instantiator Kernel J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer c d c Deployment Resolver c c Local Optimization b Plugins: CA CC CSP c a Instantiator x Kernel J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer c d Deployment Resolver c c Local Optimization c b x Instantiator Creation of primitives a c Kernel J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Architecture Designer c d Deployment Resolver c c Local Optimization c b x Instantiator Kernel a c Execution of the engine J. Proença (CWI) Towards Distributed Reo CIC, 2007 5 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Outline Motivation 1 Distributed Reo Model 2 Behaviour agreement 3 Conclusions 4 J. Proença (CWI) Towards Distributed Reo CIC, 2007 6 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Distributed Reo Distributed: deals with partial knowledge. Primitive (coordinator) Node Implemention: Scala language Integrates features of object-oriented and functional languages; Fully interoperable with Java; Actor model for communication. J. Proença (CWI) Towards Distributed Reo CIC, 2007 7 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Distributed Reo Distributed: deals with partial knowledge. Primitive (coordinator) Node Implemention: Scala language Integrates features of object-oriented and functional languages; Fully interoperable with Java; Actor model for communication. J. Proença (CWI) Towards Distributed Reo CIC, 2007 7 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Distributed Reo Primitives and nodes Can be seen as a particular Each port has a location . case of a primitive that: Must react to some messages: has no state; Request Behabiour can be distributed; Reply Behaviour propagates synchronous Refuse (reason) constraints. Give Behaviour & Request/Give Data Reply Data J. Proença (CWI) Towards Distributed Reo CIC, 2007 8 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Distributed Reo Primitives and nodes Can be seen as a particular Each port has a location . case of a primitive that: Must react to some messages: has no state; Request Behabiour can be distributed; Reply Behaviour propagates synchronous Refuse (reason) constraints. Give Behaviour & Request/Give Data Reply Data J. Proença (CWI) Towards Distributed Reo CIC, 2007 8 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Behaviour What is it? What each primitive can do Which end points can flow data, Example: and relation between data Connector Colouring flowing in the end points. Colouring tables provide the behaviour of each Join of behaviours primitive; Given the behaviour of two Join of colouring tables is primitives, the behaviour of the defined. composition of both can also be obtained. J. Proença (CWI) Towards Distributed Reo CIC, 2007 9 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Behaviour What is it? What each primitive can do Which end points can flow data, Example: and relation between data Connector Colouring flowing in the end points. Colouring tables provide the behaviour of each Join of behaviours primitive; Given the behaviour of two Join of colouring tables is primitives, the behaviour of the defined. composition of both can also be obtained. J. Proença (CWI) Towards Distributed Reo CIC, 2007 9 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Outline Motivation 1 Distributed Reo Model 2 Behaviour agreement 3 Conclusions 4 J. Proença (CWI) Towards Distributed Reo CIC, 2007 10 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Locations are not relevant; Assume partial knowledge (know only neighbours); Two phase algorithm: Negotiation and Communication. J. Proença (CWI) Towards Distributed Reo CIC, 2007 11 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Locations are not relevant; Assume partial knowledge (know only neighbours); Two phase algorithm: Negotiation and Communication. J. Proença (CWI) Towards Distributed Reo CIC, 2007 11 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Basic case J. Proença (CWI) Towards Distributed Reo CIC, 2007 12 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Basic case J. Proença (CWI) Towards Distributed Reo CIC, 2007 12 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Basic case J. Proença (CWI) Towards Distributed Reo CIC, 2007 12 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Basic case J. Proença (CWI) Towards Distributed Reo CIC, 2007 12 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Commit to a behaviour Multiple starting points > > J. Proença (CWI) Towards Distributed Reo CIC, 2007 13 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Outline Motivation 1 Distributed Reo Model 2 Behaviour agreement 3 Conclusions 4 J. Proença (CWI) Towards Distributed Reo CIC, 2007 14 / 15
Motivation Distributed Reo Behaviour agreement Conclusions Conclusions Common architecture to include design and implementation; Implementation platform, where each (distributed) element knows only about its own neighbours; Resolve synchrony constraints (imposed by Reo) using asynchronous messages; The kernel supports messages for other purposes: Fail/Abort; Suspend – to allow reconfiguration. . . . How to determine the rank of the inititiators ? A primitive(s) can be obtained from other coordination models other than Reo ( e.g. , Orc); Allow unification of more coordination models; J. Proença (CWI) Towards Distributed Reo CIC, 2007 15 / 15
Recommend
More recommend