You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by Guillaume Vauvert <gv...@gmail.com> on 2021/03/09 22:45:22 UTC

[Statefun] Interaction Protocol for Statefun

Hi Statefun folk,


Now that we have a powerful framework to manage stateful functions, a part
of the algorithmic complexity has moved on the interaction between
functions side. But implementing an interaction protocol is complex and
error prone, so that could be great to provide an official/supported
library of classical interaction protocol, like (in distributed algorithm)
consensus, election, broadcast, auctions ...

A protocol could define a set of roles, each role implementing the
interaction with other roles, and letting the dev to implement the function
decision part. For example, in an auction protocol, the role "bidder"
manages the interaction with the auctioneer and "ask" the dev to implement
the functions onItemForSale, onNewBidMade and onWinnerSelected.


The next step could be to allow to define any interaction protocol using a
formal specification language, and compile the specification into Statefun.
But that's a long term goal. I found multiple approaches and languages,
more or less expressive/powerful/complex, but I have not started to compare
them.


Have you heard about such work/approach ? Is there an ongoing work in this
direction for Statefun ? What do you think about the proposition itself ?


Thanks !

--

Guillaume Vauvert