Cargando…

Modularization in Belief-Desire-Intention agent programming and artifact-based environments

This article proposes an extension for the Agents and Artifacts meta-model to enable modularization. We adopt the Belief-Desire-Intention (BDI) model of agency to represent independent and reusable units of code by means of modules. The key idea behind our proposal is to take advantage of the syntac...

Descripción completa

Detalles Bibliográficos
Autores principales: Ortiz-Hernández, Gustavo, Guerra-Hernández, Alejandro, Hübner, Jomi F., Luna-Ramírez, Wulfrano Arturo
Formato: Online Artículo Texto
Lenguaje:English
Publicado: PeerJ Inc. 2022
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9748826/
https://www.ncbi.nlm.nih.gov/pubmed/36532814
http://dx.doi.org/10.7717/peerj-cs.1162
Descripción
Sumario:This article proposes an extension for the Agents and Artifacts meta-model to enable modularization. We adopt the Belief-Desire-Intention (BDI) model of agency to represent independent and reusable units of code by means of modules. The key idea behind our proposal is to take advantage of the syntactic notion of namespace, i.e., a unique symbol identifier to organize a set of programming elements. On this basis, agents can decide in BDI terms which beliefs, goals, events, percepts and actions will be independently handled by a particular module. The practical feasibility of this approach is demonstrated by developing an auction scenario, where source code enhances scores of coupling, cohesion and complexity metrics, when compared against a non-modular version of the scenario. Our solution allows to address the name-collision issue, provides a use interface for modules that follows the information hiding principle, and promotes software engineering principles related to modularization such as reusability, extensibility and maintainability. Differently from others, our solution allows to encapsulate environment components into modules as it remains independent from a particular BDI agent-oriented programming language.