Mosp spring 2011
-
Upload
ishwinder-brar -
Category
Education
-
view
351 -
download
1
Transcript of Mosp spring 2011
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
2
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
3
Team HandSimDriod
4
Team Lead Process/Quality Manager
Development/ Support Manager
Planning Manager
Mentors
TSP Coach
Clients
Context
• Bosch Research & Technology Center (Client)
• Bosch uses an open-source tool called Ptolemy to model and simulate embedded software
• Our project is to create an Android application that can run simulations of Ptolemy models on handheld devices.
5
Project Goals
7
• Show simulations running on the handheld
• Enable UI customization by model and per user
• Create demonstrations that showcase usefulness of functionality to engineers
Business Drivers
• Act as a proof of concept for ASCET tool
▫ Inspire innovation at Bosch
• Improve operations & reduce cost of calibration
▫ Running simulation on the handheld on the go
▫ Customize UI for different purposes & users
• Freely extend open source software
8
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
9
Team Software Process
• Why we chose it?
• Is it working for us?
Very organized process with specific roles
Helps us collect lot of data that can be very useful
We don’t know how to interpret everything in the tool
Data is synchronized only once a week
11
Team Software Process Cont.
12
0
20
4
0
60
8
0
100
1/19
/20
11
1/2
6/2
011
2/2
/20
11
2/9
/20
11
2/1
6/2
011
2/2
3/2
011
3/2
/20
11
Earned Value
Ideal EV
Actual EV
Long Term Plan
13
Milestone
Sep. Oct. Nov. Dec.
2010 Fall (732 hours) 2011 Spring (720 hours)
Jan. Feb. March April
2011 Summer (2304 hours)
May June July Aug.
EOSP
SOW
SRE
Planning
High level Design
Detailed Design Testing
EOSP EOSP MOSP
SRS
Proposals
Requirements
Design
QAW
Planning
Implementation
User Guide
Tool Setup
Design Proposal
TSP Training
DONE
TODO
Experiments
• Ptolemy on Android • UI Layout Tool
• Notional Architecture • Experiment 1 • Experiment 2
• Contextual design • Use cases • Paper prototypes
• Communication • UI toolkits • Token overhead • Sensor throughput limits
Team Software Process Cont.
14
43%
24%
9%
7%
6%
3% 3%
2% 2% 1%
Effort by Assembly
MEETING
ARCHITECTURE
MOSP
SRS
TRAINING
MISC
PLANNING
DATA
SYSTEM
PROPOSAL
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
15
High Priority, 30 Medium Priority,
25
Low Priority, 5
High Priority
Medium Priority
Low Priority
Priority Requirement Document
16
Requirements (cont.)
• This is proof of concept project and the concept is very vague. SRS put bounds on it such that our clients now have to go through formal process before new requirement is added.
• It will help us scope the project
▫ We are currently investigating unknowns and we plan to formally scope it by the end of the spring
17
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
18
Risk Management
• The system needs to transfer a lot of data between the handheld and the server; the system may become bottlenecked and prevent us from meeting our performance quality attribute.
• Based on the first prototype, Ptolemy runs below acceptable performance on the handheld and we intend to port parts of Ptolemy; the Ptolemy actors might perform below the defined performance quality attribute.
19
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
20
Quality Attributes
• Performance ▫ Real time data is processed at correct rate
• Extensibility
▫ New actors could be added within 2 person weeks
• Reliability ▫ Demonstration does not crash for 15 minutes
• Wow-ability ▫ Client demonstrates the system in front of executives and
inspire them
• Usability ▫ Handheld user can operate it without training
21
Architectural Styles
• Ptolemy – Pipe & Filter on steroids
▫ Multi threaded filters (actors)
▫ Filters running based on a schedule
▫ Filters communicate by passing tokens
• Client/Server
▫ Run sinks and sources on handheld and offload hard processing to the server using push communication protocol
22
Context Diagram
23
Handheld
Server
Desktop Ptolemy
Disk
Ptolemy Model
UI Designer
UI Design File
PushPush
Ptolemy ModelUI Design File
Legend
Component/Module
data flow
New
Existing
Modified
Model & UI Design
Persistence
Visualization Library
Uses
Builds on
*mixed perspective
Design Decisions
• MQTT is an appropriate messaging protocol due to low overhead and since it’s designed for sensors
• Publish-subscribe should be used to satisfy requirements for real-time, reliable data delivery
• Broker will provide extensibility for sensors not connected to or currently supported by Android
• The design provides extension to run complete Ptolemy on Android (since actors are ported) by removing network communication if hardware permits
28
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
29
Going Forward: Plan for the semester
• Learn and implement ACDM
• Investigate layout designer prototype options
• Define project scope more precisely
• Develop QA plan and coding standards
30
Going Forward: Plan for the semester
• Design proposal
▫ We have diagrams, but no formal documentation
• Training on Ptolemy and Android
▫ Ptolemy we already started
270 page architecture document
▫ Still plan to use Lattix to discover dependencies in Ptolemy
▫ Android training
31
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
32
Accomplishments
Learned using and tailoring TSP
Software Requirements Specification
Learn Ptolemy design
Communication prototype
Initial system architecture
Learn & use ACDM
Architecture documentation
33
Agenda
• Project Overview
• Process
• Requirements
• Risk Management
• System Architecture
• Going Forward
• Accomplishments
• Questions?
34
Questions and Comments
• What’s a best way to analyze TSP data?
• How can we improve estimation if we have unknowns and tasks that are not repeatable?
• How do we measure whether communication between handheld and server is fast enough (with regards to latency, throughput)?
▫ Is the architectural style appropriate for real time data?
• How to ensure that dependencies of Ptolemy actors don’t bog-down the handheld?
• How do we balance prototyping and design without assuming too much?
▫ How much prototyping is “enough” prototyping?
35
Non-Android Sensors
Model1/source-actor1
Model1/source-actor2
Ptolemy
android
Sensor
Sensor
Model/sink1
38
Quality Attributes-1
# Scenario Quality Attribute Priority
1
RTC gives a demo with the SoundSpectrum model to the Schwieberding teams using the Android device and providing a sound (file and microphone). The tool shows an analysis and suggests correctly the plausible cause Wow-ability High
2
The handheld end user, untrained and unfamiliar with the Ptolemy tool but familiar with handheld devices, runs the demo with minimal interactions and gets the results without making any mistakes Usability High
3
The handheld user, untrained, unfamiliar with the Ptolemy tool but familiar with handheld devices, explores the demo with no further instruction for 15 minutes and the demo does not crash Reliability High
4
A Ptolemy developer adds an existing graphical actor to be used for the handheld application, its incorporated into the desktop interface design and its displayable on the handheld within two person weeks Extensibility High
5
A Ptolemy developer adds an existing input actor to be used for the handheld application and incorporated into desktop interface designer, and the handheld connects the datasource to the model within two person weeks Extensibility High
6
The handheld user is running a model that experience an error that stops the normal execution, the handheld provides the user a way to cancel execution and return a default state and logs the error for future debugging Reliability High
7 The handheld user runs the sound spectrum model, the sensor data is captured at the correct rate and fed into the simulation with the order preserved Performance High
8
The Ptolemy interface designer creates an interface using the desktop tool. The end user uses the handheld device, downloads the interface, and the interface looks exactly like the desktop preview Usability High
9 The handheld user runs the sound spectrum model, the visualization feedback is not more than 20% slower than the desktop application Performance Medium
39
Quality Attributes-2
# Scenario Quality Attribute Priority
10
An interface designer is building a layout for a new android device with different dimensions and capabilities once the initial android version exits; user can design a layout with no code changes Extensibility Medium
11 Version 3.0 of Android comes out and layout builder and handheld application supports it without any code changes Extensibility Medium
12 Version 3.0 of Android comes out with new features, RTC can implement these features with no change to the architecture Extensibility Medium
13
RTC ports the system from Android to iPhone once Android version exists. RTC implements iPhone specific parts with zero changes changes to the systems architecture. Portability Medium
14
A Ptolemy developer modifies either handheld application or layout interface designer code. Any new defects that affect current code are caught by the existing tests Maintainability Medium
15
The handheld user runs a model that requires a wifi input and there is trouble connecting and/or data loss, the handheld notifies the user about the error and the user understands the problem Reliability Medium
16
A Ptolemy developer needs to maintain this system by making a change to the code and effort to understand and identify where the change needs to be made is 0 person/days Maintainability Medium
17
After the system has been built and deployed, developer wants to replace the current simulation implementation with a different code generated from the Ptolemy code generation package within 3 person/weeks Modifiability Medium
40
Risk Management
• The project has many technical unknowns concerning the architecture, the team might not be able to discover enough to have a “go” decision by the end of the semester
• The estimations for tasks are consistently inaccurate and imprecise, therefore the team might not be able to reach the set milestones on time
• There's a lot of course load and stress on the team members, which means estimated resources and team morale might diminish.
42
Previous Software Experiments
• Code Generation
▫ Proposed by client and collaborator
• Porting complete Ptolemy to Android
▫ Too slow on handheld
▫ Switched to Client / Server based on the results
43