Skip to content

Commit

Permalink
57 common entities in a data space (#59)
Browse files Browse the repository at this point in the history
* Adding prelimmary figure and source

Adding entities and realtionship of dataspaces as png and draw.io source

* Linking the entity model to the Communication Guide

* Add Catalog section to the CommunicationGuide

* Add Catalog section to the CommunicationGuide

Co-authored-by: Sebastian Bader <[email protected]>
Co-authored-by: Anil Turkmayali <[email protected]>
  • Loading branch information
3 people authored Nov 10, 2022
1 parent d42f16e commit 44c777c
Show file tree
Hide file tree
Showing 9 changed files with 67 additions and 4 deletions.
69 changes: 65 additions & 4 deletions Communication/CommunicationGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ The foundation package contains elements that commonly used. This includes stand

The common information model that is used in every other package. This shall include a base model containing the entities of a data space and their relation.

**Insert entity model after update.**
![Entities and relationships in data spaces](./images/Communicatoin-Guide_Dataspace_entities.png)

(find the source file of the image above [here](./images/CommunicatoinGuide_Dataspace_entities.drawio))

The realization bases on DCAT for the Data Products and ODRL for Contract Policies.

Expand Down Expand Up @@ -91,9 +93,68 @@ API binding:

## Catalog (Publish and query meta-data) ##

messages and data types:
protocols: state machines for message flows and interaction patterns:
API binding:
The catalog in the IDS is a collection of Self-Descriptions, either of IDS Connectors or IDS Resources published by such IDS Connectors. The Self-Descriptions are the first-class-citizen in the catalogs, therefore all messages have the Self-Descriptions as their target, instead of the catalogs containing them.

### Messages and Datatypes

The messages, expected content, and the error behaviour are described in the [Functions and Correlated Messages](../Components/MetaDataBroker/FunctionsAndCorrelatedMessages/) section of the Metadata Broker.

### Interaction Sequences
<!--state machines for message flows and interaction patterns:-->
Creating and manipulating catalog entries follows different state transitions depending wether Connector or Resource self-descriptions are concerned.

#### Register and Update a Connector Self-Description

An IDS Connector self-description is either unknown to a catalog (`initial state`), registered (`ConnectorRegistered`), temporarily inactive (`ConnectorInactive`), or deleted from the catalog (`end state`) as shown in Fig. C1. An inactive self-description is intended for Connectors, which are currently not reachable but intend to become active again in the dataspace. A Connector which self-description has been deleted before (aka. has reached the `end state`) must never come back with the same URI identifier. This is to prevent *false-flag operations* where evil players claim the identity of removed Connectors.

![catalog-connector-interaction](./images/catalog-connector-interaction.png)

___Figure C1: State transitions of Connector self-descriptions in a catalog.___


#### Retrieve a Connector Self-Description

Fig. C2 shows the diagram how to request a Connector self-description entry from a catalog. The DescriptionRequestMessage contains a reference to the target Connector self-discription identifier, defining which catalog entry shall be returned. There is no intermediate state so the operation is either successful or fails, for instance, due to a non-existing entry or an incorrectly formatted message.

![catalog-request-connector-interaction](./images/catalog-request-connector-interaction.png)

___Figure C2: Requesting a Connector self-description has no further states apart of the standard success or error cases.___


#### Register and Update a Resource Self-Description

An IDS Resource is either unknown to a catalog (`initial state`), registered (`ResourceRegistered`), temporarily inactive (`ResourceInactive`), or deleted from the catalog (`end state`) as shown in Fig. C3. It may be automatically created if a Connector self-description is added or extended (ConnectorUpdateMessage) and its self-description also contains Resource entries. A Resource self-description becomes inactive - and active again - if its parent Connector catalog entry becomes inactive or active. Similarily, a Resource self-description gets deleted automatically if the containing Connector gets deleted through a ConnectorUnavailableMessage.

![catalog-resource-interaction](./images/catalog-resource-interaction.png)

___Figure C3: State transitions of Connector self-descriptions in a catalog.___

#### Rerieve a Resource Self-Description

Fig. C4 shows the diagram how to request a Resource entry from a catalog, similar to the operation for a Connector self-description. The DescriptionRequestMessage contains a reference to the target Resource self-discription identifier, defining which catalog entry shall be returned. There is no intermediate state so the operation is either successful or fails, for instance, due to a non-existing entry or an incorrectly formatted message.

![catalog-request-resource-interaction](./images/catalog-request-resource-interaction.png)

___Figure C4: Requesting a Resource self-description has no further states apart of the standard success or error cases.___


#### Query a Catalog

Fig. C5 shows the diagram how to send a formulated query a catalog. Different to the retrieval of Connector or Resource self-description entries, the return format is not predefined but depends on the query. The QueryMessage contains formulated query string in a standardized query language, for instance, SPARQL or the upcoming GQL. There is no intermediate state so the operation is either successful or fails, for instance, if the query language is not supported by the catalog hoster or the query itself contains syntax errors.

![catalog-query-interaction](./images/catalog-query-interaction.png)

___Figure C5: Sending a catalog query has no further states apart of the standard success or error cases.___



### API Bindings

The API Operations of catalogs in the different protocol bindings are explained in the respective protocol sections:
* [IDS REST](./protocols/ids-rest/README.md#complex-operations-and-workflows)
* [IDS Multipart](./protocols/multipart/README.md#41-metadata-broker-communication)
* [idscp2](./protocols/idscp2/ApplicationLayer/README.md)


## Registration ##

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-09-28T14:42:20.955Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.2.3 Chrome/102.0.5005.167 Electron/19.0.11 Safari/537.36" etag="U7kG9Idm1cZhgek13ARs" version="20.2.3" type="device" pages="2"><diagram id="lEZNrIV8uJd-Gv8Xd2Xl" name="Page-1">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</diagram><diagram id="vTMzfxPWVrCx73YYkXPr" name="Page-2">1VpbU+M2FP41mYEHGNmOHfIIgW13pkyZ0tmyTx1hK7Z2bSuV5UD663t08yXaBW/KIngB6+h2dL5zlTKLVtXjLxxvimuWkXIWouxxFl3OwjBA0Rn8k5SdpiTzpSbknGZmUE+4pf8SO9NQW5qRZjRQMFYKuhkTU1bXJBUjGuacPYyHrVk53nWDc+IQblNcutS/aCYKTT2LUU//ldC8sDsHyPRU2A42hKbAGXsYkKKrWbTijAn9VT2uSCmFZ+Wi5334Tm/HGCe1mDIBBfjq96/477ss+SP59Om6oBdfTswqW1y25sAVruFMjeFZ7KwgSAZyMU3GRcFyVuPyqqde9NTfGNvAsACIX4gQOwMrbgUDUiGq0vSSRyru4BudhrFpfh50XUo1QraxM4205VuSmWGaT8ncd8ViSA1reUqekEVk1AvznIgnxs078EDrCauI4DuYx0mJBd2O+cBG/fJuXI8QfBiQfgCw0AGsbcgBYI2E+L+QOwsWQ+hO0fxJ9GTjhnAK4iDc0moQzZ1dWTY+q6Vj2+yXUi271guCP58Ivl7QF/qRg/4lFhgotxsMxwvReQtIcip2jkpw1tZZh/hDQQXRk6LLB3DdY3TNNoQL8vi0aF1JmAmx9Xs769BN+6F3o4EdUwxcaIJ+kvDm3xReoyXnW1rLsbTCyLe0YjcykOoeTDZEbO3V4QwjBXra11i/grz5leV7CCqJg/WKgUBYeUga8HJA/0BO0CN9Gi/HYKNw8QzcqrUfkzzoQBD7VIKFowSQy5Mcdma1RzUIhtbeq8TzajDSgrdn8BHyCfaZAzZtmvagtP/nAD0Z5/C9Am0i/wkcYRT6T2yYn6wJZu0bRuEM/RC2XjfA2b6qdCwcrj1LR3tuMBc0pRusODhiPD/2nlOFezlV5D0DtZcaA8FxktMGog5Y3geo5N6fAXrLrIJ4ogH6LdkCt2IHrV5Tr1Cj08X03MoHZsHSK2ZunQ2YUd+gHZYJeQqP06FeeIXarXPHsew8JzqmrfQNM+P+I1uwF9nmc++RzS0hvSeUL3FTsHjNgLaYajFe68TALRQ/ZnBYdemIbjjb0kxeE/nO/sYmEifeTeQN1lzoAAMZV9bBK9rH+7hHCdzqaMWJshAsJ3+UoIN9JCWc4aKBMDNCP/mnlS+CFykrGZ9F55Lv/B4fgVoCP2jv37ESMVqzWpyscUXLnZ5SsZrpm+2+v1HaIHvR5lHTwbzECS5pXuuOBmQrVJdlA75y/T/ef+WNQSiSqp4wu5YVUqzEBJRL+S0tLZZiiUG2z40NurFWTw5aJuyX0Vh0PYN7fztCA9CNsN5KEiQ7I48licpnSbqyqn7YYE/tvaacquvqDtRrbSw9WjcyCnoJoN3grMmArl1cv/pAatbVdZ3DeWAKHT0fMLAvb9XshD4kjlXBjHN0Rms+GJdWfqtgngNGhOJxxIh9Rwx7hm+/WCF9dcD9P/Ul8V6sDb1Lzs3qz/WRBpl9qjwvb+XfqpU/KZEeAGGZ8DenoJe4krKq75uNdoRKbe+51Vh3xYzJaI5qaQSo96Fqi96hIrUvNnWFNDr0QDp+CrxVXHTxitVNQcHXqGc31BC+pQr+TZdpwYKZ3F0/BVv6qcvxnwWVu+GyYVKCdVq2meJYFHLFmkiPB8GCq9BQYy2H72oXel671rQsVzqSwdxovV6HaSrDnuDsKxn0ZMl9EicvVB7tPz0vJ+pjsPhpCunWR982ZUR7PKyKKOA1yTz323nYPve/R5jOgjfnNtwU3fOd7PjOZzHxzmfvZzThKxax9ncLbzxJD90k/f3e8A1uKV65JJuMttfrXMvl8I6PQ/SDsC1/4YCOirZSsdcEvrSoaYrLYzeAXuvk2UT4e+26S7LV4d8ETuWoU1ZVrVxGP5/LqCwY1HTek7V4z+tGZ1ODI/pxtzszJcHg9bEvBqKr/wA=</diagram></mxfile>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions Communication/images/connector-broker-interactions.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-10-05T09:48:25.115Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.3.0 Chrome/104.0.5112.114 Electron/20.1.3 Safari/537.36" etag="OUOpVtiJGjQKd2w9b19g" version="20.3.0" type="device" pages="2"><diagram name="ConnectorBrokerInteraction" id="2a216829-ef6e-dabb-86c1-c78162f3ba2b">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</diagram><diagram id="RhAZ5QIKt5OZwXBmDdVH" name="Page-2">dZHBDoMgDIafhrvCou7s3Lzs5GFnIp2QoDXIotvTT4PMEbcT5ev/U9oSlrfTxfBeXlGAJjQSE2EnQmkcxdl8LOTpSJIeHGiMEqtoA5V6gXeu9KEEDIHQImqr+hDW2HVQ24BxY3AMZXfUYdWeN7ADVc31nt6UsNLRjKYbL0E10leOk6PLtNyL104GyQWOX4gVhOUG0bqonXLQy/D8XJzv/Cf7+ZiBzv4wzMH29nwJNsSKNw==</diagram></mxfile>

0 comments on commit 44c777c

Please sign in to comment.