Boxed Economy Foundation Model

43
Boxed Economy Foundation Boxed Economy Foundation Model Model *1 Faculty of Policy Informatics, Chiba University of Commerce *2 Fujita Institute of Future Management Research *3 Graduate School of Media and Governance, Keio University * 4 Keio Research Institute at SFC *1*2*3 *4 *3 *4 *4 Takashi Iba, Yoshihide Chubachi, Yohei Takabe, Ken Kaiho, Yoshiyasu Takefuji for agent-based economic/social simulation

description

Takashi Iba, Yoshihide Chubachi, Yohei Takabe, Ken Kaiho, Yoshiyasu Takefuji. *1*2*3. *4. *4. *4. *3. Boxed Economy Foundation Model. for agent-based economic/social simulation. *1 Faculty of Policy Informatics, Chiba University of Commerce - PowerPoint PPT Presentation

Transcript of Boxed Economy Foundation Model

Page 1: Boxed Economy Foundation Model

Boxed Economy Foundation ModelBoxed Economy Foundation Model

*1 Faculty of Policy Informatics, Chiba University of Commerce*2 Fujita Institute of Future Management Research

*3 Graduate School of Media and Governance, Keio University* 4 Keio Research Institute at SFC

*1*2*3

*4

*3

*4

*4

Takashi Iba,Yoshihide Chubachi,

Yohei Takabe,Ken Kaiho,

Yoshiyasu Takefuji

for agent-based economic/social simulation

Page 2: Boxed Economy Foundation Model

The gapThe gap

computerscience

computer simulation

multi-agent system

The area of agent-based economic/social modeling and simulation has two natures

These two areas had been trying two merge, but they are not enough confluent yet.

“Agent-BasedEconomic/Social

Modelingand Simulation”

a new approach of modeling and analysis

a practical application

socialsciences

society asinteraction

decision making and Learning

Page 3: Boxed Economy Foundation Model

The gapThe gap

computerscience

computer simulation

multi-agent system

“Agent-BasedEconomic/Social

Modelingand Simulation”

a new approach of modeling and analysis

a practical application

socialsciences

society asinteraction

decision making and Learning

We need the well-defined primitive terms and framework to describe the society by agent-based approach.

Page 4: Boxed Economy Foundation Model

The gapThe gap

computerscience

computer simulation

multi-agent system

“Agent-BasedEconomic/Social

Modelingand Simulation”

a new approach of modeling and analysis

a practical application

socialsciences

society asinteraction

decision making and Learning

We need the system to implement and manage the complex and dynamic social simulations efficiently.

Page 5: Boxed Economy Foundation Model

The gapThe gap

computerscience

computer simulation

multi-agent system

“Agent-BasedEconomic/Social

Modelingand Simulation”

a new approach of modeling and analysis

a practical application

socialsciences

society asinteraction

decision making and Learning

Page 6: Boxed Economy Foundation Model

Boxed Economy ProjectBoxed Economy Project

computerscience

computer simulation

multi-agent system

“Agent-BasedEconomic/Social

Modelingand Simulation”

a new approach of modeling and analysis

a practical application

socialsciences

society asinteraction

decision making and Learning

Model framework Simulation Platform

Page 7: Boxed Economy Foundation Model

Boxed Economy ProjectBoxed Economy Project

Introduction Video !

Page 8: Boxed Economy Foundation Model

AgendaAgenda

2 Understanding BEFM with an ExampleUnderstanding BEFM with an Example

3 BEFM to Simulation PlatformBEFM to Simulation Platform

1 Boxed Economy Foundation Model Boxed Economy Foundation Model

4 The Road AheadThe Road Ahead

Page 9: Boxed Economy Foundation Model

AgendaAgenda

2 Understanding BEFM with an ExampleUnderstanding BEFM with an Example

3 BEFM to Simulation PlatformBEFM to Simulation Platform

1 Boxed Economy Foundation Model Boxed Economy Foundation Model

4 The Road AheadThe Road Ahead

Page 10: Boxed Economy Foundation Model

a model framework which has a tight focus to human economy/society.

Main Class Diagram ofMain Class Diagram ofBoxed Economy Foundation ModelBoxed Economy Foundation Model

Page 11: Boxed Economy Foundation Model

Main Class Diagram ofMain Class Diagram ofBoxed Economy Foundation ModelBoxed Economy Foundation Model

Let’s run through some details ofBoxed Economy Foundation Model !

Page 12: Boxed Economy Foundation Model

