ASTRA Programming Language

1. Getting Started

  • Quick Start
    • 1.1 What you’ll need
    • 1.2 Create your first project
    • 1.3 Run it
    • 1.4 ASTRA and IDE Integration
    • 1.5 Where next?
  • Building & Deploying ASTRA Programs
    • Creating a project from scratch
    • How ASTRA builds work
    • Understanding the Hello World program
    • Running a “non-default” Agent Program
    • Summary
    • See Also
  • Testing ASTRA Programs
    • Setting up a project
    • Writing a test
    • Assertions
    • Testing multi-agent behaviour
    • Running the tests
  • Using IntelliJ with ASTRA
    • What you’ll do
    • What you’ll need
    • Creating an ASTRA Project
    • Supplementary Notes
    • Quick Tour of the Project
    • Running the Project
    • Summary

2. ASTRA Concepts

  • AgentSpeak(L) and ASTRA
    • 2.1 Introduction to AgentSpeak(L)
    • 2.2 Translating AgentSpeak(L) into ASTRA
    • 2.3 Rewriting AgentSpeak(L) Programs in ASTRA
  • Designing Agent Programs
  • Variables, Choice and Repetition
    • Variables in ASTRA
    • Choice in ASTRA
    • Repetition in ASTRA
  • Beliefs and Inference
    • How to model some knowledge as a belief
    • Logical Expressions
    • Inference Rules
  • Test Goals
    • How a test goal is evaluated
    • Writing test goal plans
    • Example
    • Test goals compared with other checks
    • Things to know
  • Failure Handling
    • What counts as a failure
    • try / recover
    • Goal failure events
    • Which handler is used?
    • Unhandled failures
    • Choosing between them
  • Encapsulated Goals
    • Syntax
    • How an encapsulated goal runs
    • Example: stopping a long-running activity
    • Example: a goal that reacts to events
    • Example: succeed or give up
    • Ending a goal
    • References
  • Multiple Inheritance
    • Single Inheritance
    • Multiple Inheritance
  • Agent Communication
    • Messages as actions
    • The parts of a message
    • Performatives
    • Sending messages
    • Receiving messages
    • Example: asking for prices
    • Things to know
  • Interaction Protocols
    • An Authentication Agent
    • Integrating Timeouts into Conversations
    • Prewritten Protocols
  • Practical Reasoning Programming Style
    • Why “Practical Reasoning”?
    • The plan types at a glance
    • The running example
    • Principle 1: Deliberation Plans
    • Principle 2: Means-End Reasoning Plans
    • Principle 3: Repair Plans
    • Principle 4: Keep goals and actions apart
    • Principle 5: Recovery Plans
    • Principle 6: Reactive Plans
    • Principle 7: Domain Modelling
    • Example 1: Light Switch
    • Example 2: Towerworld
    • Checklist
    • References

3. Tutorials

  • Overview
    • 3.1 The Basics
    • 3.2 ASTRA By Example
    • 3.3 Video Tutorial
    • 3.4 Going Further
  • Creating Multiple Agents
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Learn what you can do with ASTRA
    • Create a Replicator agent
    • Create a Main agent
    • Run the application
    • Summary
    • See Also
  • Multi-Agent Communication
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Learn what you can do with ASTRA
    • Create a Replicator agent
    • Create a Main agent
    • Run the application
    • Creating a ReplicatorCommon agent
    • Summary
    • See Also
  • Working with Lists
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Declaring Lists
    • Iterating through Lists
    • A Larger Example
    • Shuffle and Sort Example
    • Summary
  • Basic ASTRA Examples
    • Hello World
    • Terminal Hello World
  • Distributed Systems Examples
    • Bully Election Algorithm
    • Token Ring Election Algorithm (UNDER REVIEW)

4. Modules and APIs

  • Overview & API Library
    • 4.1 Using a module
    • 4.2 astra.lang modules
    • 4.3 Creating your own ASTRA Modules
    • 4.4 Working with EIS Environments
    • 4.5 Managing Docker Deployments with ASTRA
  • Creating your own Actions
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Source Code
    • Declaring a Custom module
    • Modelling a Light Switch
    • Creating an Action
    • Using the Module
    • Summary
  • Adding a Sensor
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Source Code
    • Starting Point
    • Using the Module
    • Summary
  • Implementing your own Events
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Source Code
    • Starting Point
    • Defining a Custom Event
    • Implementing an EventUnifier
    • Linking the event to the module
    • Using the Module
    • Summary
  • Custom Terms and Formulae
    • What you’ll build
    • What you’ll need
    • Creating a project from scratch
    • Creating a project from an archetype
    • Source Code
    • Starting Point
    • Creating a Custom Term
    • Creating a Custom Formula
    • Summary
  • Example: Calculator
    • Declaring a Module
    • Creating an Action
    • Creating a Term
    • Creating a Formula
    • Creating a Sensor
    • Creating a Custom Event
  • Example: GUI Support
    • Overview
    • Agent-First GUIs
  • EIS Environments
    • What is EIS?
    • Launching an EIS Environment
    • Note: EIS and Maven
    • Management Functionality
  • Docker Deployments
    • Getting started
    • Docker Domain Model
    • The credentials file
    • Overloading the secure pull behaviour

5. Publications

  • Publications
    • 5.1 Core Publications
    • 5.2 AgentSpeak(ER)
    • 5.3 Multi-Agent Microservices (MAMS)
    • 5.4 Applications
  • Report a Bug
ASTRA Programming Language
  • Search


© Copyright University College Dublin.

Built with Sphinx using a theme provided by Read the Docs.