General Topics

Working With Lists

ASTRA provides built in support for lists, which are basically dynamic arrays. As is normal in logics, lists are untyped. This means that they can contain different types of term. …

The Main Agent

This lesson introduces some information about a default goal that is generated when an ASTRA program is run, and about how to change the default name of the first agent. …

Agent Communication

Agents interact with one another in two basic ways: indirectly through shared resources or directly through some form of messaging service. Examples of indirect interaction include shared maps, tuple spaces, …

Deploying Multiple Agents

Agent Programming Languages are designed to support the development of multi-agent systems. By default, it is expected that such systems will consist of more than one agent and more than …

Building Expressions

ASTRA provides three¬†kinds of expression. Logical Expressions A logical expression is something that can be evaluated to true or false. Typically, it involves some combination of beliefs and comparisons that …

Loops

ASTRA provides three basic approaches for implementing loops. One approach is to use multiple rules to implement a recursive style loop. The second approach is to use a while statement …

Selections

  It is possible to code selection statements and loops using only the original AgentSpeak(L) ¬†language. We will explain how to do this in the sections below. Rule-based Selection The …

Declaring Variables

Declaring Variables in Triggering Events: Perhaps the most common way is to declare the variable implicitly within the triggering event or context of a rule. The purpose if this is …