HyperAgents / hmas

An ontology to describe Hypermedia Multi-Agent Systems, interactions, and organizations.
https://purl.org/hmas/
1 stars 0 forks source link

hmas:hasHomeWorkspace, hmas:hasHomePlatform.. Why ? #19

Closed DrLeturc closed 2 years ago

DrLeturc commented 2 years ago

hmas:hasHomeWorkspace vs hmas:hasHomePlatform ? Why do we need these properties ?

What is the definition of "isHomeOf" ? What is the purpose of this property?

:isHomeOf a owl:AsymmetricProperty ; rdfs:subPropertyOf :containsAgent ; rdfs:domain :Workspace ; rdfs:range :Agent ; rdfs:label "is home of"@en .

DrLeturc commented 2 years ago

I tried to imagine a short scenario to see if it may be relevant to consider hasHomeWorkspace. I asked myself about the idea of digital twins. Is A digital twin necessary distinct from the real agent ? If yes, then a relation can be used to map digital twins from agents and hasHomeWorkspace can specify where is the real space in which the agent is contained.

A motivating scenario to justify the use of hasHomeWorkspace

A factory produces new polymeres. A security device constraint human agents to not directly use chemical products but use a platform, and a VR workspace :VRWorkspace to fully control remotely chemical products for training or simulating effects of products and :FactoryRoom which is the workspace where real chemical products and real tools are contained.

Each product has a set of rules to be applied. Certain products must not be mixed, as this could cause explosions, or some products should not be inhaled. Tools also have rules of application that users must follow.

:ChristAgent is contained in :homeRoomWorkspace. They are hosted by the platform :VRMetaRealityPlatform :ChristAgent has as a :homeWorkspace :homeRoomWorkspace since :ChrisAgent is located in this environment. The digital twins themselves (HumanAgents and Artifacts) are contained in :VRWorkspace environments. Tools and chemical products have :FactoryRoom as :homeWorkspace .

(:homeWorkspace could make sense in the case we do not want to make any distinction between human agents and their digital twins) Is the digital twin distinct from the real agent here ? Is :ChristAgent also contained in :VRWorkspace? :homeWorkspace could be used to provide the possibility for making such differences between agents and digital twins.

Another option is to consider separately agents and digital twins and add a relation that defines such association ?

The twin agent :ChrisTwinAgent of :ChrisAgent in :VRWorkspace would be a copy of :ChrisAgent. It may be not relevant and we may postulate that digital twins since they are a copy, they are the agent itself. Furthermore since the instance :ChrisAgent of :Agent, is a resource that describes the real agent Christ in the real world, it seems that it makes no sense to duplicate agents and digital twins. We work only with kinds of digital twins.

To provide a clarification between the real workspace of :ChrisAgent and his digital twins, a property :hasHomeWorkspace could be used. :ChrisAgent would be also contained in :VRWorkspace but which would not be his homeWorkspace.

[idea for Roles / Goals / Groups : :ChrisAgent belongs to the :ChemicalTEAMMICS team whose role is to create new, less polluting polymers. :ChrisAgent is a postdoc whose mission is to perform a battery of tests on different components. ]

An attempt to model such scenario

Quick sum up of what has been said by considering that twin agents and real agents are the same :

:VRMetaRealityPlatform a hmas:Platform :VRMetaRealityPlatform hmas:hosts :homeWorkspace, :VRWorkspace, :FactoryRoom. :homeWorkspace a hmas:Workspace . :VRWorkspace a hmas:Workspace . :FactoryRoom a hmas:Workspace .

:ChrisAgent a hmas:Agent . :ChrisAgent hmas:hasHomeWorkspace :homeWorkspace .

Then it should implied that :homeWorkspace hmas:contains :ChrisAgent

Would it make sense to consider that "hosts" makes a dissociation between what is really contained in the environment and what is not? like e.g. ... ? contains or hosts to describe that :ChrisAgent is in the :VRWorkspace ?

:VRWorkspace hmas:contains :ChrisAgent

:toolX a hmas:Artifact . :VRWorkspace hmas:contains :toolX . :FactoryRoom hmas:hasHomeWorkspace :toolX .

:FactoryRoom hmas:hosts :ChrisAgent .

andreiciortea commented 2 years ago

