Export to GitHub

europa-pso - issue #142

Support limit and capacity profiles for Resources


Posted on Oct 5, 2011 by Happy Ox

Currently only a single upper & lower bound limit can be specified for resources. It would be more useful to allow for a limit profile to be specified (so that the user can specify upper/lower limit bounds to change over time), common use cases: - Initial Conditions reported by telemetry - Vacation/sick time for crew members - Downtime/repair time for machines.

This entails at least the following steps: - Modify the resource API to allow the user to specify a limit profile - Modify the resource data structures to keep track of the limit profile - Modify Flaw and Violation detectors to use the limit profile instead of a single value

Comment #1

Posted on Oct 6, 2011 by Happy Ox

From Paul:

The Initial Conditions reported by telemetry use case is very important. In fact, we may need to some capability like this to digest a faulty execution episode and do replanning. In the AES project, we will be trying to integrate a diagnostic system with a planning system such as SPIFE/Europa.

However, I'm not sure specifying upper & lower bound limits captures this. What is needed is a reset of the state or available amount of resource at specific fixed times.

Comment #2

Posted on Oct 6, 2011 by Happy Ox

the nddl/C++ API that I intend to put in place is something like this:

setLimit(resource,t,newLimitUb,newLimitLb);

that resets the limitUb/Lb starting at time t until the next specified limit (or until +inf if no other limit bounds are specified). The user can call setLimit as many times as necessary to fully specify the limit profile, only piecewise constant profiles will be supported initially.

Paul, if that doesn't seem to address your needs, let's discuss.

Comment #3

Posted on Oct 12, 2011 by Happy Ox

(No comment was entered for this change.)

Comment #4

Posted on May 30, 2012 by Happy Ox

(No comment was entered for this change.)

Status: Accepted

Labels:
Type-Enhancement Priority-High Milestone-EUROPA-2.7