The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Approaches, Tools, and Applications Islam A. El-Shaarawy Shoubra Faculty of Eng.
File-Metadata Management System For The LHCb Experiment Carmine Cioffi Department of Physics, University of Oxford CHEP04 Interlaken, 27 September 2004.
Delivery Operations Information System AM Standard Operating Procedure DOIS.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Slide 2-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 2 Using the Operating System 2.
Self-Organised information PrOcessing, CriticaLity and Emergence in multilevel Systems Alfons Hoekstra
CompSci Applets & Video Games. CompSci Applets & Video Games The Plan  Applets  Demo on making and running a simple applet from scratch.
LECTURE 1 CMSC 201. Overview Goal: Problem solving and algorithm development. Learn to program in Python. Algorithm - a set of unambiguous and ordered.
Objects and Classes First Programming Concepts. 14/10/2004Lecture 1a: Introduction 2 Fundamental Concepts object class method parameter data type.
Chapter 12: Simulation and Modeling Invitation to Computer Science, Java Version, Third Edition.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Fundamentals of Python: From First Programs Through Data Structures
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
New Mexico Computer Science for All Computational Science Investigations (from the Supercomputing Challenge Kickoff 2012) Irene Lee December 9, 2012.
50.003: Elements of Software Construction Week 5 Basics of Threads.
L/O/G/O Ant Colony Optimization M1 : Cecile Chu.
What is Concurrent Programming? Maram Bani Younes.
OMNET++. Outline Introduction Overview The NED Language Simple Modules.
Agent Based Modeling and Simulation
Chapter 12: Simulation and Modeling
CSS Cooperative Education Faculty Research Internship Spring / Summer 2013 Richard Romanus 08/23/2013 Developing and Extending the MASS Library (Java)
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
LESSON 2 CREATING A JAVA APPLICATION JAVA PROGRAMMING Compiled By: Edwin O. Okech [Tutor, Amoud University]
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Applets & Video Games 1 Last Edited 1/10/04CPS4: Java for Video Games Applets &
P systems: A Modelling Language Marian Gheorghe Department of Computer Science University of Sheffield Unconventional Programming Paradigms; Sept’04.
Techniques for Analysis and Calibration of Multi- Agent Simulations Manuel Fehler Franziska Klügl Frank Puppe Universität Würzburg Lehrstuhl für Künstliche.
Top-Down and Bottom-Up Scheduling in Swarm A comparison of implementations Paul E. Johnson University of Kansas.
April 7, 2006 Agent Based models: from analytical models to real life phenomenology, Villa Gualino, Torino 1 _______________________________________ A.
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
Your First Java Application Chapter 2. 2 Program Concepts Modern object-oriented programs help us build models to manage the complexity found in a problem.
Multi-Agent Modeling of Societal Development and Cultural Evolution Yidan Chen, 2006 Computer Systems Research Lab.
FRE 2672 TFG Self-Organization - 01/07/2004 Engineering Self-Organization in MAS Complex adaptive systems using situated MAS Salima Hassas LIRIS-CNRS Lyon.
Entities and Objects The major components in a model are entities, entity types are implemented as Java classes The active entities have a life of their.
Neural Networks and Machine Learning Applications CSC 563 Prof. Mohamed Batouche Computer Science Department CCIS – King Saud University Riyadh, Saudi.
Software Verification 2 Automated Verification Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität and Fraunhofer Institut für.
Prof. Lars-Erik Cederman ETH - Center for Comparative and International Studies (CIS) Seilergraben 49, Room G.2, Nils.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Thread basics. A computer process Every time a program is executed a process is created It is managed via a data structure that keeps all things memory.
Computer Simulation of Networks ECE/CSC 777: Telecommunications Network Design Fall, 2013, Rudra Dutta.
CS 178: Programming with Multimedia Objects Aditya P. Mathur Professor of Computer Sciences Purdue University, West Lafayette August 27, 2004 Last update:
Why use landscape models?  Models allow us to generate and test hypotheses on systems Collect data, construct model based on assumptions, observe behavior.
1 Why Threads are a Bad Idea (for most purposes) based on a presentation by John Ousterhout Sun Microsystems Laboratories Threads!
Operating Systems A Biswas, Dept. of Information Technology.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Hongbin Li 11/13/2014 A Debugger of Parallel Mutli- Agent Spatial Simulation.
Lecture and laboratory No. 10 Modeling product as system Óbuda University John von Neumann Faculty of Informatics Institute of Applied Mathematics Master.
Traffic Simulation L2 – Introduction to simulation Ing. Ondřej Přibyl, Ph.D.
Representing Structure and Behavior
Chapter 12: Simulation and Modeling
OPERATING SYSTEMS CS 3502 Fall 2017
Interpreted languages Jakub Yaghob
Ramya Kandasamy CS 147 Section 3
Load Balancing: List Scheduling
COP 4600 Operating Systems Fall 2010
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Your First Java Application
Smita Vijayakumar Qian Zhu Gagan Agrawal
Spring CS 599. Instructor: Jyo Deshmukh
Implementing Mutual Exclusion
Presented By: Darlene Banta
Outline Chapter 2 (cont) Chapter 3: Processes Virtual machines
Criteria for rapid prototyping
Load Balancing: List Scheduling
Computer Systems An Introducton.
Operating System Design Options
Presentation transcript:

