Closed gnardin closed 2 years ago
Some agents can use artifacts without having any goal? We are talking about goal only for "cognitive agents" ? I'm not sure if we can talk about goals for reactive agents that implements e.g. a subsumption architecture.
They just follow rules that make them use an artifact.
I would be more general as e.g. "A resource that agents can use. "
Related to #54
@gnardin @DrLeturc @FabienGandon note here that both "tool" and "design objective" carry weight in the definition. Sending below some comments, I will need more time to propose an updated definition that is less ambiguous and avoids the use of "tool" or "affordances".
Tools The artifact concept in the core vocab comes from the Agents & Artifacts (A&A) meta-model, which in turn was inspired by activity theory [1]. Activity theory is concerned with the use of tools as mediating artifacts that support human activities. So artifacts are not any type of resource, but they are specific types of resources that are "dynamically constructed, shared and used by agents to support their working activities". Most importantly, just like man-made tools, artifacts in A&A are first-class design and programming abstractions: they are designed and programmed by someone with the specific objective to help agents achieve their tasks.
"A resource that agents can use". This definition to me would be too broad: any information resource on the Web matches this definition.
"A resource that agents can use to achieve their design objectives". Still to broad. If we say that an artifact is a resource that exposes affordances to agents (as in the current definition), that narrows down the definition quite a bit.
Side note: resource is also overloaded. Here we use "resource" as defined in the Web community [2,3], but "resource" is also used in [1] to identify a subclass of artifacts. We are addressing multiple communities (incl. Web and MAS), so maybe we need to add a note somewhere?
Design Objectives
Some agents can use artifacts without having any goal? We are talking about goal only for "cognitive agents" ? I'm not sure if we can talk about goals for reactive agents that implements e.g. a subsumption architecture.
@DrLeturc note that the definition says "design objectives" for this purpose. Any artificial agent has a design objective (i.e., any artificial agent is designed by someone with an objective in mind), including reactive agents that implement a subsumption architecture. Then there are indeed types of agents, such as BDI agents, that have an explicit representation of their internal state in terms of mental states (such as goals/desires, beliefs, intentions).
References [1] Alessandro Ricci, Mirko Viroli, and Andrea Omicini. 2007. Give agents their artifacts: the A&A approach for engineering working environments in MAS. In Proceedings of the 6th international joint conference on Autonomous agents and multiagent systems (AAMAS '07). Association for Computing Machinery, New York, NY, USA, Article 150, 1–3. DOI:https://doi.org/10.1145/1329125.1329308
[2] https://www.w3.org/TR/webarch/
[3] Roy Thomas Fielding. 2000. Architectural styles and the design of network-based software architectures. Ph.D. Dissertation. University of California, Irvine.
Thank you Andrei. Your answer is really complete and clear. No objection. :)
"A resource that can be dynamically constructed, shared and used by agents to support their working activities and can be accessed via a hypermedia " ? The part in bold would correspond to our notion of "HyperArtifact" ?
For the part "to achieve their design objectives". I agree with you. For artificial agents, it makes no sense to consider agents that would not have design objectives. But we also consider human in our hMAS. So what is the design objectives of human agents ? Surviving and replicating ? :p I think personally, (but maybe i'm wrong) this part should be removed from the definition since we also consider human agents and I don't know exactly what is my design objective. :)
Agree : the previous definition is too broad.
MINES Saint-Etienne: we wait for a proposal, then.
@andreiciortia, you say: "If we say that an artifact is a resource that exposes affordances to agents (as in the current definition), that narrows down the definition quite a bit." seems to suggest that we should go for such a definition that uses "affordances". I agree that this provides a better level of precision than "A resource that agents can use to achieve their design objectives", but at the same time, I understood that you don't want to see the notion of "affordance", so it's not clear what you want.
The PR proposes a new definition for Artifact that takes into account this issue. Please give your vote.
@Antoine-Zimmermann that is, in fact, inaccurate: the request not to use "affordances" and other concepts that are not defined formally in the ontology came from MINES Saint-Étienne (see thread history). I am not against using the term affordance in natural language definitions — but I'm also ok to go without if we can avoid it.
@DrLeturc thanks for integrating my comments in the artifact definition. I've updated the proposed definition and approved the PR.
The definition of
Artifact
is"A resource (or tool) that exposes affordances to agents. Agents use artifacts to achieve their design objectives."
The term "resource" seems to include everything inclusive tools. Thus, there would not be the need to explicitly mention "(or tool) in the definition. Besides, the affordances is not defined in the ontology.
The suggestion is to replace the current
Artifact
definition by "A resource that agents can use to achieve their design objectives."