Blending BDI agents with object-oriented and functional programming with JaKtA

   page       BibTeX_logo.png       attach   
SN Computer Science
2024

The popularity of multi-paradigm languages is on the rise, enabling developers to select the most appropriate paradigm for each task. While object-oriented (OOP) and functional programming (FP) are commonly combined, other paradigms can also be hybridized. This paper introduces JaKtA, an internal Domain-Specific Language (DSL) designed to support the definition of BDI agents in Kotlin. Our work represents an initial exploration into blending Agent-Oriented Programming (AOP) with other prevalent paradigms, emphasizing the potential benefits of using internal DSLs. We demonstrate, through JaKtA, how this approach facilitates the creation of compact and expressive Belief-Desire-Intention (BDI) agents that seamlessly integrate with the host language, its libraries, and tooling.

keywordsBDI, AgentSpeak(L), DSL, Kotlin, JaKtA
origin event
journal or series
book SN Computer Science (SNCS)
funding project
wrenchFAIR-PE01-SP08 — Future AI Research – Partenariato Esteso sull'Intelligenza Artificiale – Spoke 8 “Pervasive AI” (01/01/2023–31/12/2025)
works as
superseding publication for
page_white_acrobatJaKtA: BDI Agent-Oriented Programming in Pure Kotlin (paper in proceedings, 2023) — Martina Baiardi, Samuele Burattini, Giovanni Ciatto, Danilo Pianini