Introduction to FTAThe ITSimBw simulation environment is based on the Flip-Tick-Architecture (FTA) (Richter 1999), which has its roots in the JANUS project developed at the Gesellschaft für Mathematik und Datenverarbeitung (GMD) (Beyer and Smieja 1994). At its core, FTA is a design paradigm for scalable distributed systems that exhibit a priorily unknown dynamic characteristics as well as disturbances and inaccuracies which are difficult, if not impossible, to model in a closed-form mathematical approach. As every multi-agent system, FTA is based on the concept of a society of agents (Weiss 1999). It comprises four classes of entities: actors (i.e. agents), assemblies, tags, and tag-boards.
Agents and AutonomyThe aforementioned society of agents A is formed by a set of individual agents aj, which are called actors in FTA terminology A = {ai, ..., aj, ... ak} Each actor aj is composed of a set of typed attributes Uj, whose value assignment determines the agent’s state, together with an action function, which entails all operations that can be performed by the actor: aj = (Uj=(u1,j, ...,um,j),fj). Structural information concerning agents, i.e. names and types of attributes, is described via agent types. Formally, we have type(aj) = t, if and only if agent aj is of type t. The system supports agent templates that can be used to store prototypical value assignments. Thus, an individual agent can be created either by instantiation of its type, or by copying from a pre-defined template. The principle of autonomy of agents forbids the direct manipulation of internal data structures and behaviors of other agents. Consequently, all interactions between agents are handled via messages. Formally, a message Nν is comprised of a number of attributes: Nv = (u1,v, ...ul,v). As agents, messages are typed entities. The set of all message types is given by N = { N1, ... Nh}. Upon receiving a request, the agent is able to analyze its content and to decide whether it wants to comply. The basic unit of execution is called a cycle. During one cycle, the agent reads its messages and triggers the appropriate actions, which might consist of writing messages to other actors. An assembly is a set of agents sharing a common pace, i.e. all elements of an assembly have the same time resolution dt. This in turn implies that their cycles are synchronized and that the assembly switches from cycle to cycle as regularly as the tick of a clock. Hence the term Tick in FTA. It is important to note, that different agents do not necessarily share the same time resolution. Instead, the architecture supports individual running speeds for every actor. Moreover, time steps can vary from cycle to cycle. Thus, adaptive control of time increments can be realized (see below). This is particularly valuable for increasing the time resolution in the computation of dynamics equations for fast moving objects.
CommunicationThe messages used for inter-agent communication are called tags in FTA. We distinguish between three different categories of tags:
A tag-board consists of two sides. One is write-only and contains all tags sent to the board in time step t, whereas the other side is read-only and encompasses all tags written in time-step t-1. Analogously to agents, each tag-board has its own time resolution and thus its own cycle time. During a board cycle, the write-only side is flipped over. Thereby, the read-only part mirrors the tag content of the write part from the previous time-step. The write-only side is deleted after flipping. In this way, the lifetime of tags is effectively controlled by the time-scale of the pertaining board. With this approach, fully synchronized (all agents and tag-boards share the same time resolution) as well as completely asynchronous systems (every agent and every board has its own time-scale) can be modeled in terms of the FTA. The mathematical model of this agent architecture is a system of flexibly coupled inhomogeneous difference equations D = { D1, ... Dk}, where each agent computes an equation from D. In this setting, the attribute list of an actor corresponds to the variable vector of the pertaining difference equation. Thus, equation Di of agent ai computes Ui^t+dt = fi(Ui^t), where dti denotes the time step size of agent ai. During the iteration of D, the society of agents runs through a set of states Z = {Zt}, where each of these system states is the union of attribute sets from all participating agents. A graphical visualization of FTA (omitting the discrimination of different tag-board sides) is shown in the figure below.
Related publications:
|
||
News & Events
|
Links |
|