| 1 Definition | 2 Functional Requirements | 3 Syntax | 4 Semantics |
1 Definition
The Action of a Process requesting that an Execution Service:
- Execute a Program.
- Grant Rights to the Items produced by the Executed Program based on requested Rights.
If the request is accepted, the Execute Service executes the Program and sends the produced Items with embedded Rights (Status=Final).
2 Protocol
- If Execute Service is a free service:
- User produces and sends “Execute PA Request1” to Execute Service.
- Goto Execute.
- If Execute Service is a pay service,
- Process produces and sends “Execute PA Request1 including Service Pricing Model1 (Status=Model) with Rights1 (Status=Model)” to Execute Service.
- Execute Service produces and sends “Execute PA Response1 including Service Pricing Model2 (Status=Model) with Transaction1 (Status=Model)”:
- If “Execute PA Response1 includes Status=Err”, goto End
- If “Execute PA Response1 includes Status=Ack”, Process
- Produces “Transaction2 of Value included in Transaction1” and Transacts.
- Sends “Execute PA Request2 including Service Pricing Model3 (Status=Model) with Transaction2 (Status=Final)” to Execute Service.
- Execute: Execute Service
- Activates “Program”.
- Sends to Process:
- “Execute PA Response2 including Items and Rights1 (Status=Final)”.
- “Service Pricing Model4 (Status=Final)”, if Execute Service is a pay Service.
- End
The protocol described using Workflow Description Language (WDL) is available at this link:
https://schemas.mpai.community/MMM4/V2.2/wdl/ExecutePA.wdl
3 Syntax
The structure of the input and output messages, using JavaScript Object Notation (JSON) is available at this link:
https://schemas.mpai.community/MMM4/V2.2/actions/ExecutePA.json
4 Semantics
| Label | Description |
| Header | Execute Process Action Header – Standard “MMM-EXP-Vx.y” |
| MInstanceID | Identifier of M-Instance. |
| UEnvironmentID | Identifier of U-Environment. |
| ExecutePAID | Identifier of this PA Instance. |
| ExecutePATime | Creation time of this PA Instance. |
| ExecutePAData | Data included in this PA Instance. |
| – Time | Time of PA Request emission and Time of PA Request execution. Time of PA Response emission. |
| – RQ-Complements | Source Complements. |
| – Nil ProgramID | Program to be Executed. |
| – With ItemIDs | Items requested by Execute Program. |
| – With Rights | Requested Rights (Status=Model) to the Items produced by the Executed Program. |
| – At ProcessID |
Process holding Items resulting from Execution. |
| – With SPM | Service Pricing Model, if Execute is a pay service. |
| – RS-Complements | Destination Complements. |
| – Nil ItemIDs | Items produced by the Executed Program. |
| – With Rights | Rights (Status=Final) based on requested Rights if PA Request is accepted. |
| – With PAStatus | Possible Error Messages. |
| – Ack | If PA Request could be performed |
| – Err | If Error was found |
| – FaultyPA | Faulty PA Request. |
| – IncID | Incorrect ID. |
| – InsRights | Insufficient Rights. |
| – InsValue | Insufficient Value in Wallet. |
| DataXMData | Identity, provenance, authorised usage, source, type, governance context, security, legality, and annotation of exchanged data. |
| DescMetadata | Descriptive Metadata. |