Knowledge Base

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

  1. Logic Programming for understanding the difference to imperative programming. Explanation of the basic concepts for using this paradigm to describe the agent behaviour
  2. Finite-State Machine for understanding the runtime model of the agent behaviour
  3. Finite-State Machine and Logic Programming of an agent to understand how we combine the parts previously discussed into our agent definition
  4. Difference to Jason shows the main differences between Jason and our framework

Basic Knowledge

  1. Atoms the basic building blocks
  2. Terms fit all value- and data-types
  3. Literals comprise complex information
  4. Variables placeholder to store dynamic information at runtime
  5. Plans and Logic Rules to describe complex behaviour
  6. Goals mark plans to be executed
  7. Beliefs and Facts to store information the agent perceived or deduced from the environment
  8. Actions to interact with other agents or the environment
  9. Built-in Actions provides a reference to all built-in actions available to LightJason agent programmers
  10. Unification to get current values from literals

Advanced Knowledge

  1. Multi-Assignments explains how to assign the output of actions to a list containing multiple variables
  2. Plan Triggering Techniques provides insights into different ways to trigger plans in AgentSpeak(L++)
  3. Plan Annotations shows how to modify the execution behaviour of plans
  4. Lambda Expressions are useful to implement loops over iterable structures likes lists
  5. Explicit Repair Actions can be used to catch failing actions
  6. 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.