the state of webdynamo: an agentcubes web api scott keller erin rowland stuart reed michael wally...
DESCRIPTION
Focus of this Presentation Project Overview GUI Architecture Demonstrations Erin Rowland3TRANSCRIPT
![Page 1: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/1.jpg)
1
WebDYNAMO
The State of WebDynamo:An AgentCubes Web API
Scott KellerErin RowlandStuart Reed
Michael WallyGeorge McCabe
dy· na· mo: (n.) A generator
Erin Rowland
![Page 2: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/2.jpg)
2Erin Rowland
Scott Keller
Erin Rowland
Stuart Reed
Michael Wally
George McCabe
T h e W e b D y n a m o Te a m
W e b DY N A M O
![Page 3: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/3.jpg)
3
Focus of this PresentationProject OverviewGUIArchitectureDemonstrations
Erin RowlandW e b DY N A M O
![Page 4: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/4.jpg)
4
Focus of this PresentationProject Overview
◦Senior Projects Class◦The Problem◦Our Solution
GUIArchitectureDemonstrations
Erin RowlandW e b DY N A M O
![Page 5: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/5.jpg)
5
Senior Projects ClassComputer Science Capstone13 Teams … 61 studentsIndustry ProjectsEntertainment ProjectsEducational Projects
◦Health Care Education using Second-Life University of Colorado Denver College of Nursing
◦Science on a Sphere Craft Technologies Group
Erin RowlandW e b DY N A M O
![Page 6: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/6.jpg)
6
The Problem:AgentCubes Needs
Improvement
Portability (Multi-Platform)AccessibilityCollaboration
W e b DY N A M O George McCabe
![Page 7: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/7.jpg)
7
The Problem:Portability
AgentSheets (2D) is available for Windows and Mac operating systems
However, AgentCubes (3D) is currently only available for Mac OS X
AgentCubes is currently not available to the public (in development phase)
George McCabe
![Page 8: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/8.jpg)
8
The Problem:Accessibility
AgentSheets and AgentCubes Require User to Download and Install the Software
Work done in program restricted to user’s computer
W e b DY N A M O George McCabe
![Page 9: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/9.jpg)
9
The Problem:Collaboration
Projects cannot easily be shared with others without downloads, which restricts inspiration
Collaboration on projects requires all participants to use the same machine with the program installed
George McCabe
![Page 10: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/10.jpg)
10
Solution:Render 3D in a Web Browser
API of JavaScript Calls Implement WEUP Behavior and Agents
Graphics in O3DWebGL (In Development) an Option
Interact with WEUP and the “Dark Tunnel” Compiler
Allows Users to Access Worksheet From any Computer With Internet Access
W e b DY N A M O George McCabe
![Page 11: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/11.jpg)
11
The Solution:Portability
Use O3D Graphics API
O3D works easily on multiple operating systems
O3D works easily on multiple web
browsers
Allows availability to the publicGeorge McCabe
![Page 12: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/12.jpg)
12
The Solution:Accessibility
Only download required is the O3D
Plug-in for the web browser
Work done in a worksheet can be accessed from any computer with internet access and the O3D Plug-in
George McCabe
![Page 13: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/13.jpg)
13
The Solution:Collaboration
Sharing projects with other users is easy, since the projects will be stored online in a database
Users can easily access other projects and become inspired by them
Multiple users can work together on a project from any location with internet access
George McCabe
![Page 14: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/14.jpg)
14
Solution: (cont’d)Other Components
◦ Web End-User Programming◦ GUI Allows Users to Create Agents and Define
Their Behavior◦ Creates XML files to Store Agents, Behaviors,
and the SceneW e b DY N A M O George McCabe
WEUP
![Page 15: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/15.jpg)
15
Solution: (cont’d)Other Components
WebDynamo is an O3D Version of the AgentCubes Worksheet◦Tools Allow Interaction With the Scene
Draw and Manipulate Object Instances Pan and Zoom Camera
W e b DY N A M O George McCabe
![Page 16: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/16.jpg)
16
Solution: (cont’d)Other Components
“Dark Tunnel” CompilerUniversity of Lugano in
SwitzerlandGenerates JavaScript
Calls API Functions Defined by WebDynamo
W e b DY N A M O George McCabe
![Page 17: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/17.jpg)
17
Focus of this PresentationProject OverviewGUI
◦Worksheet◦Toolbar
ArchitectureDemonstrations
Stuart ReedW e b DY N A M O
![Page 18: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/18.jpg)
18
WebDynamo GUIO3D Worksheet
W e b DY N A M O Stuart Reed
Scene
Toolbar
Agent
![Page 19: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/19.jpg)
19
AgentCubes Worksheet ToolsJavaScript Handlers for
Keyboard and Mouse InputCalls Method for Active Tool
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
![Page 20: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/20.jpg)
20
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
Simulation
Runtime Controls
•Stop•Run•Step
![Page 21: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/21.jpg)
21
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
Agent Controls
•Se lec t•Draw•Erase•Hand•Hammer
![Page 22: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/22.jpg)
22
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
Camera Controls
•Pan•Zoom•Rotate
![Page 23: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/23.jpg)
23
WebDynamo GUI Toolbar
W e b DY N A M O Stuart Reed
Worksheet
Controls
•Ref resh•Load•Save•C lear
![Page 24: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/24.jpg)
24
Focus of this PresentationProject OverviewGUIArchitecture
◦Conceptual Diagram◦Requirements◦Model-View-Controller
Demonstrations
Michael WallyW e b DY N A M O
![Page 25: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/25.jpg)
25
WebDynamo Conceptual Diagram
XML
Definitions
API
G
U
I
O3D
VAT
XML
Rules
CompilerUniversity of
Lugano
WEUP
GUIOPEN
JavaScript
Web
Dynamo
W e b DY N A M O Michael Wally
![Page 26: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/26.jpg)
26
Compiler, University of Lugano
Calls WebDynamo JavaScript APIParses XML Behavior files
W e b DY N A M O
CompilerUniversity of
Lugano
Michael Wally
![Page 27: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/27.jpg)
27
WEUP GUI
Write XML File Attributes for Project
Communicate With WebDynamo Input
W e b DY N A M O
WEUP
GUI
Michael Wally
![Page 28: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/28.jpg)
28
WebDynamo
API and GUI written in JavaScript
API Methods Designed to Handle External Commands
GUI Rendered Using Google’s O3D to Imitate AgentCubes.
W e b DY N A M O
API
G
U
I
O3D
Web
Dynamo
Michael Wally
![Page 29: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/29.jpg)
29
Environmental Requirements
Software / Development Environment◦ Supported Browsers:
Chrome, Firefox 3, Safari 4, IE 8◦ Supported Operating Systems:
Windows XP, Mac OS X, Linux◦ Implement API in JavaScript and O3D
W e b DY N A M O Michael Wally
![Page 30: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/30.jpg)
30
Environmental Requirements
Hardware Environment◦ Windows:
x86 CPU, DX9-compatible GPU with VS 2.0 and PS 2.0 support
◦ Mac: Any Intel Mac (Unsupported GPUs Will Use
SW rederer)
W e b DY N A M O Michael Wally
![Page 31: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/31.jpg)
31
Functional RequirementsRead/Write XML
◦Keep Track of Object AttributesAPI functions
◦Condition and Action EventsO3D Scene RenderingWorksheet GUI
◦Manipulate Agents◦Save and Load Simulations
W e b DY N A M O Michael Wally
![Page 32: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/32.jpg)
32
Architecture
W e b DY N A M O
Simulation Functions
Editing and Camera Tools
Controller
View (Worksheet)Model
User InputWebDynamo
JavaScript Functions
Parse and Return XML Data
O3D JS
Object State
Calls JS API Functions
WEUP
Stores XML Object Attributes
Scott Keller
![Page 33: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/33.jpg)
33
Architecture
W e b DY N A M O
Simulation Functions
Editing and Camera Tools
ControllerWebDynamo
JavaScript Functions
Parse and Return XML DataCalls JS API Functions
WEUP
Stores XML Object Attributes
Controller◦WebDynamo JavaScript Handlers
Editing and Camera Tools Simulation Functions (Stop, Run, Step)
◦Parse and Return XML Data WEUP and API Method Calls
Scott Keller
![Page 34: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/34.jpg)
34
Architecture
W e b DY N A M O
Controller
Model
Object State
Model◦Maintain Agent Attributes◦Class Definitions
Agent, Method, Rule
Scott Keller
![Page 35: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/35.jpg)
35
Architecture
W e b DY N A M O
Agent Class◦Variables
Depiction (Array), Coordinates, Methods (Array)◦Methods
addDepiction, getDepiction, addAMethod, testMethod
Scott Keller
class Agent {
String name; int x,y,z; int transform; depiction = [depic1, depic2, ...];methods = [whileRunning, doStuff, ...];
addDepiction(depic); getDepiction(); addMethod(); checkMethods();
. . .
}
![Page 36: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/36.jpg)
36
Architecture
W e b DY N A M O
Method Class◦Variables
Rules (Array), condState (Array)◦Methods
testMethodScott Keller
class Method {
rules = [rule1,rule2,...];addRule(); getRule(); checkRules();
. . .
}
![Page 37: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/37.jpg)
37
Architecture
W e b DY N A M O
Rule Class◦Variables
Conditions (Array), Actions (Array)◦Methods
Implement, testConditions, implementActions
Scott Keller
class Rule {
conditions = [cond1,cond2,...]; actions = [action1,action2,...];
addCondition(); addAction(); check(); testConditions(); doActions();
. . .
}
![Page 38: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/38.jpg)
38W e b DY N A M O Scott Keller
class Rule
function see(direct,agent) { var i=this.x; var j=this.y; var k=this.z;
switch(direct) { //i+1;j+1 case 1: if(myBoard[i+1][j+1][k+1].pic == agent.pic) return true; break; case 2: if(myBoard[i+1][j+1][k].pic == agent.pic) return true; break; case 3: if(myBoard[i+1][j+1][k-1].pic == agent.pic) return true; break; ... default: } return false; }
function move(direct) { var i=this.x; var j=this.y; var k=this.z;
switch(direct) { case 1: if(myBoard[i+1][j+1][k+1] == 0) myBoard[i+1][j+1][k+1] = this; myBoard[i][j][k] = 0; g_transforms[this.transform].translate(1,1,1); return true; break; case 2: if(myBoard[i+1][j+1][k] == 0) myBoard[i+1][j+1][k] = this; myBoard[i][j][k] = 0; g_transforms[this.transform].translate(1,1,0); return true; break; ... } return false; }
class Agent class Method
![Page 39: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/39.jpg)
39
Architecture
W e b DY N A M O
Controller
View (Worksheet)
User Input
O3D JS
View◦WebDynamo Worksheet
Input (Toolbar and Scene)
Output (O3D JavaScript)
Scott Keller
![Page 40: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/40.jpg)
40
Focus of this PresentationProject OverviewGUIArchitectureDemonstrations
◦GUI◦Methods
Stuart ReedW e b DY N A M O
![Page 41: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/41.jpg)
41
SummaryProject OverviewGUIArchitectureDemonstrations
Michael WallyW e b DY N A M O
![Page 42: The State of WebDynamo: An AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George…](https://reader036.vdocuments.us/reader036/viewer/2022081521/5a4d1be57f8b9ab0599e1db9/html5/thumbnails/42.jpg)
42W e b DY N A M O
Questions?