Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies By Lars Grunske Presented by Robert Dannels.

Slides:



Advertisements
Similar presentations
© Telelogic AB Trade Studies with Focal Point ®. © Telelogic AB Discuss Trade Studies on the design of a JTRS Radio Design.
Advertisements

Test-First Programming. The tests should drive you to write the code, the reason you write code is to get a test to succeed, and you should only write.
Sales Organization Today Burning Problems and Challenges.
CS 478 – Tools for Machine Learning and Data Mining Clustering: Distance-based Approaches.
ECE 667 Synthesis and Verification of Digital Circuits
BU Decision Models Integer_LP1 Integer Optimization Summer 2013.
Linear Programming. Introduction: Linear Programming deals with the optimization (max. or min.) of a function of variables, known as ‘objective function’,
Multi‑Criteria Decision Making
OPSM 301 Operations Management
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
Linear Programming Problem
Operations Research Assistant Professor Dr. Sana’a Wafa Al-Sayegh 2 nd Semester ITGD4207 University of Palestine.
Knapsack Problem: Greedy vs. Brute Force pp (Section 7.6)
Greedy Algorithms Clayton Andrews 2/26/08. What is an algorithm? “An algorithm is any well-defined computational procedure that takes some value, or set.
Systems Analysis and Design in a Changing World
Chapter 8: Evaluating Alternatives for Requirements, Environment, and Implementation.
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
Supply Chain Design Problem Tuukka Puranen Postgraduate Seminar in Information Technology Wednesday, March 26, 2009.
Minimum Spanning Network: Brute Force Solution
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
1 Introduction to System Engineering G. Nacouzi ME 155B.
Trade Study Training Need and Goals Need Consistent methodologies and practices performing trade studies Pros/cons, advantages/disadvantages, customer/management.
8 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Computer Systems & Architecture Lesson 1 1. The Architecture Business Cycle.
Design of Embedded Systems Task partitioning between hardware and software Hardware design and integration Software development System integration.
Strategic Project Alignment With Team Expert Choice
Tier I: Mathematical Methods of Optimization
Enterprise Architecture
Microsoft ® Office Project Portfolio Server 2007.

Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
By Saparila Worokinasih
ISO Tor Stålhane IDI / NTNU. What is ISO ISO 9001 was developed for the production industry but has a rather general structure ISO describes.
Suriya, A. September 19, 2015, Slide 0 Atipong Suriya School of MIME March 16, 2011 FE 640 : Term Project Presentation RFID Network Planning using Particle.
Ken YoussefiMechanical Engineering Dept. 1 Design Optimization Optimization is a component of design process The design of systems can be formulated as.
1 Chapter 7 Applying Simulation to Decision Problems.
Multiple alignment: Feng- Doolittle algorithm. Why multiple alignments? Alignment of more than two sequences Usually gives better information about conserved.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
Models in I.E. Lectures Introduction to Optimization Models: Shortest Paths.
| 1 › Matthias Galster, University of Groningen, NL › Armin Eberlein, American University of Sharjah, UAE Facilitating Software Architecting by.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
Quality Tools. Decision Tree When to use it Use it when making important or complex decisions, to identify the course of action that will give the best.
The Greedy Method. The Greedy Method Technique The greedy method is a general algorithm design paradigm, built on the following elements: configurations:
Risk Analysis & Modelling
FORS 8450 Advanced Forest Planning Lecture 5 Relatively Straightforward Stochastic Approach.
Assessment and Testing
1 Multi-Objective Portfolio Optimization Jeremy Eckhause AMSC 698S Professor S. Gabriel 6 December 2004.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  System and Software  System Engineering  Software Engineering  Software Engineering Standards  Software Development.
ADASS the Planning and Scheduling Perspective Roadmap: - How planning and scheduling fits in at ADASS - ADASS planning and scheduling posters and presentations.
Top-K Generation of Integrated Schemas Based on Directed and Weighted Correspondences by Ahmed Radwan, Lucian Popa, Ioana R. Stanoi, Akmal Younis Presented.
Chapter 12 The Network Development Life Cycle
Dynamic Programming … Continued 0-1 Knapsack Problem.
T Iteration Demo Tikkaajat [PP] Iteration
DEPARTMENT/SEMESTER ME VII Sem COURSE NAME Operation Research Manav Rachna College of Engg.
Spring 2008The Greedy Method1. Spring 2008The Greedy Method2 Outline and Reading The Greedy Method Technique (§5.1) Fractional Knapsack Problem (§5.1.1)
CS 361 – Chapter 10 “Greedy algorithms” It’s a strategy of solving some problems –Need to make a series of choices –Each choice is made to maximize current.
Failure Modes and Effects Analysis (FMEA)
Introduction to Algorithms: Brute-Force Algorithms.
Trade-offs in Web development Jianyun Zhou Dept. of Computer and Information Science.
Systems Analysis and Design in a Changing World, Fifth Edition
Comparing Dynamic Programming / Decision Trees and Simulation Techniques BDAuU, Prof. Eckstein.
Decision Support Systems
Tradeoff Analysis of Strategies for System Qualities
Chapter 2 The Process of Design.
FACILITY LAYOUT Facility layout means:
Kevin Mason Michael Suggs
Flexible Assembly Systems
Chapter 12 Analyzing Semistructured Decision Support Systems
Presentation transcript:

Identifying "Good" Architectural Design Alternatives with Multi-Objective Optimization Strategies By Lars Grunske Presented by Robert Dannels

Introduction Increasing complexity in software systems Competing quality attributes Difficult to identify best combinations Simplify by applying mathematics

Problem Current practices focus on one quality attribute at a time Cycle repeats with new architectural description Time consuming (brute force) Risk of finding local minimum

How? Need numerical value for all quality attributes, constraints and architectural objects Use existing tools like COCOMO II, RMA Assign functions to non-functional items Apply weighting factors according to business requirements Apply mathematical methods

The method Using list of functions and starting values Calculate score If not done, apply evolutionary algorithm Repeat till max or min is reached Called Pareto-optimal Of course, the architect makes the final decision

Observations This method is designed to handle multiple objectives Only as good as the quality of weighting factors and object values May need a return to fix one factor, try again pattern Is good for identifying good choices

Example STAR satellite system (hardware?!) Constraints: weight (100kg) Maximize reliability, minimize cost Can add backup items

Results Start with one of each component Apply evolutionary algorithm Find Pareto-optimal solutions

Analysis Which is more important, cost or reliability? Obviously some components are more vital The one that communicates is most unreliable Sample is too simple Need better (Software!) example

Final Thoughts Needs more work Has potential, can be useful Can clearly be automated May be helpful in identifying requirements and priorities, system understanding