Title: Aura Smart Home
1Aura Smart Home
Client Bradley Schmerl
Team Members Amit Boob Ram Narayan
Seshadri Tharanian Mahendran
Project Mentor David Root
2Agenda
Project Overview
Requirements
Architecture
Design
Process Overview
Demo
3Project Aura Overview
Aura resume the movie I was watching
Aura check my inbox for new mails
My.Aura
Aura translate this !!!_at__at_
Aura I want to write a letter
4Client Goals
Client Goals
- Identification of one Aura by another
- Authentication between two Auras
- Remote access of user information and tasks by
Aura - Identify local services which are most
appropriate to start or resume the task
Mentor Goals
Stakeholders
Team Goals
5Mentor Goals
Mentor Goals
- Expect team demonstrating different Software
Engineering Principles
Client Goals
Stakeholders
Team Goals
6Team Goals
Mentor Goals
Client Goals
Team Goals
Stakeholders
- Practice various techniques, methods involved in
Software Engineering - Produce deliverables according to the commitment
- Handle various people related issues
7Requirements
Used different methods in combination to capture
customer requirements
8Requirements
- Functional
- Visitor Identification
- Visitor Authentication
- Owner Context Setting
- Owner Notification
- Remote Access
- Task Transfer
Mel?
Mel?
Mel
- Quality Attributes
- Security
- Backward Compatibility
- Modifiability
Legend
MelP
MelP
9QA Scenario ..1
Security - User Authentication
Security - Supplier Authentication
10QA Scenario ..2
Security - Connectors Encryption
Compatibility Choosing connectors
11QA Architectural Realization
Architecture Mechanisms
QA Scenario
Security - User Authentication
Security - Supplier Authentication
Security - Connectors Encryption
Backward Compatibility
Modifiability Adding Connectors
12Earlier Aura Architecture CC
Source The Aura Software Architecture an
Infrastructure for Ubiquitous Computing by João
Pedro Sousa, David Garlan Aug 2003 CMU-CS-030183
13Redefined Aura Architecture CC
Legend
14Abstract Factory Pattern
15Public Private Key Encryption
EMBP Environment Manager Binding Protocol EM
Environment Manger
16Process Incorporated
- Extreme Programming
- Shortened iterations (4-days per iteration)
- Followed test driven development
- Used refactoring
- Developed few important documents and reviewed
with team members - Increased the number to interactions with the
client (twice a week) - Disadvantage No daily Interaction with client
17Assumption Process
18Risk Management
- Voted Risks (Clients)
- Assigned Values
- Selected top risks
- Worked out various mitigation strategies
- Revisited risk every iteration
Risk Exposure
Risks
19Collecting Measures
- Used Excel sheet for documenting measures
- Estimated and tracked the tasks
- Communicated estimations to clients
20Team Velocity
21Gantt Chart
- Customer satisfied if work flow is projecting as
Gantt Chart - Clearly showed the dependent modules
- Assisted in estimate, track and communicate
project status
22Status
Current Status
To be achieved
- Suppliers ready for the scenarios
- Face Recognition
- Phone
- Door
- Photo Supplier
-
- Implemented EMBP Protocol Stub
- Speakeasy Separation
- Aura Communication
- Task Transfer between Auras\
- Task layout design implementation
- Enhancing speak easy
23Lessons Learned
- Process had an impact on our research customers
- Sequence diagrams assisted in segregating tasks
- Assumption Process helped to communicate
effectively - Improved Meeting Process
- Roles and Responsibility - Task Focus
- Simple words for communication are very important
- Best Strategy for Debugging - Take a Break
24Special Thanks
- Mel Rosso-Llopart
- Lending us Camcorder to capture scenario
- Ramkumar Ramachandran
- Acted in scenario
25Demo
26Thank You
27Annexure
28Overall Process
29Given Architecture ..1
30Given Architecture ..2
31Refactoring
32Tracking Control
33Risk Management
34Change Control
35Scenario Doorbell 1
Rosie
Dino
Fred
Jane
Start
Hello
Record Voice
Take Picture
Send Recorded Picture Voice
Check Previous Record
Friend Arrived
Check Record
Positive Reply
Welcome
Stop
36Scenario Coffee Shop 2
Gaston
Dino
Start
Fred
Swipes Card
Get Dinos Location
Send Freds Identity
Check Freds Identity
Positive Response
Ask Dashboard Content
Appropriate Dashboard Content
Display Dashboard
Resume Task
Relay Request
Task Information
Task Invoked
Task Performed
Gets Up
Closes Dashboard
Updates Tasks
Stop
37Architecture - Face Recognition
Web Cam Driver
Open CV
Image Capturer
Image Preprocessor
Face Detector
Visitors Information
Face Identifier
Image processor
Name Indexer
Grey Scaled Image
Vector
Index
SVM Model
Name List Associated with Index
38Security Model Protocol based
Face recognition Magnetic Card
Request Visit
Capture face
Send Credentials
Verify Credentials
Allow/ Request Second Level Authentication/ Reject
Accept/ Reject Credentials
39Security Threats
- Intruders can trap alter the reply message from
visitors Aura - Duplication of Information
- Verification of Credentials (Encrypted)
- Magnetic Card Loss
- Usage of credentials if not encrypted
- Some scars or black mark in face
- Climatic Condition (Light may not be sufficient
for capturing face) - Change in voice due to illness
40Requirements
- Quality
- Attributes
- Security
- Performance
- Maintainability
- Extendibility
41Macro Plan ..1
42Macro Plan ..2
43References
- Ron Jeffries, Ann Anderson, Chet Hendrickson
Extreme Programming Installed - Kent Beck, Extreme Programming Explained
- http//www.cs.cmu.edu/aura/
- The Architecture Centric Development Method,
Anthony Lattanze, February 2005, CMU-ISRI-05-103 - C3PO Project Documents
44Definition of Quality Attributes
- Security
- Performance
- Modifiability
- Maintainability
Ranked from High to Low
45Security QA1
Artifact Visitors Information
Stimulus
Response
Voice, Magnetic Card
Visitor Authenticated
Environment
Source
Response measure
Aura Smart Home
Visitor
System should authenticate the users based on the
credentials
- The ability to identify, authorize and
authenticate same person based on his past record - System should identify a face with an accuracy of
80 out of a database of 10 faces - Maximum time a visitor can be authenticated for
an access should not be more than three times
when only one type of credential is provided to
the Aura
46Security QA1
Artifact EM
Stimulus
Response
Register with EM
EM identified Secured session with EM
Environment
Source
Response measure
Aura Smart Home
Supplier
Supplier Registration time
- The ability to identify, authorize and
authenticate same person based on his past record - System should identify a face with an accuracy of
80 out of a database of 10 faces - Maximum time a visitor can be authenticated for
an access should not be more than three times
when only one type of credential is provided to
the Aura
47Security QA1
Artifact Tasks
Stimulus
Response
Task transfer
Secured task transfer
Environment
Source
Response measure
Normal Aura Operation
Aura
Task transfer time
- Aura connectors need to be secured by
transferring encrypted messages.
48Performance QA2
Artifact Environment
Stimulus
Response
Authentication Information
Access to environment
Environment
Source
Response measure
Aura Smart Home
Visitor
Time taken to grant access
- The time taken between identification information
provided by the Visitor and he gets appropriate
message from Aura should not be more than
30seconds - The time taken to transfer a task between Auras
should not be more than 30seconds over a network
bandwidth of 1Mbps
49Modifiability QA3
Artifact Architecture Implementation
Stimulus
Response
Requirement to add a new connector type
Changes Made
Environment
Source
Response measure
Aura Smart Home Architecture
Developer
36 Hours
- The ease with which application can be modified
from existing artifacts for change requests to
add a new connector type.
50Backward Compatibility QA3
Artifact Aura Connectors
Stimulus
Response
Communication with another component
Choose Unsecured or secured depending on scenario
Response measure
Source
Environment
Connector chosen seamlessly
Aura Component
Aura Smart Home Architecture
- Must choose between new connector or old
connector type at runtime.
51Maintainability QA4
Artifact All Artifacts
Stimulus
Response
Future Changes
Changes Made
Environment
Source
Response measure
Aura Smart Home
Customer
Customer Priority Time Taken
- The ease with which the changes can be made by
other person from existing artifacts
52Establishing Processes
- Customers
- Implementation (Small Iterations)
- No documents until things are clear
- Scenario Based Requirements (Story Based)
- Project Mentor
- Observe teams Software Engineering Practices
Client Functionality
Project Mentor Processes
- RUP Heavy Process
- Adopted practices from XP
- Test Driven Development
- Refractoring
- Small iterations
- Developed few important documents and reviewed
with team members
53Volatile Requirements
- Challenge
- Deriving requirements for research project
- Planning and Estimating
- Tracking and control
- Requirement Creep Number of scenarios increases
- Following traditional process
- Good
- Created Scenarios, Use Cases and Activity
Diagrams - Established Change Control Board
- Clarified Team Understanding (Assumption
process) - Negotiated with clients by showing better results
- Developed few Proof of Concepts
Halogen Elements
54Evolutionary Architecture
Aura Architecture
- Challenges
- Estimating efforts
- Dealing with quality attribute
- Prioritizing quality attributes
- Evolving requirements
- Contributing to architecture
- Good
- Used scenario based approach to elicit quality
attribute - Created runtime views for components
- Created sequence diagrams
55Multiple Stakeholders
X?
- Challenge
- Managing Technical Client
- Focusing the discussions
- Satisfying conflicting views
- Good
- Got useful information about Aura
- Improved productivity via meeting process
- Allocated Roles and Responsibilities Task
executions
Y?
Z?
56Various Processes
- Challenges
- Following traditional process
- Following test driven development for throw away
nature of code - Controlling designs discussions and agenda during
client meeting - Good
- Improved productivity via meeting process
- Developed mailing process
- Documented assumption process
- Tailored team processes
- Fixed weekly team working day
- Used Excel sheets Task list, Risks, etc.
57Top Risks - Mitigated
- Multiple Stakeholders
- Define the final decision maker.
- Inform this to various stakeholders
- Change from 12Units to 36Units
- Shorted the number of iterations
58Artifacts Released
- Design Documents
- EMBP
- Secure connectors
- Protocol xml
- Project Planning
- Gantt Charts
- Scenario Scripts
- Deployment Diagram
- Sequence Diagrams
59Deployment Diagram
60Task Allocation By Clients
- Presented Aura Architecture
- Gave an assignment along with estimates
- Continuous interaction for solving the problem
- Task implemented and clarified