In this section we provide a background of multi-agent modelling, a gentle introduction into logic programming and basic and advanced knowledge helpful for understanding the theoretical concepts of our framework.
Note: For a more hands-on experience see → practical tutorials.
Background and Introduction
- Logic Programming for understanding the difference to imperative programming. Explanation of the basic concepts for using this paradigm to describe the agent behaviour
- Finite-State Machine for understanding the runtime model of the agent behaviour
- Finite-State Machine and Logic Programming of an agent to understand how we combine the parts previously discussed into our agent definition
- Difference to Jason shows the main differences between Jason and our framework
Basic Knowledge
- Atoms the basic building blocks
- Terms fit all value- and data-types
- Literals comprise complex information
- Variables placeholder to store dynamic information at runtime
- Plans and Logic Rules to describe complex behaviour
- Goals mark plans to be executed
- Beliefs and Facts to store information the agent perceived or deduced from the environment
- Actions to interact with other agents or the environment
- Built-in Actions provides a reference to all built-in actions available to LightJason agent programmers
- Unification to get current values from literals
Advanced Knowledge
- Multi-Assignments explains how to assign the output of actions to a list containing multiple variables
- Plan Triggering Techniques provides insights into different ways to trigger plans in AgentSpeak(L++)
- Plan Annotations shows how to modify the execution behaviour of plans
- Lambda Expressions are useful to implement loops over iterable structures likes lists
- Explicit Repair Actions can be used to catch failing actions
- Failing is Intentional explains techniques to mitigate failing plans and actions, as failing is part of
humans agents interacting with each other in a shared environment.