Applying Dependency Injection to Agent-Based Modeling: the JABM Toolkit
نویسنده
چکیده
In many areas of science, agent-based models have become increasingly important. These models are often sufficiently complex that deriving closed-form solutions for quantitative aspects of their macroscopic behaviour is often impractical if not impossible. Thus these models are often analysed using Monte-Carlo simulation. Object-oriented programming languages are naturally suited to implementing such models. However, Monte-Carlo methods impose some subtle requirements: we must run the same program very many times with randomly-drawn values of variables in the simulation being drawn from probability distributions, taking great care to ensure that each run is not contaminated with state from previous runs. Typically these problems are tackled by model-specific application code residing in the objects representing individuals in the model. However, this approach is not declarative and leads to crosscontamination between code representing experiments or treatments and code representing the model itself. In this paper we give an overview of agent-based modelling with an emphasis on its application to multi-agent systems research, and show how a design pattern called “dependency injection” can be used to implement highly configurable simulation models which are able to incorporate various assumptions about agents’ rationality and learning.
منابع مشابه
Agent-Based Modeling with the JABM Toolkit
In many areas of science, agent-based models have become increasingly important. These models are often sufficiently complex that deriving closed-form solutions for quantitative aspects of their macroscopic behaviour is often impractical if not impossible, and hence they are often analysed using discrete-event simulation and Monte-Carlo methods. In this paper we give an overview of agent-based ...
متن کامل02 Residential Electricity Demand Management Through Tariff Structure: Agent-based Modeling
Recently, imbalances in the electricity production and consumption in Iran, have caused critical situations at specific times of the year; meanwhile, the residential sector, with a 51 percent share, is the main reason for peak demand crisis. According to the international experiences, it can be hoped that by revising the residential electricity tariff structure, consumption pattern in this sect...
متن کاملDependency Injection with Static Analysis and Context-Aware Policy
The dependency injection design pattern improves the configurability, testability, and maintainability of object-oriented applications by decoupling components from both the concrete implementations of their dependencies and the strategy employed to select those implementations. In recent years, a number of libraries have emerged that provide automated support for constructing and connecting de...
متن کاملA Software-Implemented Fault Injection Toolkit for Dependency Analysis of Large Scale Distributed Applications
A new software implemented fault injection toolkit named SIFIT is described in this paper which can be used to testify the dependability of large scale distributed applications on Unix-like platforms. This toolkit is composed by interfaces, services and tools. One of its innovations is that it has been also integrated with a general debugging tool so that it has the functionality of debugging a...
متن کامل02 Residential Electricity Demand Management Through Tariff Structure: Agent-based Modeling
Recently, imbalances in the electricity production and consumption in Iran, have caused critical situations at specific times of the year; meanwhile, the residential sector, with a 51 percent share, is the main reason for peak demand crisis. According to the international experiences, it can be hoped that by revising the residential electricity tariff structure, consumption pattern in this sect...
متن کامل