Kai-H. Brassel (2001)
Flexible Modelling with VSEit, the Versatile Simulation Environment for the Internet
Journal of Artificial Societies and Social Simulation
vol. 4, no. 3,
To cite articles published in the Journal of Artificial Societies and Social Simulation, please reference the above information and include paragraph numbers if necessary
<https://www.jasss.org/4/3/10.html>
Received: 29-Jun-01 Published: 30-Jun-01
VSEit was designed to support the flexible creation of simulation models. It enables the modeler to
The remainder of the text presents two example models, gives an overview about the architecture and features of VSEit, describes how to implement types of model entities, and offers some conclusions.
Figure 1. Snapshot of the Cellular Opinion Formation simulation model |
Figure 2. Snapshot of a Greening Investors simulation run |
The chart titled "Long Waves" illustrates the working of the advanced data sampling and output facilities of VSEit, as discussed below. It shows the rise and fall of technologies by plotting the sum of all goods produced with one technology over time. Whenever a new technology is created during a simulation run, a new curve is automatically inserted.
Figure 3. VSEit Architecture |
public static final Multiplicity MULTIPLICITY = new Multiplicity(2);
public static final IntegerAttribute KEY = new IntegerAttribute( "ID: ",Multiplicity.OPTIONAL,false,null,null,new ValueLook()); public static final DoubleAttribute A = new DoubleAttribute( "Labour productivity: ",Multiplicity.MANDATORY,true,null,null,new ValueLook(Color.blue),2); public static final DoubleAttribute B = new DoubleAttribute( "Energy productivity: ",Multiplicity.MANDATORY,true,null,null,new ValueLook(Color.green.darker()),2); public static final DoubleAttribute C = new DoubleAttribute( "Capital productivity: ",Multiplicity.MANDATORY,false,null,null,null,2); public static final Role FIRM = new Role( "firm",Firm.class,Multiplicity.OPTIONAL_MANY,false,new LinkLook());
private static EntityShape SHAPE = new EntityShape(new Rectangle(0,0,34,20),1,Color.black,null); public EntityShape shape() { SHAPE.setInnerColor(entity().isEmpty(FIRM) ? null : Color.white); return SHAPE; }
double produce() { kt = 0.0; Iterator iter = entity().iterator(FIRM); while (iter.hasNext()) kt += ((Firm)iter.next()).produce(this); return kt; }
private static final EntityShape SHAPE = new EntityShape(new Ellipse2D.Float(0,0,15,15),1,Color.black,null); public EntityShape shape() { SHAPE.setInnerColor(proEnergy ? Color.green : Color.blue); return SHAPE; } public double entityViewWidth() {return 300*k;} public double entityViewHeight() {return 300*k;}
double produce(Technology t) { k = k + model.dt * k / t.entity().get(t.C) * (1 - model.w/t.entity().get(t.A) - model.p/t.entity().get(t.B)); if (k < model.lowerlim) this.innovate(t); entity().changed("shape"); return k; }
1 The development of the VSEit framework benefited from the close contact to many domain experts and students, both of whom were avid users who provided valuable feedback on the design of the software.
2 For an illustration of the benefits and difficulties of combining different modelling formalisms, see Peters & Brassel (2000).
3 A comparison of the runtime performance of SWARM and VSEit show that the VSEit simulation, with all animation features switched on, runs about three times as long as the SWARM simulation. This is not a bad result, considering that the Java code of the VSEit model is interpreted for execution, while the SWARM code is compiled by a native compiler. When switching off the special animation capabilities of VSEit, its runtime decreases considerably (Brassel 2001; SWARM Development Group 2001).
BRASSEL K H, Edenhofer O, Möhring M and Troitzsch K G (2000) "Modelling Greening Investors: Economic Development, Opinion Formation, and Technological Change in a Multilevel Simulation Model" In Suleiman R, Troitzsch K G and Gilbert N (Eds.), Tools and Techniques for Social Science Simulation, Heidelberg, Physica. pp. 317-343.
BRASSEL K H (2001) "Advanced Object-Oriented Technologies in Modeling and Simulation: the VSEit Framework" In Kerckhoffs E J H and Snorek M (Eds.), Modelling and Simulation 2001, 15th European Simulation Multiconference, Society for Computer Simulation International, pp. 154-160.
GILBERT N and Troitzsch K G (1999) Simulation for the Social Scientist. Open University Press.
HAFFNER Y and Gramel S (2001) Modelling Strategies for Water Supply Companies to Deal with Nitrate Pollution. Journal of Artificial Societies and Social Simulation, 4(3), https://www.jasss.org/4/3/11.html.
HEGSELMANN R, Flache A and Möller V (2000) "Cellular Automata as a Modelling Tool: Solidarity and Opinion Formation" In Suleiman R, Troitzsch K G and Gilbert N (Eds.) Tools and Techniques for Social Science Simulation. Physica, Heidelberg, pp. 151-178.
MÖHRING M (1996) "Social Science Multilevel Simulation with MIMOSE" In Troitzsch K G, Mueller U, Gilbert N and Doran J E (Eds.), Social Science Microsimulation, Springer, Berlin.
PETERS I and Brassel K H (2000) "Integrating Computable General Equilibrium Models and Multi-Agent Systems – Why and How" In Sarjoughian H S et al. (Eds.): 2000 AI, Simulation and Planning In High Autonomy Systems, SCS, pp. 27-35.
SWARM DEVELOPMENT GROUP (2001) "Documentation Set for Swarm", http://www.swarm.org/release-docs.html.
TROITZSCH K G (1997) "Social Science Simulation – Origins, Prospects, Purposes" In Conte R, Hegselmann R and Terna P (Eds.), Simulating Social Phenomena. Springer, Berlin, pp. 41-54.
VANGHELUWE H, Kerckhoffs E J H and Vansteenkiste G (2001) "Computer Automated Modelling of Complex Systems" In Kerckhoffs E J H and Snorek M (Eds.), Modelling and Simulation 2001, 15th European Simulation Multiconference, Society for Computer Simulation International, pp. 7-18.
WEIDLICH W and Haag G (1983) Concepts and Models of a Quantitative Sociology. Springer, Berlin.
Return to Contents of this issue
© Copyright Journal of Artificial Societies and Social Simulation, 2001