Contracts are social phenomena whose life-cycle is structured by symbolic events. Yet, contrary to parties whose identity must be anchored to physical or organizational contexts, contracts are notional entities whose identification can be fully managed within the symbolic realm. This apparent simplification is usually offset by the sheer complexity of variants and extensions, often associated with references to actual agents, objects, and/or activities.
Apart from parties, patterns for contracts must deal with purposes and modus operandi:
- Purposes describe what contracts are about and parties contributions to their achievement.
- Modus operandi set the context (e.g jurisdiction) and rules to be applied.
As for parties, the objective is to express business constraints and rules in terms of representation patterns.
Given contract requirements one should first identify all relevant partitions and associated criteria, and introduce corresponding power-types. For example instances of power-types may provide the parameters, constraints and rules to be applied depending to:
- Parties involved (non exclusive): persons, government or business organizations.
- Purpose (non exclusive): specific subsets, e.g weapons, perishable goods, etc.
- Formalities (exclusive): rights and commitments of parties.
The next step is to fence out partitions associated with specific features and define subtypes accordingly. In the example:
- Different rights and commitments (formalities) call for specific contract descriptions (e.g barter).
- The nature of parties (e.g military organizations) is also meant to require ad hoc addenda to contracts.
Finally, constraints may be specified between instance (identity or features) or subsets:
- Identification: parties are uniquely identified either by persons or organizations.
- Subsets: contracts whose purpose include weapons must have a government organization as a party.
- Features: contracts involving military organizations must have as a party a government organization with special authorization. Moreover they must be regulated by special jurisdictions.
Whereas an abstract class may be introduced for party roles (e.g customers/suppliers), it should not be directly associated with contracts or accounts because roles are usually multiple and overlapping.