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

Idea: Map feature toggle mechanism to agent framework #66

Open
twilker opened this issue Sep 3, 2020 · 1 comment
Open

Idea: Map feature toggle mechanism to agent framework #66

twilker opened this issue Sep 3, 2020 · 1 comment
Labels
enhancement New feature or request

Comments

@twilker
Copy link
Contributor

twilker commented Sep 3, 2020

The Problem
Currently it is necessary to use different libraries for feature toggles. It would be nice to have them in the agent framework build-in. This would also enable more complex scenarios.

The Solution
Add a new attribute to each agent contained in that feature.
[Feature(typeof(MyAwesomeFeature))]
Features are by them self messages.
public class MyAwesomeFeature: FeatureMessage
In order to activate a feature, send the feature message anytime during the runtime. This would allow to dynamically activate(maybe even deactivate) features during runtime.
Consider that it needs to integrate with FeatureToggle frameworks.

Possible Alternatives
Use an external feature toggle framework. This would not allow for runtime feature activation.

@twilker twilker added the enhancement New feature or request label Sep 3, 2020
@twilker
Copy link
Contributor Author

twilker commented Sep 3, 2020

Awesome feature to write a scientific paper for it with the following scenario:
Imagine a machine which produces something. After the machine is done a message is sent to a worker, so that he can transport manually the produced item to a destination.
Now the manufacturer invests in transportation drones which automatically transports the produced item to the destination.
In order to install the system all that needs to be done is to activate the drones. They will send a FeatureMessage - DroneTransport. When this feature is active an interceptor agent inside the machine stops the machine from sending the message to a worker and instead sends a message to the drone system. This installation can be done anytime even when the machine is still producing. There is need to stop the machine or even to change something inside the machine.

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

No branches or pull requests

1 participant