Platforms for Agent-Based Computational Economics Rob Axtell Brookings CSED.

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
2 We need programming languages to communicate with a computer. The two broad classifications of programming languages are: Low-level and High- level.
Software. What Is Software? software –Also called Computer programs –Are a list of instructions –Instructions are called code –CPU performs the instructions.
Java.  Java is an object-oriented programming language.  Java is important to us because Android programming uses Java.  However, Java is much more.
Programming Creating programs that run on your PC
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Setting up the Development Environment Copyright © SUPINFO. All rights reserved Preparation.
Types of software. Sonam Dema..
Your Interactive Guide to the Digital World Discovering Computers 2012.
Programming Languages Lecture 12. What is Programming?  The process of telling the computer what to do  Also known as coding.
I NTRODUCTION TO P ROGRAMMING ICS 3U 1. W HAT I S A P ROGRAM ? A program is a set of instructions that makes the computer do something. There are two.
PreAP Computer Science Quiz
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
ABM: Frameworks Dr Andy Evans. ABM Frameworks What are they? Pieces of software to help people build ABMs. Often offer the functions outlined. Wide range.
Lecture 1 Introduction to Java MIT- AITI 2004 What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word.
Agent Based Modeling and Simulation
ABM Frameworks Dr Andy Evans With additions from Dr Nick Malleson.
Chapter Lead Black Slide Powered by DeSiaMore Powered by DeSiaMore.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
CS 355 – Programming Languages
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Python Mini-Course University of Oklahoma Department of Psychology Day 1 – Lesson 1 Getting Started 4/5/09 Python Mini-Course: Day 1 - Lesson 1 1.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
Prof. Lars-Erik Cederman Center for Comparative and International Studies (CIS) Seilergraben 49, Room G.2, Nils Weidmann,
Lecture 1 Introduction to Java MIT-AITI Ethiopia 2004.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
Java Basics - Prashant Nagaraddi. Features of Java n Java syntax is similar to C/C++ but there are many differences too n Java is strongly typed like.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
An Introduction to Visual Basic.NET. What is.NET.Net is a new framework for developing windows-based and web-based applications within the Microsoft environment.
SUPERCOMPUTING CHALLENGE KICKOFF 2015 A Model for Computational Science Investigations Oct 2015 © challenge.org Supercomputing Around.
I NTRODUCTION TO P ROGRAMMING ICS 3U 1. W HAT I S A P ROGRAM ? A program is a set of instructions that makes the computer do something. There are two.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Programming Languages and the Programming Process.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
Programming language. Definition Programming language is a formal language designed to communicate instructions to a computer. Programming languages can.
PROGRAMMING LANGUAGES
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
Lecture 1. Introduction to Programming and Java MIT- AITI 2003.
What is Eclipse? Campbell D McCausland Principal Engineer Tiger Development Team.
EGR 115 Introduction to Computing for Engineers Introduction to Computer Programming Wednesday 27 Aug 2014 EGR 115 Introduction to Computing for Engineers.
 Programming - the process of creating computer programs.
Language Implementation Methods David Woolbright.
By: Cheryl Mok & Sarah Tan. Java is partially interpreted. 1. Programmer writes a program in textual form 2. Runs the compiler, which converts the textual.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Getting Started With Java September 22, Java Bytecode  Bytecode : is a highly optimized set of instructions designed to be executed by the Java.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
The Functions and Purposes of Translators Translators, Interpreters and Compilers - High Level Languages.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
BlueJ X ICSE Syllabus. Board Pattern THEORY (100 marks) PRACTICAL (100 marks) PROJECT (50 marks) ASSIGNMENTS (50 marks)
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Game programming 1.
Computer Systems Nat 5 Computing Science
Why don’t programmers have to program in machine code?
Introduction to programming
CSCI-235 Micro-Computer Applications
Computer Systems Nat 5 Computing Science
Assembler, Compiler, Interpreter
AI-ECON Research Center Department of Economics National Chengchi University.
Assembler, Compiler, Interpreter
FEniCS = Finite Element - ni - Computational Software
Programming Fundamentals Lecture #2 Overview of Computer Programming
Presentation transcript:

