This repository contains a prototype implementation of the Narrative Generator for our research project A Multi-Level Explainability Framework for BDI Agents. You can directly access the deployed web application here.
The primary levels of abstraction identified in this study are as follows:
- The Implementation Level: a detailed narrative closely related to the Agent and Multi-Agent Systems for debugging and testing.
- The Design Level: a level that describes the agent behaviour regardless of its implementation for analysis and verification.
- The Domain Level: a high-level narrative that explains the behaviour with reference to the domain and requirements of the system - (work in progress).
1a. Try it out at https://yan-elena.github.io/agent-explanation without installing anything.
1b. If you wish to use it locally, you need Node.js installed. Then you can follow the instructions below. Install all dependencies required with:
npm install
Start the react development dashboard with:
npm start
Reach http://localhost:3000/agent-explanation
from your browser to access the dashboard.
- Following the instructions presented in the Logger Component to generate the
log files
of your Jason or JaCaMo project. Once you have the log files, you can upload them to the Home Page.
![](https://private-user-images.githubusercontent.com/78790594/316097248-2f3ba3c4-bd31-41ea-bd5f-ff588ee9824f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDM5MTksIm5iZiI6MTcyNDcwMzYxOSwicGF0aCI6Ii83ODc5MDU5NC8zMTYwOTcyNDgtMmYzYmEzYzQtYmQzMS00MWVhLWJkNWYtZmY1ODhlZTk4MjRmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDIwMjAxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWEzZDE1Y2FkM2M2MjZiN2YzNjlhNzgyY2NhM2ZhMDkxMDBlMTg4MDdhYTIyMTA5MzZhNGQyYmQwNGMzZmIxOGMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Ge_SJLIcFiJgms3qWlkGjsZOYnpIVYQGeGKkE6UH3c4)
- At this point, you can select the level to inspect for each agent in the system.
![](https://private-user-images.githubusercontent.com/78790594/333903508-954fe114-ba57-4b07-8e9b-8e6977c8f238.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDM5MTksIm5iZiI6MTcyNDcwMzYxOSwicGF0aCI6Ii83ODc5MDU5NC8zMzM5MDM1MDgtOTU0ZmUxMTQtYmE1Ny00YjA3LThlOWItOGU2OTc3YzhmMjM4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDIwMjAxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg2Y2U1ZGM0MDdkNjg2ZDk3ZDYwMTFiNzg0M2Y3ZmUxYTg1YWRhYjA3MTE1OWI0ZjI4OGZiMmY0ZmJmMzNmY2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kJX5RBS3SztZGueYS5ULnP9Ld1GE04qhQDn5TFt48nA)
A detailed and technical level that follows Jason's operational semantics and reasoning cycle.
![](https://private-user-images.githubusercontent.com/78790594/341980411-11728883-60e6-4dc9-aa81-26cbe472cec2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDM5MTksIm5iZiI6MTcyNDcwMzYxOSwicGF0aCI6Ii83ODc5MDU5NC8zNDE5ODA0MTEtMTE3Mjg4ODMtNjBlNi00ZGM5LWFhODEtMjZjYmU0NzJjZWMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDIwMjAxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk3ZjgxMmQ3YjMxNGM5YjJmYTE2ZDczZmUwOGE0ZDAyN2U3YzA4ZmRjN2M3ZmY4MWM2OTFmYzdiMjYyYjI2NzAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Y65IUHvnBSzllGQS1cTdfKC7WCXtBBZ14TG0RzWHo5g)
A higher level that narrates the agent's decisions following its cognitive abstraction according to the Belief-Desire-Intention model.
![](https://private-user-images.githubusercontent.com/78790594/341980450-e9131856-fcb1-4eb7-96d8-3254be392411.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDM5MTksIm5iZiI6MTcyNDcwMzYxOSwicGF0aCI6Ii83ODc5MDU5NC8zNDE5ODA0NTAtZTkxMzE4NTYtZmNiMS00ZWI3LTk2ZDgtMzI1NGJlMzkyNDExLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDIwMjAxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY5NzFkOWVhNTVkODg2YzY2YWY4MGU4ZjczOWI0ZjkzZWIyODI2OTAzMTI5MDJjMjE2OWU5ZmFjODg2ZTUxZjQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.4b50bNw27Rd3axF65oRrE0z5_i-Dkk6ckvBAeLns-ZE)
Some events are associated with an explanation of a previous event that caused it.
![](https://private-user-images.githubusercontent.com/78790594/341980515-eac6a6e1-23a4-4d9d-8c13-c0c0b2eb2126.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ3MDM5MTksIm5iZiI6MTcyNDcwMzYxOSwicGF0aCI6Ii83ODc5MDU5NC8zNDE5ODA1MTUtZWFjNmE2ZTEtMjNhNC00ZDlkLThjMTMtYzBjMGIyZWIyMTI2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI2VDIwMjAxOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTdlMWQxM2RmNDk0NGNhYjAyYzJlMzZhMWU4YzMyNjkzZmFiODcyMDkzZTY1MDM0MDdjODU5YTgzMmNhMTRhNzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.f-RlDllPgeSwQF3ktSfJllADpmsDZsAbhnRY6KqJfh0)
You can also use the log files in the /examples
folder generated for the alice-bob
and domestic-robot
(repo) running examples to try our multi-level explainability framework.