The Swarm Simulation System Je planmäßiger die Menschen vorgehen, desto wirksamer vermag sie der Zufall treffen. Katja Luther, Holger Meyer

From Elements to Systems - The Swarm Simulation System2 Outline l Why is the influence of interventions on complex systems (ecosystems, economic systems, metabolism) usually not predictable? l Criteria for simulation systems - Representation of complex interactions - Agentbased model - Building of hierarchical structures (recursion)

From Elements to Systems - The Swarm Simulation System3 Why Simulation? l John Briggs, F. David Peat: "Komplexe Systeme sind letzen Endes nicht analysierbar, nicht auf Teile reduzierbar, weil die Teile durch Annäherung und Rückkopplung ständig aufeinander einwirken".

From Elements to Systems - The Swarm Simulation System4 Scenarios l Simulation of ecosystems l Superorganisms (e.g. ants, bees, etc.) l Processes in business companies (micro) and national economy (macro) l Load balancing in telecommunication networks

From Elements to Systems - The Swarm Simulation System5 The Swarm Simulations System l Basic principle: groups of simple interacting agents creating a complex system behavior l Swarm provides a general for writing computer simulations l The Swarm system supports implementation of multi-level systems by composing hierarchical swarms of agents

From Elements to Systems - The Swarm Simulation System6 What is Swarm? A virtual machine / a discrete event simulator l Virtual machine: an abstract instruction processor. Example: the Java virtual machine l But instead of Java instructions, Swarm interprets instructions describing temporal events and constraints via Schedules, Swarms, and their associated parameterizations

From Elements to Systems - The Swarm Simulation System7 Swarm as a virtual computer Operating System Swarm kernel GUI Model CPU l A computers CPU executes program instructions l Swarm kernel is virtual CPU running model and GUI events l Nested Swarms merge activity schedules into one

From Elements to Systems - The Swarm Simulation System8 Swarm System Design

From Elements to Systems - The Swarm Simulation System9 Real World Multi-level Systems l Global Economy l National Economy l Business Company l Employee l Ecosystem l Ant Colony or Beehive l An Ant or Bee l Organ l Cell

From Elements to Systems - The Swarm Simulation System10 Hierarchical Modeling by Swarm

From Elements to Systems - The Swarm Simulation System11 Interactions of Nested Swarms l Swarm allows swarms to be agents creating a new swarm in the next level of the hierarchical model (nested swarms) l Time hierarchy: Top-down synchronized time-management across the simulation

From Elements to Systems - The Swarm Simulation System12 Example: Heatbugs

