You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 21, 2019. It is now read-only.
Dependencies for Automatons need to cover multistaging.
Let's just consider 2 stages. Static dependencies, and dynamic dependencies.
Static dependencies represent Automatons that are required to be live before the current Automaton is instantiated.
Dynamic dependencies represent Automatons that can be instantiated after the current Automaton is instantiated. If these dependencies aren't fulfilled, the current Automaton can be instantiated, but is not ready to accept requests from external sources.
Consider that most programs are structured in this way:
setup();
while True:
// listen of events
During setup(); is when the program may contact remote services. Any remote service here would be considered a static dependency.
Afterwards in its event loop, any remote service contacted here would be considered a dynamic service.
These 2 stages are just the most obvious. There's no need to only consider 2 stages, there can be even more stages of dependencies. Even some dependencies are only required if the code path hits a certain branch. This would cover things like optional dependencies. However since Automatons are blackboxes, we cannot introspect the branches that the code may take, so we just have to consider the dependencies that the Automaton requires before launching, and the dependencies that the Automaton requires before it can receive requests.
We can use some sort of prefix qualifier that qualifies the dependency as one or the other. Maybe there is a more extensible representation?
The text was updated successfully, but these errors were encountered:
@ramwan I'm assigning you this based on our discussions, this might have a strong relationship with Automaton composition. As you make progress on Relay and Network Combinators, we will have a better idea how to write the dependency specification.
Dependencies for Automatons need to cover multistaging.
Let's just consider 2 stages. Static dependencies, and dynamic dependencies.
Static dependencies represent Automatons that are required to be live before the current Automaton is instantiated.
Dynamic dependencies represent Automatons that can be instantiated after the current Automaton is instantiated. If these dependencies aren't fulfilled, the current Automaton can be instantiated, but is not ready to accept requests from external sources.
Consider that most programs are structured in this way:
During
setup();
is when the program may contact remote services. Any remote service here would be considered a static dependency.Afterwards in its event loop, any remote service contacted here would be considered a dynamic service.
These 2 stages are just the most obvious. There's no need to only consider 2 stages, there can be even more stages of dependencies. Even some dependencies are only required if the code path hits a certain branch. This would cover things like optional dependencies. However since Automatons are blackboxes, we cannot introspect the branches that the code may take, so we just have to consider the dependencies that the Automaton requires before launching, and the dependencies that the Automaton requires before it can receive requests.
We can use some sort of prefix qualifier that qualifies the dependency as one or the other. Maybe there is a more extensible representation?
The text was updated successfully, but these errors were encountered: