1 / 36

Team Everest Architectural Design Review September 15, 2011

This architectural design review discusses the requirements, layers, testing, motivation, flexibility, and feasibility of a real-time software with minimal hardware requirements. It also presents alternative architecture options and possible changes.

rmazzarella
Download Presentation

Team Everest Architectural Design Review September 15, 2011

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Team Everest Architectural Design Review September 15, 2011 From: http://www.flickr.com/photos/troyismad/89419822/

  2. Team Members Larry Battle (CSE) Chris Brown (SE) Erica Llaca (SE) Bikash Acharya (CS)

  3. * Product Summary * Requirements * Layers / Sub-layers * Testing * Motivation * Flexibility * Feasibility Overview

  4. Product Summary

  5. Customer Requirements 1) The product will run in real time and have the results without lag. 2) The software shall process little response time

  6. Customer Requirements 3) The product shall have minimally invasive hardware http://www.blogcdn.com/www.engadget.com/media/2010/09/neurosky-mindwave-01-top.jpg

  7. Customer Requirements 4) The product shall track all ranges of concentration http://static.guim.co.uk/sys-images/Guardian/About/General/2009/6/30/1246373469711/Customers-use-computers-a-001.jpg

  8. Customer Requirements 5) The product shall have little to no notification of concentration awareness http://www.remove-virtumonde.com/wp-content/uploads/2009/04/virtumonde-pop-ups1.jpg

  9. Customer Requirements 6) Must run on an average computer system. http://media.photobucket.com/image/cpu%20magazine%20mods/jordan23james/100_4271.jpg

  10. Question: What are specs for an average computer system in 2011? Image from: http://exonome.com/fj/phkl/open.jpg

  11. Question: What are specs for an average computer system in 2011? Answer:CPU: 2.0GHz dual-core or betterRAM: 2-4GBHard drive: 160GB+Video: 512MB - 1GBOS: Windows XP or betterhttp://au.answers.yahoo.com/question/index?qid=20100218213650AAFr5vA Image from: http://exonome.com/fj/phkl/open.jpg

  12. http://hacknmod.com/wp-content/uploads/2009/04/messy-cables.jpghttp://hacknmod.com/wp-content/uploads/2009/04/messy-cables.jpg

  13. ADS History

  14. ADS History

  15. ADS History

  16. Overview of Layers

  17. Server Image from: http://www.instablogsimages.com/images/ 2007/01/08/hp-mediasmart-server_48.jpg

  18. Sub Layers

  19. Input Sub-layer Tasks * Communicate with the external devices * Simply the input data into categories. * Compress all the input into one object.

  20. Database Sub-layer Tasks * Allow our program to communicate with the database.

  21. Manager Sub-layer Tasks * Provide an API for interfacing with our program.

  22. Event Handler Sub-layer Tasks * Coordinate sub-layers communicate.

  23. Analyzer Sub-layer Tasks * Analyzes the user state and action history to determine if the an attention getter should be launched.

  24. Check Sub-layer Tasks * Does error checking for the sub-layers. * Calibrates the EEG. * Reports errors to the Manager sub-layers.

  25. Browser Sub-layer Tasks * Communicate with the web browser. * Controls when our program should be on and off.

  26. Question: Which browser do you prefer? http://one7.files.wordpress.com/2010/06/browsers.jpg

  27. Testing Driven Development “Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle” – wikipedia.org 4 main stages of TDD. 1) Write a test case. 2) Watch it fail. 3) Program it to pass. 4) Refactor

  28. Testing for I/O Layer 1) Can the input sub-layer process the input from the external devices within a reasonable amount of time? 2) Can the database sub-layer add, update, delete data from the database? 3) Does the input and database sub-layers sent data to the appropriate location? 4) Does the input simplify the data correctly?

  29. Testing Logic Layer 1) Can the Check Sub-Layer find and report errors? 2) Does the Event Handler send data to the function of the assigned Destination? 3) Do all the sub-layers communicate with the Event Handler correctly? 4) Does the Analyzer sub-layer launch an attention getter event when the user isn’t concentrated for a certain time period?

  30. Testing Controls 1) Can the Browser Sub-Layer communicate with the browser? 2) Are the attention getters appearing on the screen for the designated time? 3) Can the Browser Sub-Layer turn off our program when the browser is closed?

  31. Motivation/ Flexibility Possible Changes: - Event Handler helps abstracts the functions calls to the sub-layers. - Any changes to the inputs devices is handled by the Input Sub-Layer

  32. Alternative Architecture 1 Changes: - Move the Manager Sub-Layer to the Controls Layer - Integrate the Check sub-layer into the Event Handler sub-layer.

  33. Alternative Architecture 2 Changes: - Try to make each sub-layer connect to only one sub-layer. - Eliminate the Check and Event Handler sub-layers.

  34. Feasibility http://tamsconcretecanvas.files.wordpress.com/2008/11/obama_yes_we_can.jpg

  35. Possible Hardware alternative = + +

  36. Any Questions? http://committeeofpublicsafety.files.wordpress.com/2010/02/cute-sad-kitten06.jpg

More Related