Contract

class negmas.situated.Contract(agreement=NOTHING, partners=NOTHING, annotation=NOTHING, issues=NOTHING, signed_at=-1, executed_at=-1, concluded_at=-1, nullified_at=-1, to_be_signed_at=-1, signatures=NOTHING, mechanism_state=None, mechanism_id=None, id=NOTHING)[source]

Bases: object

A agreement definition which encapsulates an agreement with partners and extra information

Attributes Summary

agreement

The actual agreement of the negotiation in the form of an Outcome in the Issue space defined by issues

annotation

Misc.

concluded_at

The time-step at which the contract was concluded (but it is still not binding until signed)

executed_at

The time-step at which the contract was executed/breached

id

Object name

issues

Issues of the negotiations from which this agreement was concluded.

mechanism_id

The Id of the mechanism that led to this contract

mechanism_state

The mechanism state at the contract conclusion

nullified_at

The time-step at which the contract was nullified after being signed.

partners

The partners

signatures

A mapping from each agent to its signature

signed_at

The time-step at which the contract was signed

to_be_signed_at

The time-step at which the contract should be signed

Attributes Documentation

agreement: dict[str, Any]

The actual agreement of the negotiation in the form of an Outcome in the Issue space defined by issues

annotation: dict[str, Any]

Misc. information to be kept with the agreement.

concluded_at: int

The time-step at which the contract was concluded (but it is still not binding until signed)

executed_at: int

The time-step at which the contract was executed/breached

id: str

Object name

issues: tuple[Issue]

Issues of the negotiations from which this agreement was concluded. It may be empty

mechanism_id: str | None

The Id of the mechanism that led to this contract

mechanism_state: MechanismState | None

The mechanism state at the contract conclusion

nullified_at: int

The time-step at which the contract was nullified after being signed. That can happen if a partner declares bankruptcy

partners: tuple[str]

The partners

signatures: dict[str, str | None]

A mapping from each agent to its signature

signed_at: int

The time-step at which the contract was signed

to_be_signed_at: int

The time-step at which the contract should be signed