Software for Individualbased Models - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Software for Individualbased Models

Description:

Many kinds of entities. Virtually infinite model states and execution pathways ... Bugs in IBMs are: inevitable. not obvious. found only by looking hard ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 21
Provided by: stevera2
Category:

less

Transcript and Presenter's Notes

Title: Software for Individualbased Models


1
Software for Individual-based Models
  • Problems
  • Solutions
  • Software Platforms
  • Testing Methods

2
What Software Challenges Do IBMs Present?
3
Why is Software So Important for IBMs? (1)
  • Even simple IBMs can be complex
  • Many kinds of entities
  • Virtually infinite model states and execution
    pathways
  • Software design becomes important

4
Why is Software So Important for IBMs? (2)
  • Software is just another implementation of a
    model - NOT TRUE
  • Software must allow us to
  • Observe the model from many perspectives
  • Understand what happened and why

5
Why is Software So Important for IBMs? (3)
  • Quality control is a serious job
  • Errors are inevitable yet rarely obvious

6
Why is Software So Important for IBMs? (4)
  • Standardization and Communication
  • The more we use the same software tools, the
    easier it is to describe models completely and
    accurately

7
Software Engineering(vs. programming)
  • Selecting an appropriate platform
  • Designing the softwares organization
  • Providing observer capabilities
  • Conducting a quality control program
  • Conducting software maintenance
  • ...

8
Dealing with Software Challenges
  • Select an appropriate, widely used platform
  • Collaborate with software professionals
  • Provide observation and analysis tools early
  • Conduct a pervasive testing process

9
Software Platforms
Repast
10
Software Platforms
  • Reduce effort
  • Reduce errors
  • Provide tools
  • Observation
  • Automatic experiments
  • Standardize models enhance communication
  • Provide a community

11
Software Testing
  • Bugs in IBMs are
  • inevitable
  • not obvious
  • found only by looking hard
  • (if not found) extremely expensive and
    embarrassing

12
Software Testing Methods (1) Code Reviews
  • Catch many typos and logical errors
  • Encourage well-organized code
  • software should be written for people, not
    machines

13
Software Testing Methods (2) Spot Pattern Tests
  • Catch widespread errors
  • Are powerful with graphical output

14
Visual Pattern Tests
15
migrantLocX migrantPrevLocX (timeStepSize
(habVelX migrantRandomVelX) ) migrantLocY
migrantPrevLocY (timeStepSize (habVelY
migrantRandomVelY) )
16
Testing Methods (3) Second Implementation
  • The only (reasonably) reliable way to catch
    errors that happen only some of the time or to
    some individuals
  • (which are very common!)

17
Second Implementation of Submodels is Not Hard
Written formulation
Submodelprototype
18
Second Implementation of Submodels is Not Hard
Written formulation
Complete software
Submodelprototype
19
Second Implementation Example
20
Software What We Can Do
  • Plan and budget
  • Share, develop, and support common tools
Write a Comment
User Comments (0)
About PowerShow.com