The University of Melbourne SWEN90004: Modelling Complex Software Systems Workshop Cx.05: Putting it all together
First Semester, 2021
This workshop provides an opportunity to bring together the knowledge you have acquired over the preceding five weeks of SWEN90004. Form groups of 4–6 people and spend about 10 minutes on each task.
Background
This workshop uses the case study of innovation diffusion, specifically product adoption for all tasks.
“Diffusion of innovations is a theory that seeks to explain how, why, and at what rate new ideas and technology spread through cultures. (Wikipedia)”
Product adoption is one example of innovation diffusion. If several new products are released into a marketplace, some will succeed and become widespread, while others will fail to become popular. For example, in the domain of online social networking sites, Facebook has become ubiquitous, while MySpace, Friendster and Google+ have failed to maintain momentum.
The system of product adoption involves: one or more products, the individuals who are cur- rent or potential users or customers of those products, the communication channels between individuals, and the social systems in which individuals are embedded (containing external influences such as media, etc).
Your tasks
1. Getting started
Which properties of a complex system does the “product adoption system” exhibit? Who could be interested in a model of product adoption? What specific outputs would end-users of such a model be interested in? These end-users will want to ensure that your model is an “accurate” representation of the real world. What real world data could you use to validate a model of product adoption? That is, to demonstrate that the behaviour of your model matches that of the real world system, much like you compared the behaviour of the NetLogo and Java implementations in the Assignment.
2. ODE model
An ODE for this situation is proposed as follows (Bonabeau 2002):
Let us assume a new product’s value V depends on the number of its users, N, in a total population of NT potential adopters, according to the following function:
1
(1 + θd)ρd
V(ρ)= ρd+θd (1)
where ρ is the fraction of the population that has adopted the product (N/NT ), θ is a threshold which determines when the product adoption “takes off” (ie, enough of the population have adopted the product that it drives competitors out of the market), and d is an exponent that determines the steepness of the function.
For which scenarios would this model be useful? What are some potential shortcomings of this model? If you have time, explore the behaviour of the model, eg, using Matlab.
3. Agent-based model
An agent-based model for this system is proposed as follows (Bonabeau 2002):
For each individual agent who is not already a user of the product, the prob- ability of adopting the product is equal to V (ρ) per time unit. An individual may not know the total number of users in the population; therefore the pro- portion of users (ρ) is estimated on the basis of their social neighbourhood.
What are the advantages of the Agent-based model over the ODE model? Disadvan- tages? How would you design this model? What are the agents? What are the inter- actions? Think about some of the key questions raised throughout the course about space, time, information, state updating, interaction, decision-making, emergence and experimentation.
References
For more information on the case study, see:
Bonabeau E (2002) Agent-bsaed modeling: methods and techniques for simulating human systems, PNAS, 99 Suppl 3:7280–7287.
2