MAML -- Multi-Agent Modeling Language

[ Initiative ][ Introduction ][ Overview ][ Supported Swarm versions ][ Compiler Download Page ][ Compiler Usage Guide ][ Tutorial ][ Course Outline ][ Examples ][ Reference Manual ][ Papers ][ Comments for Swarmites ][ Technical Manual ] ][ About ]

MAML Course Outline


This document summarizes a course on MAML, the Multi-Agent Modelling Language. The aim is to teach MAML to students/researchers willing to write agent-based models. MAML provides a useful tool for those who are familiar with Swarm or at least Objective-C. The course is based on this tutorial. Besides MAML it also devotes some thoughts to Objective-C and Object Oriented Programming if necessary.

The course was held at Systems Laboratory on October 1998 by Kozsik Tamás. The course schedule was the following:

  • Monday 18.00
  • Wednesday 18.00

Suggested readings:

Source code for programs:

First meeting

Introduction. Telemodelling project, modelling environment. Structuring: user's computer and Simulation Engine. The advantages of the Internet. Simulations with huge computational needs. Modelling: model design, parametrization, simulation, result analysis. Reuse of results: visualization, parameter space search. Tools for non-programmers: graphical user interfaces, suitable language - MAML.

Introduction to MAML. Important terms: model, agent, timestep, schedule, plan, observe. Swarm, Objective-C. Difficulties. Aim of MAML. Current status vs. future plans. The @ sign: macros (shorthands), translation to Swarm. Example: empty model. Using unchecked C: hello world. Implementation terms: init, var (state), sub (rule). Separation of model and output: observe. Batch and gui. Compilation errors.

How to use things.

First models. Show it on a computer, demonstration of the above. The empty model. The generated Swarm code. The dumb model: @var, @sub, model variable.

Second meeting

Graphical and batch mode observation, as in Step 1.1 and Step 1.2 of the tutorial. First try of writing MAML-program: the expected result.

Third meeting

Adding graphical observation to the model built last time:the expected result. Discussing schedules with Step 2 of the tutorial. Try schedules with ab: first preserve gui observation then rewrite it in batch mode. Stop the latter by pressing Ctrl-C. The final version of ab contains the maxTimeSteps variable and the @import structure.

Forth meeting

Talking about Step 3 of the tutorial. Writing a simple simulation. The expected result. Then we can enhance it.

Fifth meeting

Not known yet.

copyright © 1999 agent-lab
Send comments to