jacamo-lang / jacamo

This project aims to promote the MultiAgent Oriented Programming (MAOP) approach by providing a suitable integration of tools and languages for programming agents, their environment and organisation.
https://jacamo-lang.github.io
GNU Lesser General Public License v3.0
77 stars 32 forks source link

namespaces are not working when the belief comes from CArtAgO defineObsProperty method #23

Closed cleberjamaral closed 6 years ago

cleberjamaral commented 6 years ago

When invoked, for example, defineObsProperty("topic::element", 0), Jason actually creates a belief as "topic::element(0)" instead of a namespace "topic" with "element(0)" belief.

cleberjamaral commented 6 years ago

Here an example: introduceyourself[...]. expertise(vivt4)[...]. lastquotation(37.68)[...]. stock::datequotation("29 Oct. 2018 17:09")[...]. stock::lastquotation(37.68)[...]. stock::sourcequotation("uol")[...]. focused(main,stockbot3[...],cobj_3)[...]. focused(main,telegrambot3[...],cobj_2)[...].

stock:: expertise(vivt4)[...]. threshold(43.00)[...].

telegram:: chatIdTelegram("-274694619")[...]. expertMenu(["IntroduceYourself","Quotation","SetExpertise","SetThreshold","RecreateArtifact"])[...].

jomifred commented 6 years ago

It shouldn't work. Namespaces are concepts for the agent dimension. Different agents can focus on the same artefact and place its obs. props. in different namespaces.

to define the namespace for some artefact, the focus operation can be prefixed with the namespace

home::focus(ArtId)