@DrLeturc to add some additional input for these concepts:

The properties :hasHomePlatform and :hasHomeWorkspace were introduced in the core vocabulary while developing a hypermedia extension for JADE, which is the main implementation of the FIPA standards.

I think the concepts are necessary from an engineering MAS perspective to manage the lifecycles of artificial agents. Now the question is: do we really need to represent explicitly the home platform and the home workspace of an agent in a Hypermedia MAS?

One use case I would see could be related to regulation/governance: if I encounter an agent, I might want to determine what is the home platform of that agent and who, essentially, has control over the lifecycle of the agent. We could also derive such knowledge using hosting relations, e.g.:

:bob :hasHomeWorkspace :workspace1 . :workspace 1 :hostedBy :platform1 . => :platform1 is the HAP of :bob

So I think there are many alternatives to represent this knowledge.

cc @FabienGandon @maximelefrancois86 @danaivach for input

[1] Alessandro Ricci, Andrei Ciortea, Simon Mayer, Olivier Boissier, Rafael H. Bordini, and Jomi Fred Hubner. 2019. Engineering Scalable Distributed Environments and Organizations for MAS. In Proceedings of the 18th International Conference on Autonomous Agents and MultiAgent Systems (AAMAS '19). International Foundation for Autonomous Agents and Multiagent Systems, Richland, SC, 790–798. https://www.alexandria.unisg.ch/256719/1/aamas_2019_jacamo_dist.pdf

DrLeturc commented 2 years ago

Several past issues have been treated here : https://github.com/HyperAgents/ns.hyperagents.org/issues/10

A conclusion of this previous issue was that a homeWorkspace may be not unique by considering that the relation :isHomeOf is defined on the relation :contains which should be a transitive relation (between a workspace and its subworkspaces).

https://github.com/HyperAgents/ns.hyperagents.org/issues/12

The conclusion of this issue is that agent may belongs to several homeWorkspace at the same time referring the motivating scenario I gave here and by considering that hmas:contains is a transitive property between included workspaces.

I agree with these definitions. Do we need it ? I guess so. I think it is an important concept of MAS.

FabienGandon commented 2 years ago

just to be sure I follow you when I read:

The concept of "home workspace" appears, for instance, in [1]. E.g., in Section 3.1: "Agents are spawned (or enter a MAS) in a specific workspace (their home), which typically does not change during their lifetime within that MAS, except in the case of mobile agents. Once a MAS is entered, an agent can work concurrently in multiple workspaces of the MAS by simply joining them."

I just want to understand if this translates to:

:agent123 hmas:hasHomeWorkspace :workspaceA, :workspaceB, :workspaceC .

or to

:agent123 hmas:hasHomeWorkspace :workspaceA ;
                hmas:hasWorkspace :workspaceB, :workspaceC .

i.e. is there a difference between a "home workspace" and a "workspace joined in addition / concurrently"

and also at the level of hmas: should we have such differences or should we leave them to specific extensions such has fipa: ???

andreiciortea commented 2 years ago

@FabienGandon in my understanding, the "home workspace" concept would fit the second example (one home workspace, possibly multiple other workspaces). I've just cross-referenced this definition with "Chapter 5: The Environment Dimension" (page 64) in:

O. Boissier, R.H. Bordini, J. Hubner, and A. Ricci. Multi-agent Oriented Programming: Programming Multi-agent Systems using JaCaMo. MIT Press. (unfortunately, I only have a physical copy of the book)

and also at the level of hmas: should we have such differences or should we leave them to specific extensions such has fipa: ???

I'm not convinced we need these concepts in the core vocab. One use case I see ATM for representing what is the "home platform" of an agent could be related to regulation/governance: if I encounter an agent, I might want to determine who, essentially, has control over the lifecycle of the agent. But we can already represent this with hmas:isHostedBy:

:agent123 hmas:isHostedBy :PlatofrmA .

Same goes for artifacts.

maximelefrancois86 commented 2 years ago

I agree that the Core vocabulary could be simplified if we delete the concepts of home workspace and home platform.

:contains and :hosts are sufficient for most basic use

FabienGandon commented 2 years ago

It seems this issue could be closed unless I missed something. It does contain a scenario that may be should be moved with the other scenarios if it still makes sense.