Agent-Oriented Visual Programming for the Web of Things
Samuele Burattini, Alessandro Ricci, Simon Mayer, Danai Vachtsevanou, Jeremy Lemee, Andrei Ciortea, Angelo Croatti
TL;DR
This work addresses enabling domain experts without programming expertise to design autonomous multi-agent systems within Web of Things environments. It introduces a blocks-based visual IDE built on JaCaMo that implements a BDI-inspired agent programming model and integrates WoT interactions, aiming to simplify agent programming for end users. The authors present a prototypical implementation, including a Blockly-based block language, a Thing Description repository, and a RESTful runtime wrapper around JaCaMo, plus WoT integration via artifacts and internal actions. An initial user study with 20 non-programmers shows the approach is usable (SUS 73.3) but highlights conceptual challenges around loops, belief reasoning, and WoT affordances, informing future refinements. Overall, the work demonstrates a viable path to end-user DEP (Domain-Expert Programming) for MAS in WoT settings and lays groundwork for broader AOSE integration and cognitive-user-oriented extensions.
Abstract
In this paper we introduce and discuss an approach for multi-agent-oriented visual programming. This aims at enabling individuals without programming experience but with knowledge in specific target domains to design and (re)configure autonomous software. We argue that, compared to procedural programming, it should be simpler for users to create programs when agent abstractions are employed. The underlying rationale is that these abstractions, and specifically the belief-desire-intention architecture that is aligned with human practical reasoning, match more closely with people's everyday experience in interacting with other agents and artifacts in the real world. On top of this, we designed and implemented a visual programming system for agents that hides the technicalities of agent-oriented programming using a blocks-based visual development environment that is built on the JaCaMo platform. To further validate the proposed solution, we integrate the Web of Things (WoT) to let users create autonomous behaviour on top of physical mashups of devices, following the trends in industrial end-user programming. Finally, we report on a pilot user study where we verified that novice users are indeed able to make use of this development environment to create multi-agent systems to solve simple automation tasks.
