Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

possible unification of machine and protocol #46

Open
rkuhn opened this issue May 6, 2023 · 1 comment
Open

possible unification of machine and protocol #46

rkuhn opened this issue May 6, 2023 · 1 comment

Comments

@rkuhn
Copy link
Member

rkuhn commented May 6, 2023

Well-formed machines are projections of a swarm protocol whose transition structure depends only on the event types, not on the concrete event properties. This means that a machine could also be presented as tracking a swarm protocol from the perspective of a given role, yielding

  1. a state name
  2. the sequence of events accepted so far
  3. the commands currently enabled

Without tracking the state’s properties, invoking a command would involve retrieving necessary information from the sequence of accepted events and constructing the new events using that information. In this scenario, a swarm protocol could be deployed as a running AQL query, even across Actyx nodes, as a piece of logic that is evaluated outside the application’s programming language.


It would in this case be helpful to also persist and disseminate the schema for each event type in this protocol, so that Actyx can reject invalid command invocations. Together with the swarm protocol and role subscriptions this would form a complete, shareable package, referenced by CID.

@Kelerchian
Copy link
Contributor

Is this issue talking about an API to build a swarm protocol and the machine protocols in a single pass?

What is CID? And what is this shareable package?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants