Designing X-Agents Using FLAME
47
• Σ are a set of input alphabets,
• Γ are a set of output alphabets,
• Q denotes set of states,
• M denotes variables in memory,
• Φ denotes set of partial functions, that map input and memory
variables to output and a change on memory variable. The set
Φ : Σ × M → Γ × M,
• F is transition function to next state, F : Q × Φ → Q,
• q 0 is initial state and
• m 0 is initial memory of the machine.
3.1.1 Transition Functions
Transition functions allow agents to change their state to modify their
behavior. These require inputs on their current state s ( 1), current memory
values m 1 , and the possible arrival of a message at time t 1 . Depending on these
three variables, the agent changes its state to another s 2 , updates its memory
to m 2 and optionally sends another message t 2 . Some transition functions may
only perform a function on the memory, where messages are empty ∅, or with
some data.
M essage = {∅, < data >}
(3.3)
Agent transition functions are expressed as a set of stochastic rules with
time.
3.1.2 Memory and States
The differences between internal states and internal memory sets allow a
flexibility in modeling systems. There are situations where agents have only
one internal state and various complex variables defined in memory. Equivalently, agents can have simple memory variables, but a large state space with
multiple memory functions.
Software behavior has traditionally used finite state machines to model
a system as inputs and outputs. More abstract system descriptions have
included UML (Unified Modeling Language) notations [205], but these are
mainly diagrammatic representation, lacking writing and testing simulation
code descriptions.
Testing a system, specified as a finite state machine, allows its behavior,
expressed as a graph, for traversals of all possible and impossible executions
of the system. Testing an X-machine, with memory, follows main stages.
• Identify system functions.
47
• Σ are a set of input alphabets,
• Γ are a set of output alphabets,
• Q denotes set of states,
• M denotes variables in memory,
• Φ denotes set of partial functions, that map input and memory
variables to output and a change on memory variable. The set
Φ : Σ × M → Γ × M,
• F is transition function to next state, F : Q × Φ → Q,
• q 0 is initial state and
• m 0 is initial memory of the machine.
3.1.1 Transition Functions
Transition functions allow agents to change their state to modify their
behavior. These require inputs on their current state s ( 1), current memory
values m 1 , and the possible arrival of a message at time t 1 . Depending on these
three variables, the agent changes its state to another s 2 , updates its memory
to m 2 and optionally sends another message t 2 . Some transition functions may
only perform a function on the memory, where messages are empty ∅, or with
some data.
M essage = {∅, < data >}
(3.3)
Agent transition functions are expressed as a set of stochastic rules with
time.
3.1.2 Memory and States
The differences between internal states and internal memory sets allow a
flexibility in modeling systems. There are situations where agents have only
one internal state and various complex variables defined in memory. Equivalently, agents can have simple memory variables, but a large state space with
multiple memory functions.
Software behavior has traditionally used finite state machines to model
a system as inputs and outputs. More abstract system descriptions have
included UML (Unified Modeling Language) notations [205], but these are
mainly diagrammatic representation, lacking writing and testing simulation
code descriptions.
Testing a system, specified as a finite state machine, allows its behavior,
expressed as a graph, for traversals of all possible and impossible executions
of the system. Testing an X-machine, with memory, follows main stages.
• Identify system functions.
