18
Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Embed Size (px)

Citation preview

Page 1: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Comp 410: Final Project

Christopher AlmeChristopher Nunu

Dennis QianStanley Roberts

Page 2: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Comp 410Software Engineering Methodology

Create a Mock Software Company

“Customer” commissions a new product

Semester-Long Project

Dr. Wong, 3 Teaching Assistants, 1 Client, 4 Students

Warm-Up Project: Battle Ships

Page 3: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Team OrganizationProject Manager: Christopher AlmeStudent DirectedSelf Assigned MilestonesFreedom to make choices (and mistakes)Team Collaboration Tools

SharePoint Server: Collaboration WebsiteTeam Foundation Server: Version Control

Page 4: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Client Proposal

Interactive ArtScalable number of usersDynamically changing inputs

Possibly including game controllersVisual representation of the population of inputs

Page 5: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Into The CloudDynamic ScalabilityMinimal Initial InvestmentCommunal HardwarePay As You GoClassic Examples:

Batch ProcessingWebsite

Services offered by:Amazon, Google, IBM, Microsoft

Page 6: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Drawbacks of the CloudTrust

Communal ServersData outside the corporation

Vulnerability to AttackData sent over the Internet

Catastrophic EventsRecovery at the mercy of the cloud owner

Page 7: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Ideal Cloud CustomerMinimal cost

Scalability

Minimum Data Risk

Page 8: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Microsoft Azure Platform Compute Platform

Storage Platform

Development Tools

Page 9: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Uncharted Skies: Streaming Cloud

Real time data streams ground -> cloud

Process data in the cloud

Stream the results back to the ground

Huge Parallel Processing Capability

Page 10: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Practical UsesAir Traffic Control

Environmental Sensors

Inventory Tracking

Surveillance

Home Automation

Page 11: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

User Experience: The Ground Connect Streams to the Cloud

Manage Processing of Streams

Visual Representation of Results

Page 12: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Architecture: The Ground

Control Panel

Cloud SettingsOptionsStatus

StreamManag

erStream

Stream

Stream

Stream UpStream

ManagerStream

Stream

Stream

Stream UpStream

ManagerStream

Stream

Stream

Stream Up

Display

Visual Representation of Cloud

Output

Stream Down

Visual Representation of Cloud

Output

Display

Visual Representatio

n of Cloud Output

Stream Down

Stream Manager

• Provides a way for the user to connect streams up into the cloud

• Arbitrary number of running instances

• Dynamically add/remove Streams

• User Friendly

Display

• Receives streaming output from the cloud

• Renders the output from the cloud

• Displays the results on a screen

• Arbitrary physical location

Control Panel

• Administration of cloud functionality

• How streams are used in processing

• Coordinate the Creation of Cloud

• Varies based on scale

Page 13: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

User Experience Demo

Page 14: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Cloud StructureControl Process

Creates the cloud structureFeature Extractor

Cloud Entry PointMixers

Perform functional operations on streamsDisplay Adapter

Cloud Exit PointState Repository

Stores information on cloud structure

Page 15: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Message

Architecture – The Cloud

Feature Extracto

r

Stream Feature Extracto

r

Stream Feature Extracto

r

Stream

Mixer

Mixer

Mixer

Mixer

Mixer

StreamDisplayAdapter

StreamDisplayAdapter

2-w

ay

Mes

sage

Mess

ag

e

ControlProcess

Stream Entry Processing of Streams Stream Exit

StateRepository

Control Process

• Creates the Cloud structure

• Communicates the status of the cloud to the user on the ground

• Provides user access to the cloud structure

Feature Extractor

• Stream entry into the cloud

• Single Stream Number Crunching

• Converts streams into internal events

• Forwards events to proper Mixer

Mixer

• Syncs and Processes Streams

• Given an arbitrary lambda

• Linked to produce a graph of operations

Display Adapter

• Stream exit point, connection to Display

• Converts the processing results to Visualization commands

• Different adapters can be set to produce different results

State Repository

• Shared Database

• Stores Cloud Configuration Data

• Allows for re-creation of lost module

Page 16: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Software EngineeringWhat it means to develop large software

projectsMaking mistakesProper planning and design

What it means to be part of a teamTime ManagementDivision of labor

Enterprise Architecture DesignUnderstanding how to approach something new

Page 17: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts
Page 18: Comp 410: Final Project Christopher Alme Christopher Nunu Dennis Qian Stanley Roberts

Questions