From Elements to Systems - The Swarm Simulation System13 Implementation Heatbugs public class Heatbug { /** my current unhappiness */ public double unhappiness; /** my spatial coordinates */ public int x, y; /** my ideal temperature and how much heat I put out */ public int idealTemperature, outputHeat; /** chance of moving randomly */ public double randomMoveProbability; /** my colour (display) */ public byte bugColor;...

From Elements to Systems - The Swarm Simulation System14 Bottom up modeling Organizations of agents Animate agents Data Observer Inanimate agents If then else If then else

From Elements to Systems - The Swarm Simulation System15 Implementation ObserverSwarm public class HeatbugObserverSwarm extends GUISwarmImpl { /** one parameter: update freq */ public int displayFrequency; /** ActionGroup for sequence of GUI events */ public ActionGroup displayActions; /** the single Schedule instance */ public Schedule displaySchedule; /** the Swarm we're observing */ public HeatbugModelSwarm heatbugModelSwarm;

From Elements to Systems - The Swarm Simulation System16 HeatbugsModelSwarm RepeatIntervall=1 stepRulestepupateLattice ActionGroup heatspace type=heatspace world type=Grid2d environment count=100class heatbug populate agents Heatbug idealTemperature(1700<=uniformRandom<=3500) outputHeat(3000<=uniformRandom<=10000) imgColor(byteConstant=64) classes

From Elements to Systems - The Swarm Simulation System17 Implementation Modelswarm public class HeatbugModelSwarm extends SwarmImpl{ // simulation parameters public int numBugs; public int maxOutputHeat, minOutputHeat; public double evaporationRate; public double diffuseConstant; public int worldXSize,worldYSize; public int minIdealTemp, maxIdealTemp; public double randomMoveProbability;

From Elements to Systems - The Swarm Simulation System18 Implementation Modelswarm-2 public class HeatbugModelSwarm extends SwarmImpl{... /** ActionGroup for holding an ordered sequence of action */ public ActionGroup modelActions; /** the single Schedule */ public Schedule modelSchedule; /** list of all the heatbugs and the world the bugs live in */ public List heatbugList; public Grid2d world; public HeatSpace heat;

From Elements to Systems - The Swarm Simulation System19 Probes and GUI Executes method Input value for variable Open probe for classClose probe Probe l A probe can be used to communicate with the objects in real time l Default probe map shows all variables

From Elements to Systems - The Swarm Simulation System20 Implementation ProbeMap //in contructor of HeatbugModelSwarm class HeatbugModelProbeMap extends EmptyProbeMapImpl { … //definition of addVar() and addMessage() public HeatbugModelProbeMap (Zone _aZone, Class aClass) { super (_aZone, aClass); addVar ("numBugs"); … addMessage ("toggleRandomizedOrder"); addMessage ("addHeatbug:"); } /*Now, install our custom probeMap class directly into the probeLibrary */...

From Elements to Systems - The Swarm Simulation System21 Method buildObjects() public Object buildObjects (){ super.buildObjects(); heat = new HeatSpace(getZone(),worldXSize, worldYSize,diffuseConst, evapoRate); world = new Grid2dImpl (getZone(), worldXSize, worldYSize); heatbugList = new LinkedList(); for (i = 0; i < numBugs; i++) { idealTemp = getRandBetween(minIdealTemp, maxIdealTemp); outputHeat = getRandBetween(minOutputHeat, maxOutputHeat); Heatbug hbug = new Heatbug (world, heat); heatbugList.add (hbug);...

From Elements to Systems - The Swarm Simulation System22 Implementation buildActions() public Object buildActions () { super.buildActions(); modelActions = new ActionGroupImpl (getZone()); //erzeugen der Actionsund zufügen zu ActionGroup modelActions.createActionTo$message (heat, new Selector (heat.getClass (), updateLattice", false)); //erzeugen von modelSchedule und zufügen der ActionGroup modelSchedule = new ScheduleImpl (getZone (), 1); modelSchedule.at$createAction (0, modelActions);

From Elements to Systems - The Swarm Simulation System23 Arborgames Model of forest dynamics l Examine the role of fire on species diversity l Discrete cells with one (two) individual per cell l Local interaction of trees in a neighborhood generates landscape dynamics

From Elements to Systems - The Swarm Simulation System24 Arborgames Response to disturbance l Landscape dynamics allow recursive response to disturbance l Expansion of fire is governed by the contagion of local forest structure

From Elements to Systems - The Swarm Simulation System25 Simulation of population dynamics l Development of population diversity in a forest with medium strength of disturbance l Development of population diversity with strong disturbance

From Elements to Systems - The Swarm Simulation System26 And now something completely different...

From Elements to Systems - The Swarm Simulation System27 Computational-Fields l Movement of the agents is driven by these Co-Fields l Co-Fields are established by the infrastructure and by the agents l Agent movements induces changes of Co-Field – composing a feedback cycle

From Elements to Systems - The Swarm Simulation System28 The Swarm API objectbase Base classes for simulated objects – the "agents activity Schedule execution mechanism – the "process" space Spatial environment library simtools Collected tools (non-GUI) useful for developing Swarm simulations gui Graphical Interface library analysis Objects that help with data processing

From Elements to Systems - The Swarm Simulation System29 Using Swarm API: Museum import swarm.Globals; import swarm.space.Discrete2dImpl; public class Museum extends Discrete2dImpl { public ListImpl rooms;... // In Constructor: rooms = new ListImpl(Globals.env.globalZone);... public void draw(){ ((Room)rooms.atOffset(0)).draw(startX,startY);...

From Elements to Systems - The Swarm Simulation System30 Using Swarm API: Agents import swarm.objectbase.Swarm; import swarm.objectbase.SwarmImpl; import swarm.activity.ActionGroupImpl; import swarm.activity.ScheduleImpl; import swarm.activity.Activity; public class PeopleSwarm extends SwarmImpl{... public Activity activateIn(Swarm swarmContext) { super.activateIn(swarmContext); peopleSchedule.activateIn(this); return getActivity(); }

From Elements to Systems - The Swarm Simulation System31 Using Swarm API: GUI public void createFieldRasters() { ZoomRasterImpl fieldRaster; int numFields = modelSwarm.museumSwarm.museum.rooms.getCount(); fieldRasters = new ListImpl(getZone()); for(int i=0; i<numFields;i++) { fieldRaster = new ZoomRasterImpl(getZone(),"room "+i+fieldRaster"); fieldRaster.setWidth$Height(museum.getSizeX(), museum.getSizeY()); fieldRaster.setWindowTitle("room ;"+i+" field"); fieldRasters.addLast(fieldRaster);...

From Elements to Systems - The Swarm Simulation System32 Resources Chris Langton et. al.: The Swarm Simulation SystemA tool for studying complex systems, Santa Fe Institute The Co-Fields Project – Agent Group (Franco Zamonelli) Università di Modena e Reggio Emilia polaris.ing.unimo.it/didattica/curriculum/marco/Web-Co- Fields/cofields.html Swarm User Guide, Swarm Development Group, University of Kansas Department of Political Science, Paul Johnson, 2000 Benedikt Stefansson: Swarmfest 99 Tutorial Session One: Introduction (