Performance-Oriented Software Architecture Engineering: an - - PowerPoint PPT Presentation

performance oriented software architecture engineering an
SMART_READER_LITE
LIVE PREVIEW

Performance-Oriented Software Architecture Engineering: an - - PowerPoint PPT Presentation

Performance-Oriented Software Architecture Engineering: an Experience Report Chung-Horng Lung, Anant Jalnapurkar, Asham El-Rayess SEAL - Software Engineering Analysis Lab Nortel Networks Software Architecture Analysis Established in 1995


slide-1
SLIDE 1

Performance-Oriented Software Architecture Engineering: an Experience Report

Chung-Horng Lung, Anant Jalnapurkar, Asham El-Rayess SEAL - Software Engineering Analysis Lab Nortel Networks

slide-2
SLIDE 2

Software Architecture Analysis

  • Established in 1995
  • Adopted SAAM (Software Architecture Analysis Method)

developed at SEI

– Scenario-based analysis – Non-functional quality attributes like maintainability, scalability, and etc.

slide-3
SLIDE 3

Why Architecture Analysis?

  • Increasing complexity of software systems
  • The need to analyze and design systems at higher levels of

abstraction

  • The demand to reduce maintenance costs for evolution
  • Often conducted in an ad-hoc manner
slide-4
SLIDE 4

Motivation to Integrate SA and SPE

The main reasons are:

  • Performance issue keep recurring for real-time applications.
  • Need to demonstrate how to improve quality attributes,

especially performance in a systematic approach.

  • Software architecture and software performance are tightly

coupled.

Performance-Oriented Software Architecture Engineering

slide-5
SLIDE 5

Performance-Oriented SW Architecture Eng

Critical elements of POSAE:

  • SAAM
  • Stakeholders and their values
  • Architectural views
  • Software partitioning and clustering
  • Software performance engineering

– Automatic generation of performance models

  • Software architecture trade-off analysis
slide-6
SLIDE 6

Software Architecture Views

Static View Resource View Dynamic View Map View

Messaging diagram, Causal diagram, Interaction diagram State machines Structure diagram, Object diagram, Module diagram Styles & patterns, Mapping of components & functions Performance modeling Concurrency, Simulation

slide-7
SLIDE 7

POSAE Process - Iterative & Incremental

  • Develop or capture a software architecture (static view)
  • Identify scenarios, particularly real-time (RT) scenarios (scenario

development)

  • Identify execution paths for RT scenarios (dynamic view)
  • Apply performance modeling, analysis, and measurements

(resource view)

  • Perform architecture analysis based on performance modeling

results (map view, dynamic view, and resource view)

  • Conduct trade-off analysis (scenario & 4 views)
  • Build a prototype, based on the analysis, to improve

performance or other qualities

slide-8
SLIDE 8

Performance Modeling & MAGE

Capacity Planning Load Balancing Bottleneck Analysis Etc... Simulation / Analysis Tools Application / Application Prototype Instrumentation Data Collection Reverse Engineering MAGE Rapid Application Development Model Generation

slide-9
SLIDE 9

Software Partitioning: an Example

E9 E8 E7 E6 E5 E4 E3 E2 E1 S1 S2 S3 E9 E5 E7 E4 E8 E2 E6 E3 E1 S1 S2 S3

slide-10
SLIDE 10

Lessons Learned

  • End-to-end analysis provides valuable insights.

– Messaging system, run-time environment, application framework, and the high-level services and applications.

  • Software architecture is a critical asset & important to SPE.

– Need an engineering approach.

  • Analysis of the interactions of scenarios, not just individual

scenarios, are necessary.

– Example, scenarios query processing, update processing, and OS scheduling interact.

  • Automation of performance model generation and analysis is

needed.

  • Prototyping is useful to show values & alternatives.
  • Domain knowledge plays a critical role.
slide-11
SLIDE 11

Conclusion

Presented a POSAE approach Some benefits and achievements:

  • Capture software architecture
  • Identify use case scenarios
  • Improve performance.

– Examples: 25% for one project & 500% for another one

  • Perform modeling & analysis at the early stage.
  • Better document the system.
  • Support product evolution.
slide-12
SLIDE 12

Ongoing Works & Challenges

  • Tool supports

– Reverse engineering tools, especially for OO software – Reliable performance measurements – Performance modeling and analysis to support integration of SPE and software development

  • Design patterns and performance

– characterization of design patterns

  • Development of best practices and design guidelines