World is defined as an environment in which Entity are placed. Note that the classes defined as Entity are Agent, Goods, Information, Behavior and Needs. Only one instance of World would be created in each simulation model.

World and EntityWorld and Entity

Page 13: Boxed Economy Foundation Model

ClockClock

Clock is defined as the class to manage the flow of time in the model, during the execution of the simulation. Agent acts by the passage of the time of Clock. Each model, actually each instance of World, holds only one instance of Clock. In BEFM, it is not defined how to implement the model of   time yet. Therefore, the model builder will determine in which form time would be implemented such as “year/ month/day/hour/minute/second” or discrete integer.

TimeOfDay is defined to describe a point of time in the model. Clock holds the instance of TimeOfDay as a present time. Time is defined as the difference between two points of TimeOfDay. We can also calculate TimeOfDay by adding Time to TimeOfDay or subtracting Time from TimeOfDay.

Page 14: Boxed Economy Foundation Model

LocationLocation

Location is the class to describe a spatial position in the model. The spatial position of Agents and Goods would be described with using Location, and their migration and transportation can be described by changing the values of Location. In BEFM, a concrete implementation of Location is not defined yet. Therefore the model builder makes a choice of implementation,  such as two-dimensional lattice space, three-dimensional Euclidean space, or even implementing no space in the model at all.

Direction and Distance are the classes which shows the relationship of two points of Location. In addition, Region is defined to be composed of two or more Locations, and Area is defined as the spatial size of Region.

Page 15: Boxed Economy Foundation Model

GoodsGoods

Goods can be specified by the kind, the quality, and the amount by using GoodsKind, GoodsQuality, and GoodsQuantity. Goods have Location in order to describe where it is. In addition, Goods often holds Information describing various contents. For instance, a newspaper can be modeled as an object that the newspaper article (as Information) is printed on a paper (as Goods), and a conversation can be modeled as an object which contents (as Information) is conveyed on the voice (as unmaterial and transient Goods).

Goods can be defined as material / unmaterial thing which is possessed by Agent in order to use by himself/herself, or to exchange with other agents. For instance, the objects modeled as Goods can be automobile, oil, corn, financial stock, right of land, books, advertisings, diaries, memorandum, water, voice, noises, garbage, money, and so on.

Page 16: Boxed Economy Foundation Model

InformationInformation

The Information which accompanied by Goods and stored in the Agent are defined as Information. Information will never exist alone, and be always held by Goods or InformationManager of Agent. Information held in InformationManager is the information stored in the Agent internally, for example it can be described as ``memory'' and ``genetic information'' in the real world.

Information holds InformationContents which can be copied. The classes which would be defined as InformationContets are RelationInformationContents, ChannelInformationContents, NeedsInformationContents, GoodsInformationContents, BehaviorInformationContents, GoodsQuantity, GoodsKind, GoodsQuality, Location, NeedsStateDifference, Time, and TimeOfDay.

Page 17: Boxed Economy Foundation Model

AgentAgent

Agent possesses more than one Behavior, Information, Relation, and Goods. Agent holds and manages them by each manager: BehaviorManager, InformationManager, RelationManager and GoodsManager. In addition, only Individual possesses Needs, and manages it by NeedsManager.

Agent is defined to describe an autonomous actor who does the economic activity. Each individuals and social groups such as corporation, government, family, school, regional community, and country are all dealt as an Agent in the model. In the model, Agent exists as a more specific class: Individual or SocialGroup. Individual and SocialGroup inherit all the characteristics of Agent.

Page 18: Boxed Economy Foundation Model

BehaviorBehavior

The behavior of the agent is defined as Behavior. Various activities such as decision-making, production, trade and communication, are described by Behavior of Agent. Two or more Behavior can be managed in parallel inside an Agent. In BEFM, the internal state is given to each behavior, and the internal state is dynamically changed respectively. Behavior is defined as a state machine, which is a system that changes the state when the event is received. Behavior holds more than one instance of BehaviorState, and a present state as currentState.

Page 19: Boxed Economy Foundation Model

State Transition of BehaviorState Transition of Behaviorand Some kinds of Eventsand Some kinds of Events

Behavior changes the state by receiving an event which means the stimulus from outside. There are three kind of Event in BEFM: ChannelEvent, ClockEvent, and NeedsEvent. ChannelEvent is an event sent from Channel. It holds Goods and delivers them to the listener behavior. NeedsEvent is an event sent when Needs becomes to a certain state. ClockEvent is an event sent when time passes on Clock. It holds TimeOfDay and delivers it to the listener. Each Event is sent from the object implemented the EventDispacher to the object implemented the EventListener.

