Bruce’s comments in
http://tools.oasis-open.org/issues/browse/EMIX-293 have encouraged me to develop a generic performance constraints collection, that can be applied to a resource offering or to a contract. Performance constraints define the maximum or minimum times that a resource can be invoked. They are all of the format count/duration. They can be stacked in any way that makes sense to the participants (For example, one could apply the MaximumCalls type three times to the same resource: You may call on this resource no more than once every 30 minutes, no more than twice in any 6 hour period, and no more than 4 times per day) or is allowed by market rules. I think Performance Constraints are not part of the Resource Description: the same resource could be offered to the market with different constraints for different prices… (If you are going to turn me off more than once a week, you had better dig deep…). Performance constraints may be tied to non-equipment issues, such as maximum interruptions of business process associated with the underlying request. I think Performance Constraints are not part of EMIX Terms, because EMIX Terms are at the heart of Warrants, and Transport, and I think they apply to neither. This means that I think that it belongs on the outside of the envelope. I think constraints are also used in EI as part of the registration communication. <!-- 8.8 Performance Constraints --> < xs:element name =" performanceConstraints " type =" PerformanceConstraintType "> < xs:complexType name =" PerformanceConstraintsType "> < xs:annotation > < xs:documentation > Performance constraints describe temporal constraints that determine how a resource is able to provide a service, or to provide a resources repeatedly.It is possible for a given underlying resource to be offered to the market with different constraints and therefor different values. </ xs:documentation > </ xs:annotation > < xs:sequence > < xs:element ref =" emix:baseConstraint " maxOccurs =" unbounded "/> </ xs:sequence > </ xs:complexType > <!-- 8.9 Constraint Types --> < xs:element name =" maximumCalls " type =" emix:MaximumCallsType "/> < xs:complexType name =" MaximumCallsType " mixed =" false "> < xs:annotation > < xs:documentation > The resource will only accept a given number of requests for performance during a given interval </ xs:documentation > </ xs:annotation > < xs:complexContent mixed =" false "> < xs:extension base =" emix:BaseConstraintType "/> </ xs:complexContent > </ xs:complexType > < xs:element name =" maximumConsecutiveDurationsType " type =" emix:MaximumConsecutiveDurationsType "/> < xs:complexType name =" MaximumConsecutiveDurationsType " mixed =" false "> < xs:annotation > < xs:documentation > The resource will only accept requests for performance during a given number of consecutive intervals, i.e., it will not accept requests on more than 3 consecutive days. </ xs:documentation > </ xs:annotation > < xs:complexContent mixed =" false "> < xs:extension base =" emix:BaseConstraintType "/> </ xs:complexContent > </ xs:complexType > < xs:element name =" maximumDuration " type =" emix:MaximumDurationType "/> < xs:complexType name =" MaximumDurationType " mixed =" false "> < xs:annotation > < xs:documentation > The longest Duration for which the resource will accept a request. </ xs:documentation > </ xs:annotation > < xs:complexContent mixed =" false "> < xs:extension base =" emix:BaseConstraintType "/> </ xs:complexContent > </ xs:complexType > < xs:element name =" maximumRequests " type =" emix:MaximumRequestsType "/> < xs:complexType name =" MaximumRequestsType " mixed =" false "> < xs:annotation > < xs:documentation > The most Requests that the resource will accept during any duration. </ xs:documentation > </ xs:annotation > < xs:complexContent mixed =" false "> < xs:extension base =" emix:BaseConstraintType "/> </ xs:complexContent > </ xs:complexType > < xs:element name =" minimumRequests " type =" emix:MinimumRequestsType "/> < xs:complexType name =" MinimumRequestsType " mixed =" false "> < xs:annotation > < xs:documentation > The fewest Requests that the resource will accept during any duration. This constraint is typically used in makrket rather than in resource descriptions. </ xs:documentation > </ xs:annotation > < xs:complexContent mixed =" false "> < xs:extension base =" emix:BaseConstraintType "/> </ xs:complexContent > </ xs:complexType > < xs:element name =" baseConstraint " type =" emix:BaseConstraintType "/> < xs:complexType name =" BaseConstraintType "> < xs:all > < xs:element name =" duration " type =" xcal:DurationPropType "/> < xs:element name =" count " type =" xs:integer "/> </ xs:all > </ xs:complexType > “It is difficult to get a man to understand something, when his salary depends upon his not understanding it” -- Upton Sinclair. Toby Considine TC9, Inc OASIS Technical Advisory Board TC Chair: oBIX & WS-Calendar TC Editor: EMIX, EnergyInterop U.S. National Inst. of Standards and Tech. Smart Grid Architecture Committee Email:
Toby.Considine@gmail.com Phone: (919)619-2104
http://www.tcnine.com/ blog:
www.NewDaedalus.com