Designing X-Agents Using FLAME
51
3.2.1 Extension to Extreme Programming
The classic approaches to developing software include following the waterfall or spiral models of development. In general, these include stages of
requirements analysis, developing specifications, design and architecture, coding, testing, documentation and maintenance. However with their advantages,
there were a number of issues leading to the development of using scrum and
XP approaches.
Agile methodologies involve multiple interactions and software evolves
through different phases. Extreme programming also falls under Agile software development methodologies and stresses customer satisfaction. It empowers programmers to respond to the customer changing demands, emphasizing
team work by giving equal opportunities. Eventually teams become productive
and self-organize for efficiently problem solving. It uses five essential building
blocks:
• Communication: within team and with customer.
• Simplicity: Change requirements as per customer needs and deliver early.
• Feedback: Testing starts from day one.
• Respect: within team and customer.
• Courage: to rebuild if necessary.
Small and functional releases of code are done regularly, where customers
can evaluate and have visibility at all times. Given the nature of building
agent-based models, XP is an ideal process of developing these. It recognizes
that all requirements will not be known at the beginning of the model and
may change as it develops. The team can plan small releases, accommodating
tools to build communication and continuous development improving design.
Developers can use X-machines and XP approaches together, to help develop list of inputs, processing functions, outputs and encapsulate these as
agents. These can then be extended to test-driven approaches for testing correct agent behavior with FLAME.
3.3 Overview: FLAME Version 1.0
FLAME can model various levels of complexity - from modeling molecules
to modeling complete human communities. FLAME does this by only changing
agent definitions and functions [42]. An agent architecture with characteristics
is shown in Figure 3.6 (Figure 3.3).
• The simulation contains multiple types and agent concentrations, that
are of similar kind or behave differently across scenarios.
51
3.2.1 Extension to Extreme Programming
The classic approaches to developing software include following the waterfall or spiral models of development. In general, these include stages of
requirements analysis, developing specifications, design and architecture, coding, testing, documentation and maintenance. However with their advantages,
there were a number of issues leading to the development of using scrum and
XP approaches.
Agile methodologies involve multiple interactions and software evolves
through different phases. Extreme programming also falls under Agile software development methodologies and stresses customer satisfaction. It empowers programmers to respond to the customer changing demands, emphasizing
team work by giving equal opportunities. Eventually teams become productive
and self-organize for efficiently problem solving. It uses five essential building
blocks:
• Communication: within team and with customer.
• Simplicity: Change requirements as per customer needs and deliver early.
• Feedback: Testing starts from day one.
• Respect: within team and customer.
• Courage: to rebuild if necessary.
Small and functional releases of code are done regularly, where customers
can evaluate and have visibility at all times. Given the nature of building
agent-based models, XP is an ideal process of developing these. It recognizes
that all requirements will not be known at the beginning of the model and
may change as it develops. The team can plan small releases, accommodating
tools to build communication and continuous development improving design.
Developers can use X-machines and XP approaches together, to help develop list of inputs, processing functions, outputs and encapsulate these as
agents. These can then be extended to test-driven approaches for testing correct agent behavior with FLAME.
3.3 Overview: FLAME Version 1.0
FLAME can model various levels of complexity - from modeling molecules
to modeling complete human communities. FLAME does this by only changing
agent definitions and functions [42]. An agent architecture with characteristics
is shown in Figure 3.6 (Figure 3.3).
• The simulation contains multiple types and agent concentrations, that
are of similar kind or behave differently across scenarios.
