New release of the Behaviour Composer

This release fixes bugs and updates the home page and related pages. The Behaviour Composer to NetLogo tool has also been updated to fix a bug that was triggered by plot, monitor, or other widgets with an ampersand in the label. No need to download the new version unless ampersands in titles of NetLogo widgets are needed. Full details of source code changes are here.

The new Modelling4All home page

The new Modelling4All home page

 

Posted in Software development | Leave a comment

Agent-based modelling at the University of Oxford

IT Services offers an agent-based modelling (ABM) service – sound esoteric? Not so!

ABM is a simulation technique that emphasizes modelling the interaction between autonomous agents or individuals. Think about the way ants forage – each ant might have a behaviour to move randomly until it finds some food, at which point it heads back to the nest and secretes a chemical signal (pheromone). The pheromone attracts other ants towards the food source, and guides them towards the nest too. An ant by itself would be extremely inefficient at gathering food, but many ants with this collective chemical memory are very effective. But it is more complicated than this – the ants have to secrete a pheromone that evaporates and diffuses at the right rates!

You can run an ant foraging model here.

Ant foraging is just one example from zoology, but researchers are using ABM in nearly all disciplines, but especially ecology, epidemiology, economics, political sciences, anthropology and public policy.

A video of a model of the Spanish Flu Pandemic that our team built illustrates the use of ABM in both epidemiology and history.

So why are researchers creating models? It must be to predict the future right? No so, and one of the fathers of ABM went out of his way to point out that there are at least 16 good reasons to create ABMs other than prediction.

Students learning to model need guidance and an example is this tutorial for modelling an epidemic that spreads over a social network (does not work with Internet Explorer 9 or below).

How do we support researchers at Oxford? The research support team provides specialist advice in a number of key areas aligned to the IT Services strategic plan for research. In each domain we actively engage the research community by offering taught courses through the ITLP, presentations for research groups, and web-based resources. In all cases we aim our services at the long-tail i.e. the population of researchers that need support getting started, or research groups that want to experiment with this technique and need hands-on practical support (someone to write the code).

In the case of the ABM specialism we maintain and support a web application called the Behaviour Composer, a pioneering tool for creating and sharing NetLogo simulations online. The Behaviour Composer was created in the modelling4all.org project with funding from the Jisc and Eduserv between 2007-2010. We won a University of Oxford teaching award in 2009. We also meet researchers on request, and charge for bespoke teaching for research groups, and for supporting work packages on research projects.

