The University of Melbourne SWEN90004: Modelling Complex Software Systems Workshop Cx.05: Putting it all together and Petri nets First Semester, 2022
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.
Copyright By PowCoder代写 加微信 powcoder
“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).
Putting it all together
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 + θ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.
Petri nets
1. Soundness
Workflow nets are a class of Petri nets for the analysis of workflows and business pro-
A Workflow net has a unique source and a unique sink place and all places and transi- tions are on a directed path from this source place to this sink place.
A Workflow net is sound if and only if:
a) from every reachable marking a marking can be reached that marks the sink place
(option to complete),
b) every reachable marking that marks the sink place marks it with one token only
and marks no other place (proper completion), and
c) for every transition a marking can be reached that enables this transition (no dead
transitions ).
There is a lot of reference material on Workflow nets and soundness available; one
reference is provided below.
(a) Create a workflow net that only violates the option to complete property.
(b) Create a workflow net that only violates the proper completion property.
(c) Create a workflow net that only violates the no dead transitions property.
(d) Create a workflow net that violates the option to complete and proper completion properties, but not the no dead transitions property.
(e) Create a workflow net that violates the option to complete, proper completion, and no dead transitions properties.
Explain your answers. 2. Vending machine
Extend the vending machine example from the lecture slides so that after inserting a coin, the customer can select a product (out of two offered products) that they want to buy. Ensure that your vending machine can be loaded with products, and the accu- mulated coins can be collected from the coin bank. Assume the infinite capacities for products and coins in your machine. Discuss cold and hot transitions of the resulting vending system and whether your machine is live and bounded.
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.
For more information on workflow nets and soundness, see:
W.M.P. van der Aalst. Verification of Workflow Nets. In P. Az ́ema and G. Balbo, editors, Application and Theory of 1997, volume 1248 of Lecture Notes in Computer Science, pages 407–426. Springer-Verlag, Berlin, 1997.
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com