Dataflow Analysis in Reo Probabilistic Graph Transformation Dataflow Analysis in Reo 1 & Probabilistic Graph Transformation 2 Christian Krause Fachgebiet Systemanalyse und Modellierung Hasso Plattner Institut (HPI), Universit¨ at Potsdam 1 with N. Kokash & E.P . de Vink 2 with H. Giese Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 1 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Outline Dataflow Analysis in Reo Probabilistic Graph Transformation Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 1 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Outline Dataflow Analysis in Reo Probabilistic Graph Transformation Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 1 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Reo Overview • Reo is a formal channel-based coordination language with an Eclipse-based toolset (ECT) developed at the CWI Amsterdam. Figure : Formalization of business process models in Reo Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 2 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Channel-Based Coordination with Reo • Channels are primitive components that have exactly two ends . • Two types of ends: source ends and sink ends . • Channels define constraints for the dataflow at their ends. Figure : Common channels in Reo. • Ends are joint together to form source , sink or mixed nodes . • Source nodes behave as replicators , sink nodes as mergers . • Node and channels together form connectors . Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 3 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Constraint Automata: A Formal Semantics for Reo Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 4 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation • mCRL2 is a behavioral specification language and toolset. • Based on process algebra ACP extended with data, time. Idea • Analyze dataflow in Reo connectors by encoding them into mCRL2 and applying model checking . Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 5 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation • mCRL2 is a behavioral specification language and toolset. • Based on process algebra ACP extended with data, time. Idea • Analyze dataflow in Reo connectors by encoding them into mCRL2 and applying model checking . Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 5 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation mCRL2 Encoding of Reo – In a Nutshell Sync = sum d:Data.A(d)|B(d).Sync; LossySync = sum d:Data.(A(d)+A(d)|B(d)).LossySync; SyncDrain = sum d1,d2:Data.A(d1)|B(d2).SyncDrain; AsyncDrain = sum d:Data.(A(d)+B(d)).AsyncDrain; sort DataFIFO1 = struct empty?isEmpty | full(item:Data)?isFull; FIFO1(f:DataFIFO1) = sum d:Data. (isEmpty(f)->A(d).FIFO1(full(d)) <> B(item(f)).FIFO1(empty)); Filter = sum d:Data.(expr(d)->A(d)|B(d)<>A(d)).Filter Transform = sum d:Data.(A(d)|B(expr(d))).Transform . . . Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 6 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Results & Conclusions • Encoding is formally shown to be correct and compositional . • Tooling: generating mCRL2 code from graphical Reo model. • Support for data- and context-denpendencies , and time . • Automatic verification of liveness, safety and security properties. Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 7 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Outline Dataflow Analysis in Reo Probabilistic Graph Transformation Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 7 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Motivation Graph Transformation Systems (GTSs). . . • . . . are a visual formalism for modeling and analyzing structural and functional aspects of, e.g., distributed and mobile systems. Probabilistic Behavior. . . • . . . is needed to quantify the likelihood of random events , e.g., message losses in unreliable media. • . . . in the form of randomization is used for protocol design , e.g.: • randomized distributed algorithms: randomized leader election protocol, randomized Byzantine agreement protocol • communication and multimedia protocols: Bluetooth device discovery, IEEE 802.11 Wireless LAN, IPv4 Zeroconf protocol Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 8 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Motivation Graph Transformation Systems (GTSs). . . • . . . are a visual formalism for modeling and analyzing structural and functional aspects of, e.g., distributed and mobile systems. Probabilistic Behavior. . . • . . . is needed to quantify the likelihood of random events , e.g., message losses in unreliable media. • . . . in the form of randomization is used for protocol design , e.g.: • randomized distributed algorithms: randomized leader election protocol, randomized Byzantine agreement protocol • communication and multimedia protocols: Bluetooth device discovery, IEEE 802.11 Wireless LAN, IPv4 Zeroconf protocol Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 8 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Motivation Our Goal • Extend the graph transformation theory with probabilistic behavior ⇒ Probabilistic Graph Transformation Systems . • Combination of probabilistic and nondeterministic behavior required. Example: Probabilistic Broadcasting in Wireless Sensor Networks (WSNs) • Gossiping protocol : every node decides with a given probability whether it forwards a received message to its neighbors or not. • Assumption: decision whether to forward a message is probabilistic; the order of the message sending is nondeterministic. Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 9 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Motivation Our Goal • Extend the graph transformation theory with probabilistic behavior ⇒ Probabilistic Graph Transformation Systems . • Combination of probabilistic and nondeterministic behavior required. Example: Probabilistic Broadcasting in Wireless Sensor Networks (WSNs) • Gossiping protocol : every node decides with a given probability whether it forwards a received message to its neighbors or not. • Assumption: decision whether to forward a message is probabilistic; the order of the message sending is nondeterministic. Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 9 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Probabilistic vs. Nondeterministic Behavior Probabilistic Behavior • Discrete probabilistic choices to quantify random and unlikely behavior, e.g., the chance of a message loss. Nondeterministic Behavior • Nondeterministic behavior in the case of incomplete knowledge, e.g., to ensure implementation freedom. Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 10 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Probabilistic vs. Nondeterministic Behavior Probabilistic Behavior • Discrete probabilistic choices to quantify random and unlikely behavior, e.g., the chance of a message loss. ⇒ predictable average or long-run behavior Nondeterministic Behavior • Nondeterministic behavior in the case of incomplete knowledge, e.g., to ensure implementation freedom. ⇒ completely unpredictable behavior Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 10 of 16
Dataflow Analysis in Reo Probabilistic Graph Transformation Probabilistic vs. Nondeterministic Behavior Probabilistic Behavior • Discrete probabilistic choices to quantify random and unlikely behavior, e.g., the chance of a message loss. ⇒ predictable average or long-run behavior ⇒ calculate probabilities & expected values Nondeterministic Behavior • Nondeterministic behavior in the case of incomplete knowledge, e.g., to ensure implementation freedom. ⇒ completely unpredictable behavior ⇒ worst case vs. best case scenarios Christian Krause: Dataflow Analysis in Reo & Probabilistic Graph Transformation Slide 10 of 16
Recommend
More recommend