Presentation is loading. Please wait.

Presentation is loading. Please wait.

COMP 410 & Sky.NET May 2 nd, 2006. What is COMP 410? Forming an independent company The customer The planning Learning teamwork.

Similar presentations


Presentation on theme: "COMP 410 & Sky.NET May 2 nd, 2006. What is COMP 410? Forming an independent company The customer The planning Learning teamwork."— Presentation transcript:

1 COMP 410 & Sky.NET May 2 nd, 2006

2 What is COMP 410? Forming an independent company The customer The planning Learning teamwork

3 Overall Sky.NET Idea Last year’s class: first to make Sky.NET Sky.NET’s world is made up of entities, attributes, behaviors, and rules Dynamically extensible, abstract framework Capable of adding entities, attributes, behaviors, and rules at run time

4 Our Sky.NET Our task: Improve Sky.NET Implement rules framework Faster view / graphics Faster network / server access

5 Our Sky.NET How we split up the tasks: Model, Network, Database, and View groups

6 COMP 410 Any questions about what COMP 410 is?

7 Overall Design

8

9 Model Simulation IWorldBehavior Database IWorldQueryLambdaIWorldAffectorLambda Behaviors:

10 Model Behaviors: Can take in arbitrary arguments Uses query and affecter lambda to interface with the database Provides common interfaces for working with the database adapter Allows the ability to write different interfaces to perform other behaviors if desired Allows more flexible rules implementations

11 Rules Simulation IWorldBehavior Database IWorldQueryLambdaIWorldAffectorLambda Rules List

12 Model Rules: Rules can permit or block the execution of a behavior Rules can also change the way that behaviors are run through wrapping the behavior, the affecter, or the query They know all of the arguments given to the rule, and are given a direct link to the database, allowing a rule complete information about the world.

13 Model

14 Agents Adapter between Network and Simulation Used by the Client to interact with the Simulation Server Side Automation Client Uploaded User Permissions still in place Client’s discretion to choose how they interact with Simulation Adds flexibility for Client to deploy an A.I. agent

15 Model Any questions about the model?

16 View

17 View – High Level Design Model-View-Controller pattern View handles interaction with user Decouples data from its presentation View acts as a manager of: Media packages Devices Data feeds

18 View – Media Packages Media Packages encapsulate files that can be used to represent an entity or behavior Implemented as zip files with XML manifests Store mapping of keys to media files

19 View - Devices Devices actually present data to the user Implementer can choose which media are relevant for a given device ThreeDimDevice – uses Irrlicht engine to render 3d meshes that represent entities

20 View – Data Feeds Data feed encapsulates a single view of a SkyNet simulation Simulation can make any number of feeds available to user User must consider different feeds when making decisions

21 View – Behavior Parameters Must allow flexibility for behavior implementers Need an abstract way to get user input of a requested type GUI panels are generated dynamically to fulfill the parameters for a given behavior

22 View Any questions about the View?

23 Network

24 High-Level Network Design Flexible framework: supports for multiple clients, servers, clients access behind firewalls, client/server capability on a single machine Scalable framework: low-level network supports Sockets for connections Extensible framework: arbitrary objects transferred, low-level network details insulated from the rest of the program

25 High-Level Network Design

26 Low-Level Network TCP/IP Sockets DummyNetwork loads carried out in another thread development procedure

27 Server-Side Loading and Saving of the State of the World Implemented as a Behavior Easy to understand: SkyNetDataSet schema XML file to specify entity creation Relational structure: Entity, Attribute, AttributeType is expressed structurally and transferred into the Database

28 Loading/Saving to SQL Relational structure mapping: Entity, Attribute, AttributeType, stored in the database

29 Server-Side Loading and Saving of the State of the World Example: ”3C1B97FC-38A5-47c0-A74D- 7DD3471AFEB3” ”Age” ”21”

30 Network Any questions about the network? Any questions about server-side loading and saving of the state of the world?

31 Database

32 Why do we need a database? To store the state of the world To handle a lot of data To act as a file system To facilitate searching for data

33 Database What are we storing in the database? The four basic components of every simulation: Entities and Attributes Behaviors and Rules

34 Database Entities and Attributes Many-to-Many relationship Each entity can have many attributes Each type can appear in the attribute table multiple times

35 Database Behaviors and Rules One-to-Many relationships Behaviors and rules stored as code A rule can affect multiple locations

36 Database IDatabaseAdapter Flexible Portable Store Query Database administrative function

37 Database - Implementation Gentle.NET Object relational mapping No licensing required Database backend flexibility

38 Database - Implementation

39 Database Any questions about the database? Structure Gentle.NET Querying

40 Sky.NET Any questions overall?


Download ppt "COMP 410 & Sky.NET May 2 nd, 2006. What is COMP 410? Forming an independent company The customer The planning Learning teamwork."

Similar presentations


Ads by Google