Title: Aura Smart Home
1Aura Smart Home
Client Bradley Schmerl
Team Members Amit Boob Ram Narayan
Seshadri Tharanian Mahendran
Project Mentor David Root
2Agenda
After 10th May 2007
Between 1st September 2006 10th May 2007
Before 1st September 2006
3Concept Aura
Fred is working on Presentation
Projector Warmed Up
Presentation moved to Laptop
Editing Presentation on the Walk
4Earlier 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
Not a specific Legend is available for this view
but a concrete description is available in the
document
5Deliverable Scenario
- Functional
- Visitor Identification
- Visitor Authentication
- Owner Context Setting
- Owner Notification
- Remote Access
- Task Transfer
Mel?
Mel?
Mel
Aura
- Quality Attributes
- Security
- Backward Compatibility
- Modifiability
Legend
MelP
MelP
Aura
6Refined Aura Architecture CC
Legend
7Architectural Collaboration
8Process 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 of interactions with the
client (twice a week) - But no daily Interaction with client
9Assumption Process
10Time Spent Spring Semester
Understanding new technologies and Given Code
15
Time taken to rework or incorporate changes in
architecture
15
Knowledge Gathering
55
Architectural Rework
Design
15
Coding
Refactoring to adhere to requirements
Working on satiating required functionality
11That was about Past 9 MonthsNow for the Future
12Handling Research Project
- Challenge
- Deriving requirements for research project
- Planning and Estimating
- Tracking and control
- Requirement Creep Number of scenarios increases
- Establishing Processes
- 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
13Dealing With Evolutionary 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
- Used different views and diagrams for removing
ambiguities - Used XMLs as Client was comfortable with them
14Establishing Various Processes
- Challenges
- Following Rational Unified Process Tried to
force project into a 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
- Identified need to change the process
- Developed mailing process
- Documented assumption process
- Tailored team processes
- Fixed weekly team working day
- Used Excel sheets Task list, Risks, etc.
15Events Happenings
- Good
- Requirements Gathering Approaches
- Meeting Process
- Need to Change Process
- Time Management
- Risk Management
- Gantt Chart Usage
- Velocity Based Tracking
- Architecture and Design Understandings
- Team Co-Ordination
- Roles Responsibilities
- Challenges
- Stakeholder Communication
- Clients Perspective
- Team Responsiveness
- Research Nature of Project
- Estimations
- Decision Making
- Busy Client Schedule
- Knowledge Gathering
- Technical Clients Expectations
- Program Expectations
16Success Factor
?
- Are the Stakeholder Goals Satisfied?
- Are the Client Goals Satisfied?
- Are the Mentor Goals Satisfied?
- Are the Program Goals Satisfied?
- Are the Team Goal Satisfied?
- Are the Individual Team Member Goals Satisfied?
Yes
No
17Thank You
18Appendix
19Client 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
20Mentor Goals
Mentor Goals
- Expect team demonstrating different Software
Engineering Principles
Client Goals
Stakeholders
Team Goals
21Team 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
22Requirements
Used different methods in combination to capture
customer requirements
23Scenario 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
24Scenario 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
25Architecture - 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
26Security Model Protocol based
Face recognition Magnetic Card
Request Visit
Capture face
Send Credentials
Verify Credentials
Allow/ Request Second Level Authentication/ Reject
Accept/ Reject Credentials
27Security 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
28Requirements
- Quality
- Attributes
- Security
- Performance
- Maintainability
- Extendibility
29QA Scenario ..1
Security - User Authentication
Security - Supplier Authentication
30QA Scenario ..2
Security - Connectors Encryption
Compatibility Choosing connectors
31Security 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
32Security 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
33Security 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.
34Performance 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
35Modifiability 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.
36Backward 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.
37Maintainability 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
38QA Architectural Realization
Architecture Mechanisms
QA Scenario
Security - User Authentication
Security - Supplier Authentication
Security - Connectors Encryption
Backward Compatibility
Modifiability Adding Connectors
39Establishing 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
40Abstract Factory Pattern
41Public Private Key Encryption
EMBP Environment Manager Binding Protocol EM
Environment Manger
42Deployment Diagram Scenario1
43Deployment Diagram Scenario2
4
.
b
.
If John is in kitchen he
Phone Supplier
1
will get a call in kitchen
intimating Freds arrival
-
Provide a Voice Message
4
.
a
.
If John is watching
(
Laptop
2
)
television he will get a pop
up message in his television
3
.
Fred comes to john
intimating Freds arrival
home and his face
-
Give a Phone Call
1
gets authenticated
6
.
When all the
tasks are zipped
John Aura
from Freds Aura
Face Recognition
Television
Supplier
then the photo
Temprature sensor
-
Capture Face
-
Compare with database
All Tasks
supplier is ready
Photo Supplier
(
Laptop
1
WebCamera
)
Email Supplier
1
to display the
pictures
(
Laptop
3
)
1
.
When John
-
Finds Email
1
temperature goes
-
Confirmation Message
1
below normal or
above average
temperature sensor
Office Laptop
intimates Fred
(
Receive e
-
mail
)
1
-
Recieve email
(
Laptop
4
)
Uses PAP and
2
.
Skpe initiates
PRAP Protocol
conference call
between fred and
John
-
Authentic Information
1
Relationships
Fred Aura
All
John
-
Grandfather
Tasks
Photo
supplier
Freds
Fred
-
Grandson
Tasks
(
Laptop
5
)
5
.
When Fred
visits John place
he likes to share
his pictures
44Risk Management
- Voted Risks (Clients)
- Assigned Values
- Selected top risks
- Worked out various mitigation strategies
- Revisited risk every iteration
Risk Exposure
Risks
45Collecting Measures
- Used Excel sheet for documenting measures
- Estimated and tracked the tasks
- Communicated estimations to clients
46Change Control
47Team Velocity
48Gantt Chart Snippet Without Timeline
- Customer satisfied if work flow is projecting as
Gantt Chart - Clearly showed the dependent modules
- Assisted in estimate, track and communicate
project status
49Our Estimation
50Clients Estimation
51Tracking Control
52Risk Management
53Artifacts Delivered
- Suppliers
- Face Recognition
- Skype
- Door Control
- Password
- Phidget
- Device TV, Bell, Phone
- Photo Viewing
- E-mail
- SMS
- Design Documents
- EMBP
- Secure connectors
- Protocol xml
- Project Planning
- Gantt Charts
- Scenario Scripts
- Deployment Diagrams
- Sequence Diagrams
- Video of final demonstration