1      Definition

Data representing a Contract expressed in a language or executed by a Program that is activated by an external entity, e.g., a User, or another activated Contract.

2      Functional Requirements

  • The Data of a Contract has a format enabling it to be executed in the target M-Instance.
  • A Contract may be subject to certification before it can be imported into an M-Instance.
  • Certification may be carried out by or on behalf of the M-Instance Manager.

3      Syntax


4      Semantics

Label Size Description
Header N1 Bytes Contract header
·       Standard 9 Bytes The characters “MMM-CTR-V”
·       Version N2 Bytes Major version – 1 or 2 Bytes
·       Dot-separator 1 Byte The character “.”
·       Subversion N3 Bytes Minor version – 1 or 2 Bytes
M-InstanceID N4 Bytes Identifier of M-Instance.
ContractID N5 Bytes Identifier of Contract.
ContractData N6 Bytes The set of Contract Data
·       ContractFormatID N7 Bytes ID of Contract Format.
·       ContractLength N8 Bytes Number of Bytes composing the Contract.
·       ContractDataURI N9 Bytes Where ContractData is found.
DescrMetadata N10 Bytes Descriptive Metadata

5        Data Formats

MPAI expects that MMM Contracts, whether they are expressed by a contract expression language or executed in a programming language, may also be developed by independent entities and carry a Contract-specific Contract FormatID. Reference to the future Data Types, Formats, and Attributes will be used as the basis for a Register of Contract Data Formats.

6        Request to Respondents

Respondents are requested to:

  1. Comment on the Functional Requirements and JSON Syntax and Semantics of Contract.
  2. Comment on the role of future Data Types, Formats, and Attributes as support for a Register of Contract Data Formats.
  3. Suggest how such a Register should be operated.
  4. Propose an initial list of Contract Formats.