Copyright 2003 National ICT Australia Limited 1 Mining Patterns to Support Software Architecture...
-
date post
19-Dec-2015 -
Category
Documents
-
view
214 -
download
0
Transcript of Copyright 2003 National ICT Australia Limited 1 Mining Patterns to Support Software Architecture...
Copyright 2003 National ICT Australia Limited1
Mining Patterns to Support Software Architecture Evaluation
4th Working IEEE/IFIP Conference on Software ArchitectureOslo, Norway 12-15th June
Liming Zhu, Muhammad Ali Babar, Ross Jeffery
School of Computer Science, University of New South WalesEmpirical Software Engineering Group, National ICT Australia
Copyright 2003 National ICT Australia Limited2
Presentation Outline
Background: Architecture Evaluation and Architecture
Patterns
Current Problems and Research Goals
Extracting Scenarios and Tactics from Patterns
A Case Study – Architectural-level Performance
Evaluation on “Stock-Online” system
Conclusion
Copyright 2003 National ICT Australia Limited3
Background
Scenario-based architecture evaluation (ALMA, ATAM, PASA etc.)
Architecture patterns More and more large and complex software systems have
been developed using architectural patterns
Concrete Scenarios for Quality Attribute
Quality Attribute Reasoning Framework
Independent Parameters
Dependant Parameters
Evaluation results
Evaluation Method
Copyright 2003 National ICT Australia Limited4
Research Goals
Problems: Useful information in patterns is not used effectively and efficiently in
architecture evaluation• Scenario generation• Reasoning framework selection and calibrating
Patterns as “best practices” are not validated
Research Goals: Useful information in pattern can be extracted and re-organized to
improve architecture evaluation• To improve scenario quality • To help to select and calibrate quality reasoning framework
By following the above method, an architecture evaluation result on a pattern-based architecture can qualify as one of the many pieces of evidence for validating the pattern. (Evidence-based Software Engineering)
Copyright 2003 National ICT Australia Limited5
Architecture Pattern
Problem Solution Claimed
Qualitative Quality
Consequences
General Scenarios
Architectural Tactics
Va
lid
ato
in
Concrete Scenarios for Quality Attribute
Quality Attribute Reasoning Framework
Independent Parameters
Dependant Parameters
Evaluation results
Evaluation Method
Copyright 2003 National ICT Australia Limited6
Extracting Scenarios
A six elements framework [Bass, Clements and Kazman 03] Stimulus, Response, Source of stimulus,
Environment, Stimulated Artifact, Response measure
A general scenario extracted from J2EE Data Mapper or DTO (Data Transfer Object) pattern
A periodic data structure change request (stimulus) from stakeholders (source of the stimulus) arrives when data use case changes after the system is deployed (environment). The system (stimulated artifact) has to be modifiable (response) according to the data structure change request within certain scope under certain time and maintenance cost (response measure).
Copyright 2003 National ICT Australia Limited7
Extracting Tactics
Extracting Architectural Tactics: Providing information on independent parameters and reasoning framework
Existing preliminary tactic framework: [Bass, Bachmann and Klein 03] [Bosch 04]
Example: Tactics from DTOFactory J2EE pattern Tactic 1: Managing demands by managing event rate
• Independent parameters: number of requests Tactic 2: Localizing expected modification by limiting change
options, isolating expected changes and maintaining semantic coherence
• Independent parameters: number of primary components affected
Copyright 2003 National ICT Australia Limited8
A Case Study
System: Stock-Online System [Gorton 00]Typical online stock trading systemAlternative design decisions
Architecture-level Performance prediction (QNM-based) [Liu, Fekete and Gorton 04]
Pattern: Read Mostly (RM) Pattern Platform: J2EE
Copyright 2003 National ICT Australia Limited9
A Case Study
General performance
model
Architecture specific model
Calibrating
Performance profile (for
architecture tactics)
Behaviour Description
Target application
Application specific model
Calibrating
Populating
Benchmark suite
Benchmarking
Architecture Pattern
Problem (General
Scenarios)
Solution(Architecture
Tactics)
Qualitative quality
consequencesPopulating
Validating
Copyright 2003 National ICT Australia Limited10
Mining the RM Pattern
Extracting scenarios from RM pattern General Scenario: A large number of client (stimulus source) requests,
mostly read-only requests (stimulus) arrive at the server at normal condition (environment), the server (artifact) needs to process the requests (response) within certain response time (response measure)
• Concrete Scenario: A large number of stock transaction related requests (get/set/create accout/stockholders/stockitems/stockTx, 83.7% of them, read-only requests) arrive at the server at normal condition, the server needs to process the request within certain response time.
Extracting tactics from RM Pattern Managing demands by reducing event rate
• Independent parameter: number of requests on resource intensive activities This will shorten the total response time for a large number of read-only
requests
Copyright 2003 National ICT Australia Limited11
Selecting and Calibrating Reasoning Framework
findstoreloaddatasource
container
TTRTR
TRTR
43
2211
ppR
hnpphpR
hpphnppR
hpphnppR
c
rcrc
crc
crc
1
)1(1
)1)(1()1)((
)1()(
4
3
2
1
R1: number of requests related to T1: service time to synchronize with database
R2: number of requests related to T2: service time to access entity bean
p: read only requests ratio hr: cache hit ratio [Yan et. al 04]
• Introducing p as one of the independent parameters in reasoning framework
• helping to make design decisions
• validating “claimed” pattern benefits
Copyright 2003 National ICT Australia Limited12
Architecture Evaluation
A benchmark application is built with the RM pattern Concrete scenarios used in the measurement are instances of
general scenarios extracted from the RM pattern The independent parameter manipulated by the tactic is
modelled in the reasoning framework Reasoning framework parameters are solved and populated
through experimental measurements on the benchmark application
Evaluation results (prediction) for the target application are in favour of RM pattern and can be explained by the read requests ratio - p
Evaluation results are validated against target application
Copyright 2003 National ICT Australia Limited13
Conclusion
Extracting information from pattern to improve architecture evaluation
Accumulating evidence to validate pattern Deriving concrete scenario from extracted general scenario Modelling pattern tactics (independent parameters a
pattern is trying to manipulate) in reasoning framework
General scenariosArchitecture tactics
Concrete scenariosQuality reasoning framework
Architectural Patterns