Example: statechart diagram of SendRequestBehavior

state

transition

event(trigger)

action

Page 20: Boxed Economy Foundation Model

NeedsNeeds

Needs is hold only by Individual, and activates the Behavior of the Individual. Needs holds two or more NeedsStates. The needs holds the state which becomes a target as targetNeedsState and the state which becomes a present state as currentNeedsState. The difference in two states is NeedsStateDifference, which represents the strength of Needs. Needs is able to is patch NeedsEvent to Behavior if necessary. Needs is a model element which moves dynamically by the time passage (reception of ClockEvent).

Page 21: Boxed Economy Foundation Model

RelationRelation

An agent in a model usually has some kind of relationship with other agents rather than being isolated. In BEFM, the situation of a fact that a certain agent knows other agents will be described by Relation. By using Relation, for example, friends, family and employment can be described.Relation is an object by which two Agents are connected with the direction. Relation is managed by Agent through RelationManager.

Page 22: Boxed Economy Foundation Model

ChannelChannel

When an agent communicates with others, Channel will be established between the Behaviors of the agents based on Relation. Note that Channel does not connect between Agents but connects between Behaviors.

All communications between Behaviors will be abstracted as a deal of Goods through Channel. First, Channel is used to exchange Goods, such as commodities, contents of the conversation, and money, between Behaviors of Agents. Secondly, the cooperation of Behavior inside Agent is also done by exchanging Goods on Channel. By the abstraction, it is possible not only to standardize the model expression but also to raise the independency of the model components of Behavior.

Page 23: Boxed Economy Foundation Model

AgendaAgenda

2 Understanding BEFM with an ExampleUnderstanding BEFM with an Example

3 BEFM to Simulation PlatformBEFM to Simulation Platform

1 Boxed Economy Foundation Model Boxed Economy Foundation Model

4 The Road AheadThe Road Ahead

Page 24: Boxed Economy Foundation Model

World

“SampleWorld”

Location

”CellTypeLocation”

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

Agent

Individual

Agent

SocialGroup

Relation

“know”

Clock

“Mr.Customer”

”GlobalClock”

Goods

“reply”

“The Kind Corporation”

Goods

“request”

Static View

Page 25: Boxed Economy Foundation Model

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

Behavior

“Mr.Customer”

“The Kind Corporation”

Behavior

“SendRequestBehavior”

“CollectGoodsBehavior”

“SendBackBehavior”Channel

”GlobalClock”

“SendRequestBehavior”

“SendBackBehavior”

“the channel to the sender”

Channel

Goods

“reply”

“request”

“CollectGoodsBehavior”

“the channel to the corporation”

Goods

Activity View

Page 26: Boxed Economy Foundation Model

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

“Mr.Customer”

“SendRequestBehavior”

“CollectGoodsBehavior”

“SendBackBehavior”

“The Kind Corporation”

Page 27: Boxed Economy Foundation Model

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

“Mr.Customer”

“The Kind Corporation”

State Transition View

“SendRequestBehavior” “SendBackBehavior”

ClockEvent

“request”

ChannelEvent

“request”“reply”

ChannelEvent

“reply”

Page 28: Boxed Economy Foundation Model

“SendRequestBehavior”

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

“Mr.Customer”

“The Kind Corporation”

State Transition View

“SendBackBehavior”

ChannelEvent

“reply”

Page 29: Boxed Economy Foundation Model

“CollectGoodsBehavior”

A Simple Example:A Simple Example:“The corporation replies the request sent by the individual.”“The corporation replies the request sent by the individual.”

“Mr.Customer”

“The Kind Corporation”

State Transition View

“SendBackBehavior”

ChannelEvent

“reply”

“reply”

Page 30: Boxed Economy Foundation Model

AgendaAgenda

2 Understanding BEFM with an ExampleUnderstanding BEFM with an Example

3 BEFM to Simulation PlatformBEFM to Simulation Platform

1 Boxed Economy Foundation ModelBoxed Economy Foundation Model

4 The Road AheadThe Road Ahead

Page 31: Boxed Economy Foundation Model

Boxed Economy Simulation Platform (BESP)Boxed Economy Simulation Platform (BESP)

An integrated environment to make, execute, and analyze the agent-based social simulations.

Implemented in Java language.

The source code and detail specification are opened to the public.

