JaKtA: BDI Agent-Oriented Programming in Pure Kotlin

   page       BibTeX_logo.png   
Vadim Malvone, Aniello Murano (eds.)
Proceedings of the 20th European Conference on Multi-Agents Systems, pages 49–65
Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)
Springer, Cham
September 2023

Multi-paradigm languages are becoming more and more popular, as they allow developers to choose the most suitable paradigm for each task. Most commonly, we observe the combination of object-oriented (OOP) and functional programming (FP), however, in principle, other paradigms could be hybridised. In this paper, we present JaKtA, an internal DSL adding support for the definition of belief-desire-intention (BDI) agents in Kotlin. We believe is a first step to investigate the blending of Agent-Oriented Programming (AOP) with other popular paradigms and we discuss the opportunity and value of doing so with an internal DSLs. Finally, through JaKtA, we show how this can already lead to compactly and expressively create BDI agents that smoothly interoperate with the host language, its libraries and tooling.

keywordsBDI, AgentSpeak(L), DSL, Kotlin, JaKtA
origin event