SALecture 9
SALecture 9
Lecture 9
10-Mar-10
10-Mar-10
Why PL?
SA significant investment in time and effort
Senior experience
10-Mar-10
10-Mar-10
10-Mar-10
year
Motorola: 400% productivity improvement in a family of
one-way pagers
HP: time-to-market reduced 7 times, increased
productivity 6 times for a printer family
Family of satellite ground control systems: 10% of usual
number of developers and 90% fewer defects (US
National Reconnaissance Office)
7
10-Mar-10
10-Mar-10
Scoping
Scope of a PL
Defines what systems are in it and what are out of it
Statement about what systems an organization is willing to build
as part of this PL and what systems is not willing to build
The organizations best prediction on the products to build in
foreseeable future
Strategic planners, marketing staff, domain analysts (can catalog similar
Doughnut analogy
10-Mar-10
Scope is critical
For success of that PL
Too narrow: insufficient nr of products derived to justify the
development investment
Too broadly: effort required to develop individual products
from core assets to big to lead to great savings
Scope can be refined
During initial establishment of PL
Opportunistically depending on PL adoption strategy
10
10-Mar-10
Defining scope
Finding commonality
Not between two systems
That leads to substantially reduce cost of constructing systems
Consider
Systems to be built
Market segmentation
Type of assumed customer interactions
11
10-Mar-10
SA for PL
SA in core asset repository: most central role
Essence of building successful SW PL: discriminating
12
10-Mar-10
13
10-Mar-10
14
10-Mar-10
During implementation
Also during implementation of second (subsequent) products
15
10-Mar-10
16
10-Mar-10
or state
Reflective programs can adjust their behavior based on their context
Overloading
Reusing named functionality to operate on different types
Promotes code reuse; cost of understandability and code complexity
17
10-Mar-10
PL architecture)
Should clearly show its variation points
Should also show rationale for each
Scope definition used as justification
18
10-Mar-10
19
10-Mar-10
10-Mar-10
concert
21
10-Mar-10
Example
Chemical plant monitoring
22
10-Mar-10
Architectural mismatch
Not all components work together
Some only appear to, but give wrong results (subtle errors)
Components not developed for the system at hand may not work
Discovered after buying and trying to use them
Interfaces notoriously poor at specifying quality attributes
Architectural mismatch
Impediment to successfully integrating component-based systems
Mismatch between assumptions embodied in separately developed
components
Shows up at integration time
23
10-Mar-10
Interface mismatch
General case of architectural mismatch
Interface: assumptions components can make about each
other
Assumptions
Provide assumptions: services provided by the component to
its user/clients
Require assumptions: detail the services / resources needed
for the component for working correctly
Mismatch: provide and require assumptions do not match
24
10-Mar-10
the system
25
10-Mar-10
26
10-Mar-10
Wrappers
A form of encapsulation where some component is encased
27
10-Mar-10
alternative element
Hiding an element of a component interface
Preserving an element of a components interface unchanged
28
10-Mar-10
Bridges
Translate some require assumptions of some component
29
10-Mar-10
wrappers
both components
Not a wrapper then
30
10-Mar-10
Mediators
Exhibit properties of both wrappers and bridges
Mediators incorporate a planning function
Runtime determination of the translation
Bridges establish translation at construction
Mediators become a more explicit component in the
overall SA
10-Mar-10
Component qualification
Process of determining whether a commercial component
contention
32
10-Mar-10
Component qualification
Observation
For each service provided by a component, a set of require
assumptions must be satisfied
Service convenient way of describing how component
functionality is packaged for use
Qualification process of
Discovering all require assumptions for each service to be
provided
Ensuring that each require assumption is satisfied by some provide
assumptions in the system
33
10-Mar-10
an interface as feasible
Assumptions state assertions about
Sufficiency of services provided
34
10-Mar-10
Interfaces
Interface: set of assumptions
Different interfaces advantageous
Parameterized interfaces
Provide and require assumptions can be changed by changing
value of variable before component service is invoked
Result in adaptation code, both external and internal
Negotiated interface
Parameterized interface with self-repair logic
35
10-Mar-10
Component-based design as
search
Component based system design
Search for compatible ensembles of COTS that can meet system
objectives
36
10-Mar-10
Model problems
Description of design context, defining the constraints of
the implementation
Model solution
Prototype situated a specific design context
Several solutions to a problem possible
Used by design teams
Evaluation of ensembles to ensure
Components can successfully be integrated
They can support quality attribute objectives
37
10-Mar-10
10-Mar-10
Roles of a SArchitect
1.
2.
3.
4.
5.
6.
39
Creating a vision
Key technical consultant
Decision maker
Coordinator
Implementer
Advocate
10-Mar-10
Creating a vision
Successful SArchitect is visionary
Must know in advance
What the system will look like when done
What will accomplish
How it fits the companys technology and business
40
10-Mar-10
plus
If not, need to learn about
Business
Market characteristics
41
10-Mar-10
product
to-market
42
10-Mar-10
43
10-Mar-10
product development
44
10-Mar-10
the system
Realizing vision
May require new technology, organization changes
Discovered defects and holes in vision should be corrected
45
10-Mar-10
46
10-Mar-10
Project manager
SArchitect
SW development
Requirements
Personnel
Interview candidates;
technical capabilities of
staff; motivate
development team
Technology
Recommend technology,
training, tools
Quality
Metrics
Decision maker
High-level design team
SAr + leaders of subsystems / technology experts / domain
specialty areas
Leader makes early design decisions
Trade-off conflicting demands
48
10-Mar-10
Decisions
In a timely manner to meet deadlines
Even if no team consensus
Even if not all needed info is present
Just-in-time decisions
Delay as long as possible but no longer
Advantage: flexible design, incorporates changes to
49
10-Mar-10
Perspective on decisions
Decisions depend on scheduling dependencies
Work forward from the resources and backward from
the goals
Order decisions
Consider marketing priorities, project schedule, new
technology impact
10-Mar-10
Coach
SAr and PM put together SMALL high-level design team
Additional staff added as lower-level design and implementation
introduced
SAr and PM assign team members to work pieces
SAr ensures people understand the design
SAR convinces people the design can be implemented
Dialog with each team member, teaching important design
aspects
Listen to their feedback; tradeoff!
51
10-Mar-10
52
10-Mar-10
53
10-Mar-10
Coordinator
SA: unifying for product development
PM may view SA as vehicle for decomposing complex effort
54
10-Mar-10
SAr as coordinator
Establishes and controls key interfaces
Keep track of SW process
Makes sure important milestones met
Design reviews ensure consistency and quality of SA and that teams
understands the design
Establishes team leader responsibilities
Together with PM
Team leaders should relate to each other; SAr ensures they coordinate
Maintains integrity of design, ensures architecture is followed
If not, rationale documented (special cases!)
55
10-Mar-10
Implementer
SAr plays role in implementing system
SAr needs to keep programming skills fresh
Track technologies and standards
Prototyping important
Understand design tradeoff
Predicting system performance
Educating the team on how to begin implementation
56
10-Mar-10
Advocate for SA
Perhaps most important role
SA critical asset of the organization
SAr should keep track of existing SAs in the organization
To mine them for new SAs
To combine them into a product line
Does this investment make sense?
57
10-Mar-10
process
=> SA design activities become part of the standard operating
procedure of organization
58
10-Mar-10
SAr role
Project usually have official SAr
Must be position of authority
This understood by PM and rest of team
Otherwise
When crises appear, SAr can be reduced to solve them with no
time for the real job
Without watchful SAr
SA begins to drift from intended design
SA more difficult to manage
SA vision begins to disappear
59
10-Mar-10
SAr career
Steps
SW engineer
Senior SW engineer
Team leader
Apprenticeship with experienced architect
SAr
60
10-Mar-10
61
10-Mar-10
Instead of conclusions
Course gives pointers
SA is about complexity, organization, details
SAr ensures quality attributes will be respected
Difficult job!
62
10-Mar-10
After conclusions
Test dates:
12.3
9.4
7.5
Good luck!
63
10-Mar-10