Performance-Oriented Software Architecture Engineering: an Experience Report

Similar documents
Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Maru and Toru: Item-specific logistics solutions based on ROS. Moritz Tenorth, Ulrich Klank and Nikolas Engelhard

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

SERVICE ORIENTED ARCHITECTURE (SOA)

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Omega: flexible, scalable schedulers for large compute clusters. Malte Schwarzkopf, Andy Konwinski, Michael Abd-El-Malek, John Wilkes

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Single Euro Payments Area

Service-Oriented Modeling (SOA): Service Analysis, Design, and Architecture

In-Memory Analytics: Get Faster, Better Insights from Big Data

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK

Major attributes of the Lifecycle. The Systems Development Lifecycle. Project phases. Planning. Design. Analysis

MODULE Explain briefly the different types of system models that might be created during the system analysis phase. 2. Write short notes on

Chapter 6: Software Evolution and Reengineering

Requirements Engineering and Agile Methodology

Service Oriented Architecture

MCSE: Private Cloud Training Course (System Center 2012)

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

SWEN 256 Software Process & Project Management

The software process

9. Verification, Validation, Testing

POINTS OF DEFECT CREATION

Architecture Centric Evolution

Introducing Capital HarnessXC The Newest Member of the CHS Family

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Book Outline. Software Testing and Analysis: Process, Principles, and Techniques

Expand application range with respect to consider the whole system. Consider state of the art and adapt actual regulations and standards

Magillem. X-Spec. For embedded Software and Software-driven verification teams

20775: Performing Data Engineering on Microsoft HD Insight

Oracle Cloud Blueprint and Roadmap Service. 1 Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Prof. Dr. Liggesmeyer, 1. Quality Management of Software and. Processes and QM. Systems. QMSS Processes and QM

How SOA Can Help EA. Enterprise Architecture Conference 2008

Guaranteed Value Projects in Legacy Modernization. Michael Oara VP for R&D Relativity Technologies, Inc.

Multifaceted Approach to Situation Awareness Assessment

Development of AUTOSAR Software Components with Model-Based Design

Command and Control Software Development Lessons Learned. Lt Col Michael D. Sarchet Deputy Director, Space Systems Command and Control Division

What s New with the PlantPAx Distributed Control System

Pertemuan 2. Software Engineering: The Process

HP Cloud Maps for rapid provisioning of infrastructure and applications

DNA for Automated Driving. Jeremy Dahan May 8 th, 2017

David. Director of Rational Requirements and Quality Management Products

SE420 Software Quality Assurance

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

A journey into European factories of the future: The best Horizon 2020 projects are visiting Graz

Quality Management of Software and Systems: Processes and QM

FLEXIBLE SOFTWARE AGENTS FOR THE AUTOMATIC PROVISION OF PVCS IN ATM NETWORKS

SOA Research Agenda. Grace A. Lewis

CMPT 275 Software Engineering

Accenture Architecture Services. DevOps: Delivering at the speed of today s business

Modeling and Simulation

A Modular and Scalable Application Platform for Testing and Evaluating ITS Components (MoSAIC)

Enterprise IT Architectures SOA Part 1

Evolutionary Differences Between CMM for Software and the CMMI

Application Lifecycle Management (ALM) Octane

Order T-Mobile

CRYSTAL. Seamless Life-Cycle Collaboration for Safety-Critical Systems Engineering. Dr. Christian El Salloum AVL List GmbH

Software Life Cycle. Main Topics. Introduction

CHAPTER 2 LITERATURE SURVEY

A Model Based Continuous Improvement Methodology for Sustainable Manufacturing

Object-Oriented and Classical Software Engineering

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Usine Logicielle. Position paper

Manufacturing: new trends in production systems design and operation. Fulvio RUSINA (Comau), Yves COZE (Dassault Systemes)

Can Advanced Analytics Improve Manufacturing Quality?

A Reverse Chronology of Evolutionary Architecture and Agile Development

Scalability and High Performance with MicroStrategy 10

Uplift Quality with Requirements Driven Testing

E-guide Hadoop Big Data Platforms Buyer s Guide part 1

"Charting the Course... MOC A: Architecting Microsoft Azure Solutions. Course Summary

The Software Factory Concept and its Implementation in Sodalia

Chapter 1 Systems Development in an Organization Context

Object-Oriented & Classical Soft Engineering

Object-Oriented and Classical Software Engineering THE SOFTWARE PROCESS 9/17/2017. CHAPTER 3 Slide 3.2. Stephen R. Schach. Overview Slide 3.

Software Framework for Highly Automated Driving EB robinos. Jared Combs July 27, 2017

NSF {Program (NSF ) first announced on August 20, 2004} Program Officers: Frederica Darema Helen Gill Brett Fleisch

Requirements Engineering and Software Architecture Project Description

Spiral Increment Reuse (SIR) Software Model

: 20776A: Performing Big Data Engineering on Microsoft Cloud Services

Systems Engineering in Large-scale Agile Software Development

STRUCTURAL AND QUANTITATIVE PERSPECTIVES ON BUSINESS PROCESS MODELLING AND ANALYSIS

Data technology. Transform the lead weight of data into a golden opportunity for your bank.

Smart Manufacturing Standardization: Reference Model and Standards Framework

UPLIFT QUALITY WITH REQUIREMENTS DRIVEN TESTING

IBM Rational Systems Developer, Version 7.0

Building a Data Mart on top of SAP R/3-HR

MANAGEMENT METRICS FOR CRITICAL IT SERVICES

Babu Madhav Institute of Information Technology, UTU 2017

Master Planning in Microsoft Dynamics AX 2012

Collaborative Creation with Customers of Smart Branch Solution for Banks

Cactus-G: Experiments with a Grid-Enabled Computational Framework

Netwin Network development and inventory. Innovative inventory system Enables rapid deployment of new services and technologies

1 Descriptions of Function

AutoCAD or Factory Design Suite for layout design: A productivity study

Effective Test Automation of SAP Implementations

Introduction to Systems Analysis and Design

Introduction to Software Engineering

Process Management & Workflow Capabilities

Model-Driven Design-Space Exploration for Software-Intensive Embedded Systems

Transcription:

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 Adopted SAAM (Software Architecture Analysis Method) developed at SEI Scenario-based analysis Non-functional quality attributes like maintainability, scalability, and etc.

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

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

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

Software Architecture Views Styles & patterns, Mapping of components & functions Structure diagram, Object diagram, Module diagram Static View Map View Messaging diagram, Causal diagram, Interaction diagram State machines Dynamic View Resource View Performance modeling Concurrency, Simulation

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

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

Software Partitioning: an Example S1 S1 E1 E1 E2 E3 E3 E6 S2 E4 E8 S3 S2 E2 E5 S3 E5 E6 E7 E9 E8 E4 E7 E9

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.

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.

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