DemandDrivenProductionStrategy

class scml.scml2020.DemandDrivenProductionStrategy(*args, **kwargs)[source]

Bases: ProductionStrategy

A production strategy that produces ONLY when a contract is secured

Hooks Into:
  • on_contract_finalized

Remarks:
  • Attributes section describes the attributes that can be used to construct the component (passed to its __init__ method).

  • Provides section describes the attributes (methods, properties, data-members) made available by this component directly. Note that everything provided by the bases of this components are also available to the agent (Check the Bases section above for all the bases of this component).

  • Requires section describes any requirements from the agent using this component. It defines a set of methods or properties/data-members that must exist in the agent that uses this component. These requirement are usually implemented as abstract methods in the component

  • Abstract section describes abstract methods that MUST be implemented by any descendant of this component.

  • Hooks Into section describes the methods this component overrides calling super () which allows other components to hook into the same method (by overriding it). Usually callbacks starting with on_ are hooked into this way.

  • Overrides section describes the methods this component overrides without calling super effectively disallowing any other components after it in the MRO to call this method. Usually methods that do some action (i.e. not starting with on_) are overridden this way.

Methods Summary

can_be_produced(contract_id)

Returns True if the SELL contract given can be honored in principle given the production capacity of the agent (n.

on_contract_breached(contract, breaches, ...)

rtype:

None

on_contract_executed(contract)

rtype:

None

on_contracts_finalized(signed, cancelled, ...)

rtype:

None

Methods Documentation

can_be_produced(contract_id)

Returns True if the SELL contract given can be honored in principle given the production capacity of the agent (n. lines). It does not check for the availability of inputs or enough money to run the production process.

Remarks:

  • Cannot be called before calling on_contracts_finalized

on_contract_breached(contract, breaches, resolution)
Return type:

None

on_contract_executed(contract)
Return type:

None

on_contracts_finalized(signed, cancelled, rejectors)[source]
Return type:

None