Flash off! HLD

Levi Lightning Bug: Flash on! Flash off!
High Level Design (HLD) Document
1. Introduction
In this project you are modeling fireflies. Recent discoveries reveal that in some
parts of the world, fireflies light up in sync.
Your assignment is to create a model where different fireflies light up at random.
Then, create another model where the firefly’s lights start out random, but then
eventually sync up.
Each non-lit up firefly has a 25% chance of lighting up each time step. When they do
light up, the light goes out the next time step. When they see another firefly light up
at the same time, they synchronize, lighting up every other time step
2. Subject Matter Experts Agreement List
Name
Title/Role
Mandatory
Reviewer (Y/N)
Apprentice name
Developer
Y
Phil List
Supervisor
Y
Eric Horton
Intern-apprentice
wrangler
Y
Mentor
Mentor
Y
Approved
3. Requirements
Model 1
○ In this model there are Fireflies that flash their lights randomly.
○ The fireflies have two depictions, one with their light on and one with their
light off.
○
In the model the fireflies blink their lights randomly for the whole duration
○ The Fireflies blink on and off by changing agents
Model 2
○ In this model there are fireflies that try to synchronize their lights.
○ The fireflies have four depictions, one with their light on and one with their
light off, as well as being synchronized with the light on and with the light off
○ The fireflies try to synchronize each other, starting off randomly.
○ The Fireflies blink on and off and synchronize by changing agents
Based on your answers to these questions, create an outline that describes the
agents in the story. For instance:
a. Agents in the first model:
i. Firefly Agent (off)
1. 25% chance it turns into a lit firefly
2. 75% chance it stays off
ii. Firefly Agent (on)
1. Blinks off the next time step
b. Agents in the second model:
i. Firefly Agent (off)
1. 25% chance it blinks on
2. 75% chance it stays off
ii. Firefly Agent (on)
1. Blinks off the next time step
2. If it “sees” another firefly (adjacently next to it) blink at the
same time, they synchronize to one blink. Avoid two big groups
that never synchronize.
iii. Synced Firefly Agent (on)
1. Blinks off with all of the other synced ones
iv. Synced Firefly Agent (off)
1. Has a 100% chance of blinking on with all of the other synced ones
You will present your project to the class answering these questions:
-What did you find based on the model?
-What are some advantages and disadvantages to the program you used?
(JavaScript vs. AgentSheets)
-What was the hardest part in making this model? Why?
-What part of the model are you most proud of? Why?
4. Timeline
This is due within five days of receipt of the task (that would be Friday, June 20 for
those receiving this Monday, June 16). It is better to complete this sooner, so that
you can begin implementing an HLD that one of your classmates has written.
5. Desired Behavior / Components
How would you model agent 1 doing behavior 1? Give a step by step explanation of
how each agent does each behavior. Think about how you will demonstrate the
behavior in the AgentSheets model.
The Grid
The grid can be any size you like.
The Firefly Agents
There are four types of fireflies, Ones on and out of sync, ones off and out of sync,
ones on and in sync, and ones off and in sync. You can add as many fireflies as you
want, but they must be connected in some way
1. Model 1
a. Flashing fireflies always revert back to their non-flashy form in the next time
step.
b. Non-Flashing fireflies have a 25% chance of becoming flashing fireflies in the
next time step.
2. Model 2
a. Flashing and out of sync fireflies last only one time step. They turn into off
and out of sync one the next one, unless they “see” a firefly in sync next to
them, to which they join them in sync.
b. Off an out of sync fireflies have a 25% chance each time step to turning into
on and out of sync ones.
c. Flashing and in sync fireflies are of course, in sync with the rest, turning
into off and in sync fireflies.
d. Off and in sync fireflies turn into Flashing and in sync fireflies
6. Conclusion
The goal is this activity is to practice your skills with JavaScript or AgentSheets.
Written by Akinlabi Mason-Hogans
Special Thanks to Shodor