Page 32: Boxed Economy Foundation Model

Java VM

BESPBoxed Economy Simulation Platform

Boxed EconomyFoundation Model

BESP and Boxed Economy Foundation ModelBESP and Boxed Economy Foundation Model

Box Operating System (BOS)

Model Container

Model Components

Presentation Container

Presentation Components

BESP is designed to realize an extensible software application with component-based architecture. The user can obtain the simulation model and environment which suit the needs, only if he/she sets necessary components into the platform.

Page 33: Boxed Economy Foundation Model

Support to Build the Behavior ComponentsSupport to Build the Behavior Components

BESP Model Component Builder

package SampleMarket;

import org.boxed_economy.foundationmodel.*;import org.boxed_economy.foundationmodel.behavior.*;import org.boxed_economy.besp.foundationmodelframework.*;import org.boxed_economy.besp.foundationmodelframework.behavior.*;

/*** OrderBehavior */public class OrderBehaviorB extends AbstractBehavior { // decide order Action action_id_13 = new anon(); public Action getAction_id_13(){ return action_id_13; }

public void start() { // Setting the state machine BehaviorState state_id_6 = new DefaultBehaviorState(this, ""); currectState = state_id_6; // This sets pseudo-initial state BehaviorState state_id_8 = new DefaultBehaviorState(this, "waiting market opening"); BehaviorState state_id_11 = new DefaultBehaviorState(this, "order determined");

Transition trans_id_7 = new Transition();

((DefaultBehaviorState)state_id_6).addTransition( trans_id_7); trans_id_7.setTransitionTo(state_id_8);

Transition trans_id_9 = new Transition();

// receivedEvent trans_id_9.setAcceptEvent(AutoTransitionEvent.class); Transition trans_id_10 = new Transition(); }

public void exit() { }

class anon extends Action{ /** * decide order */ public void doAction(Event event){ // Write the code for custom action here. }}

Behavior Component

BESP Model Component Builder generates the java program code, just by making the state chart diagram and setting the model with a graphical user interface.

This part is generated byModel Component Builder

This part is for you to write the custom code.

Page 34: Boxed Economy Foundation Model

Support to Compose the Simulation ModelsSupport to Compose the Simulation Models

BESP Model Composer is a tool (presentation component) to compose and set the model which wants to be simulated by graphical user interface.

BESP Model Composer

Page 35: Boxed Economy Foundation Model

BESPBoxed Economy Simulation Platform

Sharing Components based on Sharing Components based on Boxed Economy Foundation ModelBoxed Economy Foundation Model

Boxed Economy Foundation Model provides the design of the software architecture of social simulation for sharing and reusing the model components among the simulation builders, so that it will accelerate the P2P sharing of the models and components. It keeps the components on track by defining the rule for designing the components developed in the future.

Page 36: Boxed Economy Foundation Model

The role of Model FrameworkThe role of Model Framework

Frame of reference for recognizing the target world

Vocabulary for describing the model

Code for communications among the model builders

in social science

Page 37: Boxed Economy Foundation Model

The role of Model FrameworkThe role of Model Framework

Design of the software architecture of social simulationBridge to the specific simulation platform

in software engineerin

g

Page 38: Boxed Economy Foundation Model

AgendaAgenda

2 Understanding BEFM with an ExampleUnderstanding BEFM with an Example

3 BEFM to Simulation PlatformBEFM to Simulation Platform

1 Boxed Economy Foundation Model Boxed Economy Foundation Model

4 The Road AheadThe Road Ahead

Page 39: Boxed Economy Foundation Model

Boxed Economy Project is a student research group!Boxed Economy Project is a student research group!

Advisors

Fund-Supported partly by Fujita Institute of Future Management Research, Japan

Keio University, JapanGraduate School of Media and GovernanceFaculty of Policy ManagementFaculty of Environmental Information

Dr. Yoshiyasu TakefujiHe is tenured professor on faculty of environmental information at Keio University. His research interests focus on neural computing and hyperspectral computingDr. Heizo TakenakaHe was tenured professor on faculty of Policy Management at Keio University. Today, He is Minister of State for Economic and Fiscal Policy, and Minister of State for IT Policy, Cabinet Office since 2001.

Takashi Iba

Project Leader

He is Ph.D Candidate on Graduate School of Media and Governance at Keio University. Now he is also assistant professor at Chiba University of Commerce. His research interests are social simulation methodology and complex systems.

Yoshihide ChubachiKen KaihoKotaro AsakaYoshiaki Matsuzawa

Junichiro TanakaRyunosuke TsuyaKenichi KamihashiYuu Yamada

Harumi MorikuboYou NagamiMasaharu Hirokane

Project Members

Page 40: Boxed Economy Foundation Model

Preparation and Launch ofPreparation and Launch ofBoxed Economy Project Boxed Economy Project

Apr.2000 - Aug.2000 Apr.2000 - Aug.2000

Apr.1999 - Mar.2000 Apr.1999 - Mar.2000

Sep. 1997 - Mar.1999 Sep. 1997 - Mar.1999

Studies market simulations(Takashi Iba’s Master thesis)

•Winner-Take-All phenomena in Format Competition of Video Cassette Recorder (VHS vs. Beta)•Bubble and Crashed at Stock Market

•Wrote the book “Introduction to Complex Systems” (in Japanese)

Studies market simulations(Takashi Iba’s Master thesis)

•Winner-Take-All phenomena in Format Competition of Video Cassette Recorder (VHS vs. Beta)•Bubble and Crashed at Stock Market

•Wrote the book “Introduction to Complex Systems” (in Japanese)

Started the project called “In-The-Box” project to build a basis for sharing the simulation.

Started the working group to make an agent-based simulation of entire economy.

As a result, we came to realize that the economy is too complex to build from a scratch.

Reaffirmed importance of component and framework.

Started the project called “In-The-Box” project to build a basis for sharing the simulation.

Started the working group to make an agent-based simulation of entire economy.

As a result, we came to realize that the economy is too complex to build from a scratch.

Reaffirmed importance of component and framework.

Started new project called Boxed Economy Project.

Designed the Initial version of Boxed Economy Foundation Model.

Analyzed and Designed by Object-Oriented approach.

Applied Unified Modeling Language (UML).

Started new project called Boxed Economy Project.

Designed the Initial version of Boxed Economy Foundation Model.

Analyzed and Designed by Object-Oriented approach.

Applied Unified Modeling Language (UML).

Page 41: Boxed Economy Foundation Model

Research & Development of Research & Development of Boxed Economy ProjectBoxed Economy Project

Aug.2001 - Dec.2001 Aug.2001 - Dec.2001

Jan.2001 - Jun.2001 Jan.2001 - Jun.2001

Sep. 2000 - Dec.2000 Sep. 2000 - Dec.2000

Improved the initial version of Boxed Economy Foundation Model.

Prototyping of Boxed Economy Simulation Platform

Building Component by Java Beans

Implementing the improved initial version of BEFM

Improved the initial version of Boxed Economy Foundation Model.

Prototyping of Boxed Economy Simulation Platform

Building Component by Java Beans

Implementing the improved initial version of BEFM

Developed the initial version of Boxed Economy Simulation Platform

Applying Design Patterns Introducing Rational

Unified Process (RUP) use-case driven

development Introducing Extreme

Programming (XP) pair programming unit test

Developed the initial version of Boxed Economy Simulation Platform

Applying Design Patterns Introducing Rational

Unified Process (RUP) use-case driven

development Introducing Extreme

Programming (XP) pair programming unit test

Refactoring the initial version. Developed Boxed Economy

Simulation Platform (ver.1.0b)Model ComposerModel Component BuilderSome Presentation

ComponentsApplying Design Patterns,

RUP, and XP

Refactoring the initial version. Developed Boxed Economy

Simulation Platform (ver.1.0b)Model ComposerModel Component BuilderSome Presentation

ComponentsApplying Design Patterns,

RUP, and XP

Page 42: Boxed Economy Foundation Model

The Road Ahead,The Road Ahead,

Boxed Economy ProjectBoxed Economy Project

Exploring Design Patterns originally for Agent-based Social Modeling with BEFM

Remaking “BESP Model Component Builder” as more user-friendly presentation component.

Preparing some more presentation component to visualize, analyze, control, and report to database. Simulating some sample models

on BESP

Translating the documents and comment at source into English

Refactoring and Improving BESP and BEFM, then releasing version 1.

Aug.2002 - Aug.2002 -

Especially, Implementing the presentation component to support for managing large number of experiments.

Making the on-line materials to understand how to use.

Page 43: Boxed Economy Foundation Model

Boxed Economy Foundation ModelBoxed Economy Foundation Modelfor agent-based economic/social simulation

Welcome!!!

If you are getting interesting in our projects and software, Please E-mail to

[email protected] [email protected]