Platforms for Agent-Based Computational Economics Rob Axtell Brookings CSED

Types of Resources Standalone systems (high level) –Agents: AgentSheets, NetLogo –Mathematical: MatLab, Mathematica Software frameworks –Java: Ascape, MASON, RePast –Objective C: Swarm Programming languages –C/C++ –Java

Code words Speed of execution: –Interpreted => slow –Compiled => faster Java: object-oriented language –Signifies multi-platform capability (Windows, Mac, Unix/Linux, other) –signifies free availability Cost: nominal: < $100; moderate: <$1000; else expensive

AgentSheets Simplest agent modeling system Programming: it’s own visual language, interpreted Main use: educational tool, including kids Availability: multi-platform, Java compiler (applets), nominal cost

NetLogo Simplest agent modeling system useful to researchers Programming: it’s own object- oriented agent language, interpreted, new 3D visuals Main use: education + research Availability: multi-platform, written in Java, applets, free

MatLab Highly capable numerical analysis engine and modeling system Programming: it’s own language, object-oriented extensions, compiled Main use: scientists and engineers; can be used for agent models Availability: multi-platform, moderate cost, need MatLab engine to run, good support, large user group

Mathematica Canonical system for doing symbolic mathematics Programming: it’s own interpreted language, partially compiled; weak object-oriented extensions; compact Main use: scientists and engineers; sometimes used for agent models Availability: multi-platform, expensive, need Mathematica to run

Swarm Early agent modeling system, written by C. Langton at Santa Fe Programming: Objective C (semi- archaic); difficult to install; Unix/Linux only Main use: many early agent models Availability: free, open source at Swarm.org

Ascape First agent modeling framework aimed at social scientists Programming: Java Main use: Spatial social science models (e.g., Sugarscape, Anasazi) Availability: multi-platform, applets, version 1.9 free, open source; version 3.0 commercial

RePast->SimPhony Agent modeling platform targeted at social scientists Programming: Java and.Net C# -> visual language; new extensions to GIS systems (GRASS) Main use: social science Availability: multi-platforms, applets, free, open source, large user group, good support

MASON Next generation agent modeling system for social scientists and others Programming: Java Main use: social and computer science; separates simulation engine, visualization and analysis Availability: multi-platform, applets, free and open source, good support

Java Canonical object-oriented multi- platform programming environment Programming: compiled to machine independent form, pretty fast; social scientists need 1 course to do it well Main use: widely used in all fields Availability: multi-platform, applets, free, including many good IDEs

C/C++ Canonical object-oriented programming environment Programming: compiled to machine specific form, fastest execution time; social scientists need 1 course to do it safely, often 1 more to do it well Main use: widely used in all fields Availability: code can be multi- platform, binaries not multi-platform, free to expensive

Summary Programming ‘maturity’/experience Performance

Summary Programming ‘maturity’/experience Performance AgentSheets

Summary Programming ‘maturity’/experience Performance NetLogo AgentSheets

Summary Programming ‘maturity’/experience Performance MatLab NetLogo AgentSheets

Summary Programming ‘maturity’/experience Performance Mathematica MatLab NetLogo AgentSheets

Summary Programming ‘maturity’/experience Performance Ascape 1.9 Mathematica MatLab NetLogo AgentSheets

Summary Programming ‘maturity’/experience Performance Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0

Summary Programming ‘maturity’/experience Performance RePast Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0

Summary Programming ‘maturity’/experience Performance RePast Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0

Summary Programming ‘maturity’/experience Performance RePast Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0 MASON

Summary Programming ‘maturity’/experience Performance Java RePast Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0 MASON

Summary Programming ‘maturity’/experience Performance Java C/C++ RePast Ascape 1.9 Mathematica MatLab NetLogo AgentSheets Ascape 3.0 MASON