Bird’s-Eye View of the System Setup

To implement a software system that executes a contract using DCM, the following steps are followed:

  1. Write a formal description of the contract—either as text files in the DCM format or as diagrams. These artifacts represent the “source code” of the contract.

  2. Feed these artifacts into the DCM compiler, which performs extensive inference and generates an internal representation of the contract.
    This includes all information required to instantiate a new contract, as well as a complete action plan for each party involved—defining what each party must do to fulfill its role.
    This step succeeds only if the contract description is consistent and executable. If the description is incomplete or contains conflicting actions, it will fail to compile.

  3. Each party receives the relevant portion of the contract, including a script for playing its role.
    In real-world scenarios, any contract typically depends on the existence of other contracts, each involving only a subset of participants from the main contract.
    For example, in a TRADE contract, the BUYER may have a CUSTODY contract set up with its CUSTODIAN, which the SELLER does not need to know about, since it is not a participant in that custody agreement. As a result, each party ends up with its own relevant set of contracts that define its role—what it must “perform on stage.”

  4. Non-DCM systems can participate in contract execution via existing communication protocols such as SWIFT or FIX.
    A mapping must exist between these protocols and the DCM system.
    For instance, a DCM system communicating with a traditional system via SWIFT will interpret the content of SWIFT messages in DCM terms, and vice versa.
    In the TRADE example, certain actions in DCM correspond directly to settlement instructions and pre-advice SWIFT messages—so DCM actions of the info pane can be mapped one-to-one with such protocol messages.

Note that any real-world system will include many interlinked contracts, meaning that a given party’s action script is compiled as a superposition of multiple contracts.