Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
Profiles:
![OWL EL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_EL.json)
![OWL QL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QL.json)
![OWL RL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_RL.json)
![OWL EL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_EL.json)
![OWL QL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QL.json)
![OWL RL Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_RL.json)

Model tests:
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_MODEL_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_MODEL_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_MODEL_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_MODEL_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_MODEL_MAJORFAIL.json)
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_MODEL_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_MODEL_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_MODEL_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_MODEL_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_MODEL_MAJORFAIL.json)

Data tests:
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_DATA_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_DATA_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_DATA_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_DATA_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_DATA_MAJORFAIL.json)
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_DATA_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_DATA_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_DATA_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_DATA_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_DATA_MAJORFAIL.json)

Query tests:
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QUERY_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QUERY_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QUERY_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QUERY_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/NicoRobertIn/c4128ff5fec462d83e2ae8a229917537/raw/heads_main_QUERY_MAJORFAIL.json)
![Pass Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QUERY_PASS.json)
![NotTested Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QUERY_NOTTESTED.json)
![CannotTell Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QUERY_CANNOTTELL.json)
![MinorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QUERY_MINORFAIL.json)
![MajorFail Badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/gnardin/c4128ff5fec462d83e2ae8a229917537/raw/heads_update-scenario-logistics-configure-organization_QUERY_MAJORFAIL.json)