Here’s a few examples to illustrate the number of different ways ABM is being used by researchers at Oxford:

  1. Created an ABM to explore the Modes of Religiosity theory, the model later became part of a doctoral thesis (Institute of social & cultural anthropology, European Commission project – Explaining Religion project).

  2. Co-designed and teach 3 hour practical on using ABM to think about the spread of a virus through different social network topologies (Zoology)

  3. Help teach a 2-hour practical on using ABM to think about wealth distribution (Said Business School)

  4. Designed and built a game-like ABM to discuss cropping decisions with farmers in Cameroon (Institute of social & cultural anthropology)

  5. Support researcher in creating a model of living populations that are based on data from medieval graveyards(Archeology department)

  6. Created the Epidemic Game Maker a tool for creating models of the spread of an infection for the Royal Society Summer Science Exhibition (Zoology department)

  7. Supported researcher in getting started with a model of the Arab Spring and commented on his transfer document (Oxford Internet Institute)

  8. Bespoke ABM course for agricultural genetics researchers from Edinburgh and Alberta Universities (Joint Canadian and ESRC project)

  9. Taught a course on how to teach ABM in UK universities (Life Sciences HE Academy)

  10. Supported postdoc in creating a model of cancer cells and genes (Applied computational genomics group: http://www.medsci.ox.ac.uk/newsletters/april-2014/it-news#section-2 )

  11. Created a model to constuct counter-factual histories of the Spanish Flu Pandemic: http://ww1centenary.oucs.ox.ac.uk/body-and-mind/agent-based-model-the-spanish-flu (Jisc WW1 projects)

  12. Supported Prof. Cindy Skatch in designing a model to think about the consequences of the French government’s Burka Ban (Politics and International Relations)

  13. Supported researcher in building an network formation model (Economics)

  14. Supported researcher interested in modelling the spread of Lyme disease and ticks in UK national parks (Zoology)

  15. Support researcher interested in modelling migration between India and the UK ( International Migration Institute)

Besides the projects we have supported there are many other ABM projects within Oxford including

  1. Institute for New Economic Thinking CRISIS project

  2. The Insect Vector Project in the Zoology Department

  3. FHI-Amlin Research Collaboration on Systemic Risk of Modelling by the Future of Humanity Institute

  4. Several projects led by Felix Reed-Tsochas in the Said Business School

We also co-host a university-wide agent-based modelling get-together each term.

Read more about the ABM Service and ongoing work in the Modelling4All blog. If you are interested in learning more about ABM send an email to researchsupport@it.ox.ac.uk

 

Posted in Uncategorized | Leave a comment

ESSA 2014

Modelling4All workshop at ESSA 2014

Modelling4All workshop at ESSA 2014

I attended ESSA 2014 in Barcelona Sep 1-5th. Unlike previous ESSA conferences this brought together social scientists, historians and economists each having their own strand in the 30 minute paper presentations. Whilst I stuck mostly to the social sciences talks, it was interesting to see how other discplines are using and discuss agent-based modelling. It is also heartening to see ABM being used in the Humanities (an area under-represented in our engagements at Oxford).

I earned my bacon by giving a workshop about using the Behaviour Composer as a meta-modelling tool (modelling4all project). I think I got the idea across, and there were a lot of in-depth questions during the practical part of the session. We built the Sugarscape model in homage to the keynote the next day by Joshua Epstein but later found out he’d cancelled due to illness, which was a real disappointment because I really wanted to meet him.

The conference website brings together all the details about the talks and we were given the papers and posters on our memory sticks. Here are the three memories that stand out most from the conference:

  1. First and foremost, this year was the first to feature a serious games strand. The first presentation by Alexander Verbraeck (you’ll have to use google translate) was about their use of various kinds of simulation in business games. Alexander gave some important words of wisdom with regards to how great graphics shouldn’t trump game design, and the simulations that really work are those that are uses creatively within a workshop. What I mostly took from this session was that there are lots of other scientists doing work with ABM.
  2. Hidden amongst the posters (I somehow managed to walk past it several times) was a description of work by Tomas Trescak et al at the University of West Sydney who have recreated a 3D virtual model of the Uruk civilisation. Not only that, they’d given people in the model behaviours that meant they trade, get hungry and move about the city in a realistic manner. But where this most matches work here is that they’ve done this by writing open source plugins to Unity. Actually I found out about this work by bumping into Mike Bithell at Cambridge, who used to be in Geography here and who is also interested in participatory games.
  3. Stefano Picascia has created a GIS based simulation of manchester where the map is populated with historical house price data by postcodes. The aim of the model is to try to predict which areas will regenerate through private capital, and which will need public sector intervention. I liked this paper because it reassures me NetLogo can do GIS modelling, and the model is based on real world data but being used to try to extrapolate forwards. If successful there’s an obvious role for such a model in policy-making.
Posted in Meetings | Leave a comment

Report from Constructionism 2014 – Days 3-5

Thursday’s plenary keynotes began with Gary Stager who talked about constructionism and the maker movement.  Great examples at http://sylviashow.com/episodes from a young girl.

Brian Harvey talked about the history of Snap! which he wishes could be called Scratch Senior (since Snap makes Scratch a proper programming language by adding lists and first-class procedures). Note that Mitchel Resnick gave a workshop on Scratch Jr (aimed at 5-7 year olds, iPad only just now, pretty well designed simplified version of Scratch). Brian also gave a workshop on Snap! where we learned that Snap! is well-designed for introductory programming courses at the high school or university level. Brian talked about the compromises he has been making with his principles in helping to design a standardised high school advanced placement course that universities will accept for credit.

Wolfgang Slany presented Pocket Code, a Scratch-like programming system that runs on smart phones and tablets so one can program smart phone apps on smart phones (unlike App Inventor where you author on a PC). He also ran a workshop where we learned how easy it was to make cool apps on your phone.

Jennifer Jacobs gave a nice talk about Dresscode that implements a nice ability to move back and forth between direct manipulation and code. And the code was typically used to generate designs for digital fabrication and physical making.

Carina Girvan talked about how creative teachers could be in Second Life using Scratch for Second Life. Second Life (and OpenSim) seem to continue to have interesting things happening on university run islands. But much of it is private. Many universities did move to OpenSim when Second Life stopped their university discount.

There was a good panel discussion of the concept of powerful ideas.

David Weintrop gave a good demo of BEESMART - A Microworld for Swarming Behaviour and for Learning Complex Systems Concepts. Implemented in NetLogo. David presented his paper on ‘Situating programming abstractions in a constructionist video game’  but I was presenting in a parallel session so missed it. He also presented Arthur Hjorth’s ‘Redesign Your City – A Constructionist Learning Environment on Regional Development’  but I was chairing a different session at the time. David also gave workshop of NetLogo’s network analysis primitives but I had yet another conflict.

I gave a talk about ToonTalk Reborn and got good feedback. Also gave several demos during the conference.

In another session I demonstrated MoPiX - a system for being creative with algebra that I built 6 or 7 years ago.

Pavel Boytchev gave a nice talk about ‘deconstructionism’ — the role that the ability to break things into parts plays in learning and problem solving. Nice demos.

Richard Noss and Celia Hoyles talked about why teaching programming to children. ToonTalk and the Playground Project (1999-2002) that I was part of was a major example.

Videos of the plenaries are available online now.

ken-at-constructionism

Constructionism 2016 will be in Thailand (17 of the 120 conference attendees were from Thailand).

Posted in Uncategorized | Leave a comment

Report from Constructionism 2014 – Day 2

Chronis Kynigos talked about constructionist e-books.  Technically the idea is to have e-books that can have embedded in this live constructionist tools. Authoring tools, student tracking and learning analytics are  part of this large EU-funded project called MCSquared.

17 participants are from Thailand and they gave a presentation of constructionism in Thailand in schools (including a special school designed around constructionism), rural communities, and learning in industry. Nice examples of each. Meditation is part of the story — seems to enhance the introspective phase of constructionist learning.

A team from the University of Cyprus presented ‘cognitive processes enacted by learners during co-construction of scientific models’ which led to a very interesting discussion about student-designed models versus the ‘correct’ model. This issue is acute in physics. Physics teachers worry that students building wrong models is counter-productive. Many pointed out how different biology or social science is in this regard. And some argued that even in physics there is a learning trajectory where students build models that are correct only in special situations and then refine and improve them iteratively.

Lots of interesting talks about programming systems for young children.

Posted in Uncategorized | Leave a comment

Report from Constructionism 2014 – Day 1

Mitchel Resnick began with a talk about the four P’s of creative learning: projects, peers, passion, and play. He argued that students should be encouraged to choose their own projects that they are passionate about. He is worried that too much emphasis is placed on puzzle solving and less about being creative and expressive. His Scratch project is succeeding exceedingly well in the ‘peer’ dimension (6 million projects uploaded, 1.5 million comments per month). The web site has areas where the more advanced children help others (and are trained to support others instead of simply giving them complete answers). He argued against gamification except where it is peer-to-peer (e.g. ‘likes’ and ‘favourites’). He praised a book call Drive about the short-term benefits and long-term costs of gamification.

Edith Ackermann talked about the role of humour in creativity and argued that the playfulness that is important in learning and creativity (and doing science?)  is more than the process of tinkering — it includes fantasy, whimsy, and humour.

Karen Brennan talked about constructionism in the classroom and how to avoid technocentrism. Many teachers worry that they need to be experts on every aspect of a programming language before they can begin teaching it.

In the panel discussion there was a good deal of concern that the educational establishment is taking constructionist tools (e.g. Scratch or NetLogo) and using them in instructionalist teaching. Though several people thought this was OK so long as there was a balance between instruction and construction.

Posted in Uncategorized | Leave a comment

New version of Behaviour Composer

This release updates the documentation, sample models, and fixes a few minor bugs.

Posted in Software development | Leave a comment

New releases of Behaviour Composer and BC2NetLogo

To use the latest NetLogo (version 5.1.0) there is a new version of BC2NetLogo.

Minor bug fixes were made to the Behaviour Composer and it was upgraded to use the latest versions of Google App Engine and GWT.

Posted in Software development | Leave a comment

A new fishing game idea

Before I was envisaging a god-game like mode which I foolishly called a godel:

  • A play on words combining model and god-game but also it seems something that confused mathmo-compsci folk because of Gödel and Gödel Machines
  • A questionnaire combined with a visual representation of a model of an ecosystem where answers calibrate the model
  • A tool to stimulate group discussion by affording complexity i.e. the non-linear dynamics of human and natural systems
  • Is it an expert system? No – we don’t know enough to tell people what to do. Of sorts – a collective configuration could be didactic, in some sense a plan or community dashboard
  • The recording of a player’s interaction with a godel is hopefully an expression of their mental model or understanding of the world they live in (social + ecosystem).
  • A tool to explore dissonance, and to reflect on misunderstandings
  • A tool to understand when individual behaviours conflict (the moments when selfish behaviour can lead to a tragedy of the commons)
  • A godel in this research context is about authentic play i.e. the aim is to learn lessons about how to behave within a specific ecosystem
  • A tool to find out the moment when the scripts / everyday behaviour of human actors needs to change to avoid ecosystem collapse
  • A tool to support collective decision-making e.g. to decide how to adapt at such critical moments

I met Richard Law at YCCSA, and Adrienne Tecza recently. They have given me some new ideas about how to build a fishing godel:

  • Load NL HubNet patches with fishing data relating to the size and species of fish at a location on a map. The distribution would need to change over time i.e. month by month, seasonally or over years (I don’t know enough about fish movement).
  • The interaction design would ask players to step through the following together i.e. a number of fishing stakeholders at their own laptop:
    • Read scenario information: market prices, weather, historical fishing catch…
    • Point on a map to say where player wants to start fishing
    • Boat moves to that location and some time passes
      • Players can see (for free) some information about the fishing activity of other players:
        • the fish that are being caught
        • who (their name) is making the catch
        • the gear being used
      • Players can ask for this information from other players within a wider range
      • The players being asked for information can decide what to say i.e. truth, subset of the truth, nothing
      • Some players are out of range (this may not be worth modeling now that mobiles are common place?)
      • The players can choose another fishing location but they are constrained by time and petrol
    • Once the fishing day is over there’s a scene in the bar where global information about the catch is shared
    • To avoid discord/punch ups/ethical issues, each player can register with a pseudonym, but this would take away the chance to record how real fishermen play the game according to their knowledge of the ecosystem. (It may be that this problem would go away if the game could be played iteratively and players could learn which pseudonyms to trust. It may also be that real fishermen can guess who is who by the way they play).
  • The model design takes into account:
    • How the act of fishing depletes fish stocks (hardest, perhaps impossible part)
    • The effect of weather on fishing (makes it dangerous) and fish stocks
    • Market prices of different fish species and sizes (visualized perhaps as prices on the menus of fancy hotels)
    • The rate of fish stock decline is proportional to gear type
    • Gear also has an effect on the environment i.e. damages coral
    • Fish stocks replenish
    • The model is loaded with map data and fish stock variation over time that resembles the place where real fishers extract ecosystem services (the link between game and model i.e. authentic play)
  • An additional step in the game could be to ask fishers to crowd source the fish count topology map
  • Such a godel would give us interaction data relating to:
    • Fisher knowledge of their ecosystem
    • Game-theory like data relating to sharing of information
    • The number of people who use catch information, and the number of people who risk finding new bounties (explore the ecosystem) i.e. the balanced harvest approach to sustainable fishing

In terms of implementing this, I worry about using NetLogo because of all the issues I had with the extensions when trying to build the Somie farming model i.e. time extension not working with Goo extension (user interface customisation), Replay not recording efficiently, performance very slow on high resolution maps (probably my poor coding skills). Some of these issues should be solved in the next release. It would be ideal if this model ran on the web and worked well on mobile phones. Hopefully this be possible in the web-native version of NetLogo Northwestern and partners have been working on for several years. I’d also need to create a game experience but cannot see immediately how to do this in NetLogo i.e. how to show some information for a certain amount of real time, and then let multiplayer step-wise fishing simulation play out where there’s a real time is mapped to simulation time but still making it possible to see things happening such as fishing boats moving around, and fish being caught at a realistic pace. The scientist tends to abstract this information but I think it is important to visualise the complexity / details of the system, not least because real fishermen (the players) can highlight important erroneous assumptions.

Having said that – I don’t know of a better tool in terms of ease of programming whilst not compromising on complexity.

Here’s a sketch of the game made by Adrienne:

first sketch ofmultiplayer fishing game

first sketch ofmultiplayer fishing game

Posted in Kenya | 1 Comment

New release of the Behaviour Composer

This release includes better error handling, minor improvements, updated documentation and links, and bug fixes.

Full details at https://code.google.com/p/modelling4all/source/list

Also includes an improved introductory video.

Posted in Uncategorized | Leave a comment