48
X-Machines for Agent-Based Modeling: FLAME Perspectives
• Identify states which impose order of function execution. For each state,
identify the memory as a set of variables, accessed by outgoing and
incoming transition functions, similar to the process of branch traversal
used in testing methodologies.
• Identify input and output messages.
As shown in Figure 3.3, FLAME agent architectures contain,
• A finite set of internal states of agent,
• Set of transition functions that operate between states,
• An internal memory set of the agent,
• A language for sending and receiving messages,
FIGURE 3.3: FLAME uses strict X-machine architecture - Memory, Functions, States and Messages.
3.2 Using Agile Methods to Design Agents
Agile software development encourages principles for developing software,
where requirements and solutions evolve through collaboration between clients
and developers. Extensively being used in industrial software engineering practices, the approach has proven very successful by promoting collaboration,
adaptive planning, early delivery and continuous improvement for the product
being delivered. Figure 3.4 presents a mapping of how agile methods incorporate agent-based modeling development as a software project.
Incremental software development or agile methods were a reaction to
X-Machines for Agent-Based Modeling: FLAME Perspectives
• Identify states which impose order of function execution. For each state,
identify the memory as a set of variables, accessed by outgoing and
incoming transition functions, similar to the process of branch traversal
used in testing methodologies.
• Identify input and output messages.
As shown in Figure 3.3, FLAME agent architectures contain,
• A finite set of internal states of agent,
• Set of transition functions that operate between states,
• An internal memory set of the agent,
• A language for sending and receiving messages,
FIGURE 3.3: FLAME uses strict X-machine architecture - Memory, Functions, States and Messages.
3.2 Using Agile Methods to Design Agents
Agile software development encourages principles for developing software,
where requirements and solutions evolve through collaboration between clients
and developers. Extensively being used in industrial software engineering practices, the approach has proven very successful by promoting collaboration,
adaptive planning, early delivery and continuous improvement for the product
being delivered. Figure 3.4 presents a mapping of how agile methods incorporate agent-based modeling development as a software project.
Incremental software development or agile methods were a reaction to
