| 1 Definition | 2 Protocol | 3 Syntax | 4 Semantics |
1 Definition
The protocol enabling:
- A Process requesting that a Resolution Service set up a multi-M-Instance session (Session) involving two Processes in two M-Instances.
- A Process or Resolution Service responding to and forwarding a multi-M-Instance Session request.
2 Protocol
- UserA produces and sends “Resolve PA RequestA1 including M-InstanceB ID, UserBID, and Rights (Status=Model)” to ResolveA Service.
- ResolveA Service produces and sends “Resolve PA ResponseA1“
- If “Resolve PA ResponseA1 includes Err”, goto End.
- If “Resolve PA ResponseA1 includes Ack”
- If ResolveA Service is a free service, goto ResolveA.
- If ResolveA Service is a pay service and “Resolve PA ResponseA1 includes Service Pricing ModelA1 (Status=Model) with TransactionA1 (Status=Model)”, UserA
- Produces “TransactionA2 (Status=Final) of Value included in TransactionA1 (Status=Model)” and Transacts.
- Produces Service Pricing ModelA2 (Status=Model) including TransactionA2 (Status=Final).
- Produces and sends “Resolve PA RequestA2 including Service Pricing ModelA2 (Status=Model) with TransactionA2 (Status=Final)” to ResolveA Service.
- ResolveA Service produces “Resolve PA ResponseA2“.
- If “Resolve PA ResponseA2 includes Err”, ResolveA Service sends “Resolve PA ResponseA2“, goto End.
- Resolve1
- ResolveA produces and sends “Resolve PA RequestA3 including M-InstanceB ID, UserBID, and Rights (Status=Model)” to ResolveB
- ResolveB Service produces and sends “Resolve PA ResponseA3“
- If “Resolve PA ResponseA3 includes Err”, goto End.
- If “Resolve PA ResponseA1 includes Ack”
- If ResolveB Service is a free service, goto Resolve2.
- If ResolveB Service is a pay service and “Resolve PA ResponseA3 includes Service Pricing ModelA3 (Status=Model) with TransactionA3 (Status=Model)”, ResolveA Service
- Produces “TransactionA4 (Status=Final) of Value included in TransactionA3 (Status=Model)” and Transacts.
- Produces Service Pricing ModelA4 (Status=Model) including TransactionA4 (Status=Final).
- Produces and sends “Resolve PA RequestA4 including Service Pricing ModelA4 (Status=Model) with TransactionA4 (Status=Final)” to ResolveA Service.
- ResolveB Service produces “Resolve PA RequestA4“.
- If “Resolve PA ResponseA4 includes Err”, ResolveB Service sends “Resolve PA RequestA4“, goto End
- Resolve2
- ResolveB produces and sends “Resolve PA RequestB1” to UserB.
- UserB Produces and sends “Resolve PA ResponseB1” to ResolveB
- If “Resolve PA ResponseB1“.
- If “Resolve PA RequestB2” includes Err, goto End.
- ResolveB Service
- Produces “Resolve PA ResponseA4“.
- Sends “Resolve PA ResponseA4” to ResolveA
- ResolveA Service
- Produces “Resolve PA ResponseA2“.
- Sends “Resolve PA ResponseA2” to UserA.
- End
The protocol described using Workflow Description Language (WDL) is available at this link:
https://schemas.mpai.community/MMM4/V2.2/wdl/ResolvePA.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/ResolvePA.json
4 Semantics
| Label | Description |
| Header | Resolve Process Action Header – Standard “USP-RSP-Vx.y” |
| MInstanceID | Identifier of M-Instance. |
| UEnvironmentID | Identifier of U-Environment. |
| ResolvePAID | Identifier of this MM-SendPA Instance. |
| ResolvePATime | Creation time of this MM-SendPA Instance |
| ResolvePAData | Data included in the MM-Send Process Action. |
| – Time | Time of PA Request emission and Time of PA Request execution. Time of PA Response emission. |
| – S-Complements | Source Complements. |
| – Nil Resolution | Resolution Request. |
| – To ServiceID | ID of the Resolution Service. |
| – With SPM | Service Pricing Model, if Resolve is a pay service |
| – D-Complements | Destination Complements. |
| – Nil Resolution | Resolution Response. |
| – With SPM | Service Pricing Model, if Resolve is a pay service |
| – With PAStatus | Possible Error Messages. |
| – Ack | If PA Request could be performed. |
| – Err | If PA Request could not be performed. |
| – 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. |