Team 1 Jesus Weibo Mina Yunming
Client’s Needs Short term, medium term, long term plans Simulation of energy system to provide affordable future energy Involves 5 components (supply, environment, infrastructure, technology, economy)
To meet these needs, we chose an Agent- Based Modeling Simulation Agent – autonomous entity with its own behaviors and state Set of basic decision rules govern interaction of agents Advantages: Allows us to create seemingly complex situations from simple behaviors Extensible, easy to develop Possible disadvantage: Non-deterministic, results fall into a certain range (might be more realistic)
How our design meets the client’s needs: Agents are modules(supply, environment, etc.) Takes inputs, does simple behaviors, produces outputs (including amount and price of energy) Agents interact with each other, allowing simulation to take all 5 components, and their effects on each other, into account Allows users to create/delete/adjust agents & behaviors Modules scheduled by clock cycles. Set number of cycles to reflect short/med/long terms.
Specifications Expected User: Any web user (though useful simulations would require some expertise) Graphical Use Interface Display bar charts of graphs of results. (Projected energy generation, environment impact etc.) Allow users to make connections between modules at run time. Unlimited number of connections and modules.
Implementation Definitions: Module: An autonomous, discrete entity with its own goals and modifiable behaviors. It also keeps an internal state. Strategy: A set of decision rules and interaction behaviors of an agent.
Implementation Processing Modules Features of a single Module Multiple (Typed) Inputs and zero input is allowed. Multiple (Typed) outputs. All modules will have their states. It uses the inputs to produce an output. All modules run in a module. It can be used to create a new module. Every module must take strategy as an input.
Implementation Interaction between Modules Modules take input from other modules ‘output. One output can go into many inputs. Modules only interact with input and output of inside the same module.(scope)
Implementation Scheduling of all Modules All modules are synchronized with a single clock signal. Modules push their outputs at the end of each clock cycle. A clock cycle is finished when all modules finish their computations. Modules start their computations at the beginning of a new cycle. All modules start running when a start signal from user is initiated. All modules stop running when a stop signal from user is initiated.
User Interface
Network Network The whole system resides in Azure. There should be a link on the customer’s website that allows people to access our program
Team Makeup GUI: 5ppl write the HTML and JavaScript work on frontend & backend JavaScript Model: 5ppl Implement agents and their behaviors Design strategy Interaction of Agents Agent Instance Manager Controller: 3ppl Define system API Build prototype Integrate Subsystems Azure: 2ppl PM and the wolf: James and Robert
Timeline Milestone One: Draft API (controller) Hello World on Azure Functioning HTML page Basic Models End to end connection(JS to C#) Milestones Two: GUI and Module are connected(GUI draw lines taking input from module) GUI can create strategies in Model(GUI back to Module) Complete Set of Modules Timeline: Sep 23 rd : Groups and tasks assigned Sep 30 th : Draft APIs Oct 7 th : Milestone One -2,3,4,5 Nov 1 st : Milestone Two Nov 17 th : 1. Running Simulation; 2. More detailed display Dec.1 st : Code part done. Presentation