Geosimulation Geosimulation models are developed to represent phenomena that occur in urban systems in highly realistic manner In particular, Cellular.

Slides:



Advertisements
Similar presentations
VirtualSim Inc. Real tools for virtual worlds Presentation.
Advertisements

The Next Generation Network Enabled Weather (NNEW) SWIM Application Asia/Pacific AMHS/SWIM Workshop Chaing Mai, Thailand March 5-7, 2012 Tom McParland,
Complexity Settlement Simulation using CA model and GIS (proposal) Kampanart Piyathamrongchai University College London Centre for Advanced Spatial Analysis.
Data Models There are 3 parts to a GIS: GUI Tools
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
Intelligent Agents Russell and Norvig: 2
Multi Agent Simulation and its optimization over parallel architecture using CUDA™ Abdur Rahman and Bilal Khan NEDUET(Department Of Computer and Information.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
University of Jyväskylä An Observation Framework for Multi-Agent Systems Joonas Kesäniemi, Artem Katasonov * and Vagan Terziyan University of Jyväskylä,
CPSC 695 Future of GIS Marina L. Gavrilova. The future of GIS.
Geographic Information Systems
A Multi-Agent System for Visualization Simulated User Behaviour B. de Vries, J. Dijkstra.
WSN Simulation Template for OMNeT++
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Spatial Queries & Analysis in GIS
Russell Taylor Lecturer in Computing & Business Studies.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Towards A Multi-Agent System for Network Decision Analysis Jan Dijkstra.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
DEiXTo.
Workflow API and workflow services A case study of biodiversity analysis using Windows Workflow Foundation Boris Milašinović Faculty of Electrical Engineering.
Prepared by Abzamiyeva Laura Candidate of the department of KKGU named after Al-Farabi Kizilorda, Kazakstan 2012.
© Copyright 2005 Synthosys Synthosys 1 Federal Street L3 Ops Communications Bldg - ACIN Camden, NJ Contact: Linda Yu, President CEO (610)
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
Project JUTS – Urban Traffic Simulation System David Hartman DSS 2004.
An Introduction to Software Architecture
Zhiyong Wang In cooperation with Sisi Zlatanova
Faculty of Applied Engineering and Urban Planning Civil Engineering Department Geographic Information Systems Vector and Raster Data Models Lecture 3 Week.
9. Introduction to ArcObjects Most GIS analysis carried out within a GIS consists of a labor- intensive sequence of steps. Automating a GIS makes it possible.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
8. Geographic Data Modeling. Outline Definitions Data models / modeling GIS data models – Topology.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Simulating Human Agropastoral Activities Using Hybrid Agent- Landscape Modeling M. Barton School of Human Evolution and Social Change College of Liberal.
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.
Systems Analysis and Design in a Changing World, 3rd Edition
MAPLD Reconfigurable Computing Birds-of-a-Feather Programming Tools Jeffrey S. Vetter M. C. Smith, P. C. Roth O. O. Storaasli, S. R. Alam
Developing software and hardware in parallel Vladimir Rubanov ISP RAS.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Chapter 5: Business Intelligence: Data Warehousing, Data Acquisition, Data Mining, Business Analytics, and Visualization DECISION SUPPORT SYSTEMS AND BUSINESS.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Debugging parallel programs. Breakpoint debugging Probably the most widely familiar method of debugging programs is breakpoint debugging. In this method,
Celluloid An interactive media sequencing language.
Framework of a Simulation Based Shop Floor Controller Using HLA Pramod Vijayakumar Systems and Industrial Engineering University of Arizona.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Introduction of Intelligent Agents
Distributed Data Analysis & Dissemination System (D-DADS ) Special Interest Group on Data Integration June 2000.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
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.
Introduction to OOP CPS235: Introduction.
Towards Unifying Vector and Raster Data Models for Hybrid Spatial Regions Philip Dougherty.
Chapter – 8 Software Tools.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
CS223: Software Engineering Lecture 25: Software Testing.
SysML v2 Model Interoperability & Standard API Requirements Axel Reichwein Consultant, Koneksys December 10, 2015.
Hongbin Li 11/13/2014 A Debugger of Parallel Mutli- Agent Spatial Simulation.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
The Next Generation Network Enabled Weather (NNEW) SWIM Application
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Role of Data Quality in GIS Decision Support Tools
Object-Oriented Analysis and Design
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Spatial Queries & Analysis in GIS
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Analysis models and design models
An Introduction to Software Architecture
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Presentation transcript:

Geosimulation Geosimulation models are developed to represent phenomena that occur in urban systems in highly realistic manner In particular, Cellular Automata and Multiagent based geosimulations operate with: –entities representing human individuals and infrastructures (e.g. households, homes, urban services, streets etc.); –Properties and behaviour of spatial entities; –Spatial relationships between entities; –External influences.

Geosimulation –The modeled entities are associated to georeferenced objects; –Properties and phenomena at higher level of geographic representation emerge as the product of the dynamic interaction between spatial entities that form the building blocks of the simulation model

MAGI MultiAgent Geosimulation Infrastructure Software environment for the design, development and execution of Geosimulation applications Developed by LAMP – Laboratory of Analysis and Models for Planning – University of Sassari (Italy)

Main features of MAGI Enables for the development of a wide range of geosimulation models The resulting models can be integrated with different computational approaches (both on-line and off-line coupling are allowed) Offers an effective graphical user interface Simulation monitoringSimulation steering Model development support

Main features of MAGI Development phase: Simulation phase: Different models (on-line and/or off-line coupling with MAGI) Outcomes for post-processing

MAGI main ingredients Portable C++ libraries: –GEOS (Geometry Engine Open Source) –Leaf-prior Update R-Tree (spatial indexing for moving objects) –OpenTreads (Threads management) Windows Development and Simulation Environment: –MinGW (Minimalist GNU for Windows – C++ open source development tool) –GIS Import/Export libraries (some raster and vector formats are currently supported: GeoTiff, MID/MIF, Shapefile)

GEOS GEOS is an API of 2D spatial predicates and functions It has the following design goals: –It conforms to the Simple Features Specification for SQL published by the Open GIS Consortium –It provides a complete, consistent, robust implementation of fundamental 2D spatial algorithms –It is fast enough for production use –It is written in C++ –It is open source

GEOS & MAGI Each agent is associated to a geometry PointLineStringLinearRingPolygon In addition, each agent has: –Properties (i.e. C++ objects, representing integer, real numbers, vectors, list, graphs, etc., which define the agent’s state) –Behavioral rules (e.g. for updating the agent’s properties or geometry) –Neighbor lists, which can be dynamically updated (lists play a role like neighborhoods in Cellular Automata models)

MAGI Agents Agents can represent static geographic objects… …or cells –this enables the development of Cellular Automata models

MAGI Agents Agents can move in and interact with the environment

Layers Agents are organized in layers Layer parameters are variables accounting for relevant properties which can influence the agents’ behaviour Layer functions can be defined and scheduled for execution during simulations (e.g. layer functions can update layer parameters) Global parameter and functions are also allowed (e.g. a parameter may affect more than one layers)

Neighbor lists Each agent can hold one or more neighbor list (i.e. the lists of objects of interest for the agent) –each list has a target layer which may be different from the layer to which the agent belongs MAGI allows: Standard CA neighbourhoods (static) Query-based neighbor lists (dynamic) Custom neighbourhoods (static) On regular tessellations

Query-based neighbor list MAGI class library includes a spatial indexing specific for moving objects (i.e. the Leaf-prior Update R-Tree) which makes efficient both the execution of spatial queries and the index updating operations (required when an agent change its position in space) –Nevertheless, spatial queries are inherently computationally expensive when involve the evaluation of spatial relationships! A neighbor list can be defined by a spatial query which is iterated during the simulation with a specified frequency

Binary Predicates MAGI supports, through GEOS, a complete set of geometric binary predicates. Binary predicate methods take two geometries as arguments and return a boolean indicating whether the geometries have the named spatial relationship. The relationships supported are: equals, disjoint, intersects, touches, crosses, within, contains, overlaps Binary predicates can be used by Agent’s behavioral rules and spatial queries for neighbor lists’ updating, in order to simulate spatial perception and reasoning B A

Agent behaviour The agent behaviour is defined by actions Actions can update the state of the agent itself, the state of the environment or the state of other agents –a model may include ‘degenerate’ agents without behavioral rules (e.g. as part of the agents’ environment)

Scheduling The simulation proceeds in time-steps Two main types of scheduling: –Simultaneous updating: agents are assumed to change simultaneously (like cells’ states in Cellular Automata) conflicts can arise when agents compete over limited resources –Sequential updating: agents’ states change in sequence (each agent observes the reality left by the previous one) conflicts between agents are resolved but the order of updating may influence results. Sequential random updating is also available;

What kind of agents are they? Basically, hybrid reactive - deliberative agents: –When agent A 'receive' a message from agent B, it can only react immediately with a standard response (which is known by B) –On the other hand, agents can perceive and modify the environment, they can have an internal state (MAGI library allows any kind of C++ object as agent state) and they can execute complex decision algorithms before acting. This kind of agent proved to be suitable for the vast majority of geosimulation applications where many ‘simple’ agents determine the emergence of a complex behaviour

MAGI GUI Model structure editing Editing of behavioral rules and queries Model buildingModel execution

MAGI GUI XML model structure editing

MAGI GUI MAGI provides interfaces for exchanging raster and vector spatial data with GIS Samples are mapped into agent properties

MAGI GUI Parameter monitoring and editing

A model step-by-step –Number and type of global parameters –Global functions –Layers Step 1: definition of model structure –For each layer: Name Type of agent activation Type of boundary (e.g. toroidal space ?) Type of entities (e.g. cells ?) Number and type of layer parameters Layer functions

A model step-by-step Step 2: definition of agents –Type of geometry –Structure of agent’s state (number and type of properties) –Actions defining agent’s behaviour (C++ source code) –Number and type of Neighbor lists spatial queries in case of query-based lists

A model step-by-step Step 3: model plug-in generation 3.1 model source code generation 3.2 compile and linking Step 4: model execution 4.1 setting-up an initial scenario 4.2 run the model

Under development: Multi-threading based concurrent computation –for exploiting the multi-core processor architectures (the current trends in processor technology indicate that the number of processor cores in one chip will continue to increase) Model debugging capabilities –At the moment advanced debugging can be done in an external environment (the open source IDE CodeBlocks) OpenGL visualization capabilities Tests, documentation and examples Archive of pre-built models Utilities for “dummy” users