An Overview of the AgentCubes Web API Scott Keller Erin Rowland Stuart Reed Michael Wally George McCabe dy· na· mo: (n.) A generator 1Erin Rowland
What We Will Cover Sponsor Background ◦ AgentSheets: Demo of AgentCubes ◦ Google: O3D Demo The Problem The Solution Conceptual Diagram Requirements User Interface and Architecture Summary 2Erin Rowland
AgentSheets, Inc. Dr. Alexander Repenning CTO of AgentSheets, Inc. Professor of Computer Science at CU Boulder Balancing Educational and Motivational concerns Exposing Computer Science to Middle School Students 3 Erin Rowland
Generate simulations Create games Conceptual Aid for teaching AgentSheets, Inc. 4Erin Rowland
Scott Lininger: Designer, Programmer, and Writer Representative from Google SketchUp and O3D and O3D 5Erin Rowland
O3D Open-Source JavaScript API Generates Interactive 3D Graphics Applications Runs in a Browser Window beachdemo.html and O3D Erin Rowland 6
Topics Discussed Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Summary 7George McCabe
Problem: Expand AgentCubes Accessibility Portability (Multi-Platform) Usability Accessibility 8George McCabe
Problem: (cont’d) AgentSheets (2D) Requires User to Download and Install the Software AgentCubes (3D) Not Publicly Available ◦ Current Version in Development (Mac OS X) 9George McCabe
Solution: Render 3D in a Web Browser API of JavaScript Calls Implement WEUP Behavior and Agents Graphics in O3D WebGL (In Development) an Option Interact with WEUP and the “Dark Tunnel” Compiler Allows Users to Access Worksheet From any Computer With Internet Access 10George McCabe
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 Scene 11George McCabe
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 12George McCabe
Solution: (cont’d) Other Components “Dark Tunnel” Compiler University of Lugano in Switzerland Generates JavaScript Calls API Functions Defined by WebDynamo 13George McCabe
Topics Discussed Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Summary 14Scott Keller
WebDynamo Conceptual Diagram XML Definitions API GUIGUI GUIGUI O3D VAT XML Rules Compiler University of Lugano Compiler University of Lugano WEUP GUI OPEN JavaScript Web Dynamo 15Scott Keller
Compiler, University of Lugano Calls WebDynamo JavaScript API Parses XML Behavior files Compiler University of Lugano Compiler University of Lugano 16Scott Keller
WEUP GUI Write XML File Attributes for Project Communicate With WebDynamo Input WEUP GUI 17Scott Keller
WebDynamo API and GUI written in JavaScript API Methods Designed to Handle External Commands GUI Rendered Using Google’s O3D to Imitate AgentCubes. API GUIGUI GUIGUI O3D Web Dynamo 18Scott Keller
Topics Discussed Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Summary 19Michael Wally
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 20Michael Wally
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) 21Michael Wally
Functional Requirements Read/Write XML ◦ Keep Track of Object Attributes API functions ◦ Condition and Action Events O3D Scene Rendering Worksheet GUI ◦ Manipulate Agents ◦ Save and Load Simulations 22Michael Wally
Topics Discussed Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Summary 23Stuart Reed
WebDynamo GUI O3D Worksheet 24Stuart Reed
AgentCubes Worksheet Tools JavaScript Handlers for Keyboard and Mouse Input Calls Method for Active Tool WebDynamo GUI Toolbar 25Stuart Reed
WebDynamo GUI Toolbar 26Stuart Reed Simulation Runtime Controls Agent Controls
WebDynamo GUI Toolbar 27Stuart Reed Worksheet Controls Camera Controls
Architecture Simulation Functions Editing and Camera Tools Controller View (Worksheet) Model User Input WebDynamo JavaScript Functions Parse and Return XML Data O3D JS Object State Calls JS API Functions WEUP Stores XML Object Attributes 28Stuart Reed
Architecture Simulation Functions Editing and Camera Tools Controller WebDynamo JavaScript Functions Parse and Return XML Data Calls 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 29Stuart Reed
Architecture Controller Model Object State Model ◦ Maintain Agent Attributes Textures, Shapes, Positioning 30Stuart Reed
Architecture Controller View (Worksheet) User Input O3D JS View ◦ WebDynamo Worksheet Input (Toolbar and Scene) Output (O3D JavaScript) 31Stuart Reed
Summary Sponsors: ◦ AgentSheets ◦ Google Problem Solution Conceptual Diagram Requirements User Interface and Architecture Questions? 32Erin Rowland