Ferramentas do usuário

Ferramentas do site


geopro:pedro:agentsheets

Essa é uma revisão anterior do documento!


AgentSheet

From personal and information Agents to interactive demos, modifiable simulations to virtual game worlds, AgentSheets' unique user interface captivates people and draws them into a new relationship with technology.


Homepage http://www.agentsheets.com
Origin AgentSheets, Inc.
Year 1997
Version 2.6.1
License proprietary
Language “visual language”


Everything is visual, and there is no source code. The user drag-and-drops and selects almost everything, with some entrances for very simple codes inside of some text boxes. The user can interact with the simulation, can pause/stop/define velocity, and can generate input for the agents. It seems to be more a tool for earning money than for doing some kind of science, but there is an article using this program (Klaus, D.M.. Microgravity and its Implication for Fermentation Technology. Trends in Biotechnology. 16(9): 369-373, 1998). The program has a 10 day licence, with possibility of studying the examples. But it is not possible to create new models.

The different types of agents are represented by icons, and when the programmer wants to refer to a given type of agent, he can select its icon. One agent can change its icon depending on his state, and we can use the icon as a definition of state.

Space is always represented by a grid, and it has the concept of empty and full cells for moving. Walls are always-full locations. The neighbourhood is defined manually, it is the same for each type of agent, and it is limited to at most the eight surrounding cells.

The execution of an agent in a time step is a sequence of if and then blocks. The program has a coupple of pre-defined constructors that can be used for the definition of these blocks, as shown in the table below. All the functions of the agents are defined using the syntax: “on method_23 …”, and it can be triggered by some pre-defined situations, also shown in the following table.


fig


if see, see a, stacked (above, below, …), next to, empty, key (keyboard), % chance, once every, hear, is, has attribute, on top of, direction, user confirm
then move, move random, new, change, erase, set color to, wait, broadcast
event while running, on (function call), when creating new agent, tool, mouse


:?: Is broadcast and hear the way the agents can exchange informations?

There is an event OnCount for each agent. It can set global variables for example @SMALL = @SMALL + 1, to facilitate summarize the model's content in a time step.

TerraME: If one agent can register itself in the space with a type, then we can count using the registering

Timer{
  Event{ message = function(event)
    local mycount = 0
    ForEachCell(cs, function(cell)
      mycount = mycount + table.size(GetAgents(cell, "fish"))
    end)
    print("Number of fishes: "..mycount)
  end}
}

Examples of models

  • Mud particles can be piled up on top of each other. Pilling up will result in some pressure which can lead to disintegration of mud piles resulting in mud slides and avalanches
  • Cars move from the left to the right. Fall down if it is empty below it and crash when reaches the bottom. The bricks compute the force acting on it, and falls down if there is enough pressure above, and space below to move.
  • The doctor cures one infected person in its neighbourhood, and one infected person can infect another person with a probability.
geopro/pedro/agentsheets.1183432128.txt.gz · Última modificação: 2007/07/03 03:08 por pedro