# Hyperagent ontology git space
[HyperAgents](https://www.hyperagents.org/) is an ANR/SNF project working towards the deployment of world-wide hybrid communities of people and artificial agents on the Web. For this purpose, we are defining a new class of multi-agent systems (MAS) that are:
Expand Down
40 changes: 22 additions & 18 deletions domains/logistics/configure-organization/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,60 @@

## Description

The FL Logistics has a depot in Lyon and another in Saint-Étienne. Each depot has one _receiving_ and one _picking_ setting. Each _receiving_ setting has one forklift, one pallet jack, and one barcode reader. Each _picking_ setting has one forklift, one pallet jack, and one label printer. Only one employee can be associated with the usage of one setting, but the same employee can be associated with the usage of multiple settings.
The FL Logistics has a depot in Lyon and another in Saint-Étienne. Each depot has one _receive_ and one _pick_ setting.

Forklifts are capable of lifting up and lifting down materials on pallets to/from high shelves, as well as moving them from one location to another. Pallet jacks are capable of lifting up and lifting down materials on pallets placed on the floor and move them from one location to another. They both are used for loading and unloading trucks by moving materials in the _receiving_ and the _picking_ settings.
In the _receive_ setting, agents have access to equipment that can handle (i.e., lift and move) pallets and can read barcodes identifying the pallets' content.

The barcode reader is capable of reading barcodes identifying materials on a pallet. The label machine is capable of printing labels with barcode to identify the materials on a pallet.
In the _pick_ setting, agents have access to equipment that can handle (i.e., lift and move) pallets and print labels with barcode identifying the pallets' content.

Marie can use the forklift and pallet jack to unload trucks (i.e., lift pallets and move them in the _receiving_ setting) and the barcode reader to check the pallet content.
Forklifts are capable of lifting up and down pallets to/from high shelves, as well as moving them from one location to another. Pallet jacks are capable of lifting up and down pallets and move them from one location to another.

Nancy can use the forklift and pallet jack to load trucks (i.e., lift pallets and move them in the _picking_ setting) and the label printer to print the labels identifying the pallets content.
The barcode reader is capable of reading barcodes and the label machine is capable of printing labels with barcode.

Leo can use the forklift and pallet jack to unload trucks (i.e., lift pallets and move them in the _receiving_ setting) and load trucks (i.e., lift pallets and move them in the _picking_ setting), the barcode reader to check the pallet content, and the label printer to print the labels identifying the pallets content.
Each depot makes available one forklift, one pallet jack, and one barcode reader in the _receive_ setting, and one forklift, one pallet jack, and one label printer in the _pick_ setting.

Marie, a collector in Lyon, can use the Forklift 1 and Pallet Jack 1 to unload trucks and the Barcode Reader 1 to check the pallet's content.

Nancy, a deliverer in Lyon, can use the Forklift 2 and Pallet Jack 2 to load trucks and the Label Printer 1 to print the labels identifying the pallet's content.

Leo, a collector and deliverer in Saint-Étienne, can use the Forklift 3 and Pallet Jack 3 to load and unload trucks, the Barcode Reader 2 to check the pallet's content, and the Label Printer 2 to print the labels identifying the pallet's content.

## Competency questions

| ID | Question in Natural Language | Example |
|----|------------------------------|---------|
| q1 | What are the artifacts that an agent of the organization X can have in setting Y? | What are the artifacts that an agent of the FL Logistics can have in the _receiving_ setting? `ex:Barcode_Reader_1`, `ex:Barcode_Reader_2`, `ex:Forklift_1`, `ex:Forklift_2`, `ex:Forklift_3`, `ex:Forklift_4`, `ex:Palletjack_1`, `ex:Palletjack_2`, `ex:Palletjack_3`, `ex:Palletjack_4` |
| q2 | What are the settings of an organization X? | What are the settings of the FL Logistics? `ex:PickingSetting`, `ex:ReceivingSetting` |
| q3 | What are the facilities that the artifact X have? | What are the facilities that Forklift 1 have? `ex:LiftDown`, `ex:LiftUp`, `ex:Move` |
| q4 | What are the agents currently in the setting Y? | What are the agents currently in the _picking_ setting? `ex:Leo`, `ex:Nancy` |
| q1 | What are the artifacts that an agent of the organization X has access to in the setting Y? | What are the artifacts that an agent of the FL Logistics has access to in the _receive_ setting? `ex:Barcode_Reader_1`, `ex:Barcode_Reader_2`, `ex:Forklift_1`, `ex:Forklift_3`, `ex:Palletjack_1`, `ex:Palletjack_3` |
| q2 | What are the settings of an organization X? | What are the settings of the FL Logistics? `ex:PickSetting`, `ex:ReceiveSetting` |
| q3 | What are the facilities that the artifact X have? | What are the facilities that Forklift 1 has? `ex:LiftDown`, `ex:LiftUp`, `ex:Move` |
| q4 | What are the agents currently in the setting Y? | What are the agents currently in the _pick_ setting? `ex:Leo`, `ex:Nancy` |
| q5 | What are the facilities that artifact X has in each access? | What are the facilities that the Forklift 1 has in each access? `ex:FL_Lyon_Receive_Move_Access,ex:LiftDown`, `ex:FL_Lyon_Receive_Move_Access,ex:LiftUp`, `ex:FL_Lyon_Receive_Move_Access,ex:Move` |

## Glossary

![image](configure-organization.png)

* **Usage**: A set of Facilities that Agents can use in a Setting.
* **Access**: An opportunity an Agent have to use an Artifact in the context of a Usage.
* **Usage Constraint**: A constraint imposed on Usages, e.g., limiting the number of Agents participating in that Usage or the same Agent cannot be part of two Usages simultaneously.
* **Setting**: A Setting is the context in which a Usage is set.
* **Access**: An opportunity an Agent has to use Facilities of Artifacts in a Setting. Agents have access even if they never use these Facilities. One Access should not be understood as one 'use' of these Facilities.
* **Setting**: A Setting is the context in which an Access is set.
* **Facility**: see [Create an Organization](https://github.com/HyperAgents/ns.hyperagents.org/blob/master/domains/logistics/create-organization/README.md) scenario.
* **Organization**: see [Discover Organizations, their Members and Materials in Hypermedia Environments](https://github.com/HyperAgents/hmas/blob/master/domains/manufacturing-environments/discover-organization/README.md) scenario.
* **Agent**: see [Discover Organizations, their Members and Materials in Hypermedia Environments](https://github.com/HyperAgents/hmas/blob/master/domains/manufacturing-environments/discover-organization/README.md) scenario.
* **Artifact**: see [Discover Organizations, their Members and Materials in Hypermedia Environments](https://github.com/HyperAgents/hmas/blob/master/domains/manufacturing-environments/discover-organization/README.md) scenario.

## Recommendations

* The Access Constraint is represented as a SHACL shape instead of an RDF triple. For example, the SHACL shape constraining that the artifacts in an access have all facilities that are also facilities of a usage.
* The Access Constraint is represented as a SHACL shape instead of an RDF triple. For example, the SHACL shape constraining that the facilities referenced in the access are jointly provided by all the artifacts associated to that access.

```
ex:AccessFacilitiesShape a sh:NodeShape ;
sh:targetClass hmas:Access ;
sh:sparql [
a sh:SPARQLConstraint ;
sh:message "The artifacts should have all the facilities specified in the usage." ;
sh:message "The artifacts associated to an access should jointly have all the facilities associated to that access." ;
sh:prefixes ex:, hmas:, rdfs: ;
sh:select """
SELECT (?access as $this)
WHERE {
?access hmas:isAccessFor ?usage .
?usage hmas:isUsageOf ?facility .
?access hmas:isAccessFor ?facility .

FILTER NOT EXISTS {
?access hmas:isAccessTo ?artifact .
Expand Down
Loading
Loading