march 27, 2015. meeting agenda prototype 1 design goals prototype 1 demo framework overview ...
TRANSCRIPT
MARCH 27, 2015
Meeting AgendaPrototype 1 Design GoalsPrototype 1 DemoFramework OverviewPrototype 2 Design GoalsTimeline Moving ForwardQuestions & Answers
Prototype 1DESIGN GOALS
GoalsDynamic Network Topology Introduce new components without reconfiguring
Framework Scalability Interaction with Cloud Services to store and produce data
Establish Infrastructure to Aggregate DataMultiple inputs and outputs, heterogeneous data
Historical Data StoragePersistent data storage in database
Prototype 1DEMO
Mobile deviceDisconnected Subgraph
5
10
10
5
10
10
-10
0
10
10
-5
5
0
5
10
-5
5
5
10
-5
5
5 0
10
5
0
-20
0
10
5
-20
0
10
5
-10
0
5
0
-5
0
0
0
-5
0
0
0
10
0
0
0
5
0
Framework Overview
Shaping the NetworkGraph implementation should use the same concepts as graph designBusiness logic should be decoupled from connection logicThis computational graph abstraction applies to any level of the systemNew devices must be able to connect to the network at runtime
Components
We support three types of components:Processors: an atomic unit of C# code Subgraphs: a fully encapsulated graph, embedded as a node in a larger graphPools: a collection of same-type components, whose members can change at
runtime
Behavior Output channelsInput channels
Processors A processor is a C# class: Input channel provides a callback function to the framework to receive
incoming messagesOutput channel requests a callback function from the framework to send
output messages Start and stop methods manages any services it encapsulates
Consider the processor that encapsulates the connection with the Kinect:On start, the processor uses the Kinect SDK to start a connection.When it receives a photo request, the processor uses the Kinect’s Camera API
to take a photo, and outputs the resulting photo.On stop, the processor uses the Kinect SDK to stop the connection.
What’s in an Application?The Component Classes
Processor ClassesSubgraph ClassesPool Classes
The Application GraphNotes: instances of your componentsEdges: Connections between the nodes
Prototype 2DESIGN GOALS
GoalsComplete Data Aggregation
Synthesize different types of inputs into one or more different types of outputs Increase the amount of data flow
Robust ConnectionsDemonstrate transmission failure and unintentional disconnection recoveryNetwork components directly related can detect device disconnects
System DiagnosticsExpand status logging of components, graphical network topology tool, and
diagnostics tool