Edit this page

# Activities: Beginning of the planning engine

The ground work of the Strolch planning engine has been laid.

One of the core ideas in building Strolch was to create a planning engine. The planning engine would work in combination of `Order` objects representing customer orders, `Resource` objects representing machines, human resources, etc., and `Activity`/`Action` hierarchies defining a workflow.

With the latest couple of commits to Strolch we have now added Activities and a basic planning of Actions onto Resources. Activities have an ordered list of `IActivityElement` which allows creating an arbitrary deep tree structure of Activity and Action elements.

Action objects have a list of `IValueChange` objects which define the start, end and further value changes over time on a referenced Resource. Thus planning an Activity is done by iterating the Activity hierarchy and for every Action selecting a relevant Resource and then then applying the changes of the Action on to the referenced `TimeState` on the Resource.

This implementation is currently very simple as it ignores all constraints which a Resource might have. In further development we shall implement a `Violation` model so that UIs can be built to visualize the over-use of Resources.

In even further steps we would then start implementing algorithms to not just apply the changes onto a Resource, but to actually search the Resource for time slots when the value changes would not violate any constraints applied to the resource.

We are very much looking forward to these new features. Stay tuned for your updates - even though they do take their time to arrive =).