Refactoring workshop, WCRE'03 Software refactoring guided by multiple soft-goals Yijun Yu, John Mylopoulos, Eric Yu, Julio C. Leite, Linda Lin Liu, University.

Slides:



Advertisements
Similar presentations
1 GRL Introduction Lin Liu University of Toronto April 2001.
Advertisements

Centralize or Decentralize? A Requirements Engineering Perspective on Internet-Scale Architectures Eric Yu University of Toronto July 2000.
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
A UML Profile for Goal-Oriented and Use Case-Driven Representation of NFRs and FRs Sam Supakkul Titat Software LLC Lawrence Chung The.
Reuse distance as a metric for cache behavior - pdcs2001 [1] Characterization and Optimization of Cache Behavior Kristof Beyls, Yijun Yu, Erik D’Hollander.
SUBMITTED TO: DR. LAWRENCE CHUNG ASSOCIATE PROFESSOR, DEPARTMENT OF COMPUTER SCIENCE, THE UNIVERSITY OF TEXAS AT DALLAS, RICHARDSON, TX SUBMITTED.
Taking a Waterfall Project Agile REF: Paul Geberth GCSS-J Project Manager Establishment of an Agile Project.
合久必分,分久必合 Long union must separate, long separation must unite Discovering aspects from requirements goal models Yijun Yu 1 Julio C. S. P. Leite 2 John.
© Eric Yu Agenda Session 1 – Introduction December 13, 14:30-16:30 Motivations Basic concepts –The Strategic Dependency Model –The Strategic Rationale.
Software Transparency Support from Dagstuhl-Seminar :Science of Design 10/2008 Julio Cesar Sampaio do Prado Leite Departamento de Informática Pontifícia.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Software Reuse & Refactoring By: Matthew Merricks Brian Smith Brian Smith Ryan Waggoner Ryan Waggoner.
CS541 Advanced Networking 1 Routing and Shortest Path Algorithms Neil Tang 2/18/2009.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Selecting COTS Products Using a Requirements-Based Approach
Toward Component Non-functional Interoperability Analysis: A UML- based and Goal-oriented Approach Sam Supakkul and Lawrence Chung The University of Texas.
Nary Subramanian Firmware Engineer Applied Technology Division Anritsu Company Richardson, TX. Lawrence Chung.
Evaluating Goal Achievement in Enterprise Modeling – An Interactive Procedure and Experiences Jennifer Horkoff 1 Eric Yu 2 1 Department of Computer Science,
1 Parallel Programming using the Iteration Space Visualizer Yijun YuYijun Yu and Erik H. D'HollanderErik H. D'Hollander University of Ghent, Belgium
Loc-based Variability for Mobile Information Systems Raian Ali, Fabiano Dalpiaz, Paolo Giorgini CAiSE’ June 2008.
Applying a Goal-Oriented Method for Hazard Analysis: A Case Study Sam Supakkul The University of Texas at Dallas Lawrence Chung The.
© Eric Yu Strategic Actor Relationships Modelling with i* Eric Yu University of Toronto December 13-14, 2001 IRST, Trento, Italy.
1 Security in the Context of Dependability Tacksoo Im John D. McGregor School of Computing Clemson University ORNL Presentation.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q18/17 (URN) Rapporteur User Requirements.
[ §5 : 1 ] 5. Summary of Requirements Products 5.1 Requirements Definition Document 5.2 Software Requirements Specification.
Sam Supakkul Lawrence Chung The University of Texas at Dallas
 1999 John Mylopoulos Requirements-Driven IS Engineering -- 1 Requirements-Driven Information System Engineering John Mylopoulos University of Toronto.
Raian Ali, Fabiano Dalpiaz, Paolo Giorgini Location-based Software Modeling and Analysis: Tropos-based Approach.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
ATAL - Seattle, August 1 st, A Knowledge Level Software Engineering Methodology for Agent Oriented Programming The Tropos framework Fausto Giunchiglia.
1 Evolving System Architecture to Meet Changing Business Goals An Agent and Goal-Oriented Approach Daniel Gross & Eric Yu Faculty of Information Studies.
Capturing and Reusing Functional and Non-functional Requirements Knowledge: A Goal-Object Pattern Approach Lawrence Chung and Sam Supakkul The University.
COTS-Aware Requirements Engineering and Software Architecting
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
Transformation and Testing Group Members: Petra Brosch Jeff Gray Maribel Hudson Philip Langer Qichao Liu Matteo Risoldi Johannes Schoenboeck Yu Sun.
RE’05 The 13 th International conference on Requirements Engineering Reverse Engineering Goal Models from Legacy Code Yijun Yu 1 Yiqiao Wang 1 John Mylopoulos.
Developing Adaptable Software Architectures for Real-Time Systems Using Design Patterns Lawrence Chung, Kendra Cooper, Anna Yi The University of Texas.
Example 2 Graphing Using Slope-Intercept Form 1
1 Structuring Knowledge for a Security Trade-offs Knowledge Base Golnaz Elahi Department of Computer Science Eric Yu Faculty of Information Study University.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA, C ANADA Daniel Amyot Q18/17 (URN) Rapporteur User Requirements.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
1 Predicting Classes in Need of Refactoring – An Application of Static Metrics Liming Zhao Jane Hayes 23 September 2006.
Software Architecting Using Goals, Scenarios, Patterns and Objects Lawrence Chung The University of Texas at Dallas.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Presented by Chin-Yi Tsai.
EXPONENTIAL FUNCTIONS Section TOPIC FOCUS I can… Identify exponential growth and decay Graph exponential functions.
Integrating FRs and NFRs: A Use Case and Goal Driven Approach Sam Supakkul Network Surveillance Systems MCI Lawrence Chung Dept. of.
Do Metrics Help to Identify Refactoring? Jean-Guy Schneider Rajesh Vasa
 Authors  Purpose  Main Phases  Related Literature  PDD  Examples  Conclusions.
Presented by Lu Xiao Drexel University Quantifying Architectural Debt.
TTMG 5001 Principles of Management for Engineers Session 4: Oct 5 Fall Michael Weiss.
Generating Automated Tests from Behavior Models
Towards Requirements-Driven Autonomic Systems Design
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
Vectors.
Reverse Engineering Goal Models from Legacy Code
A Tutorial for a RE-Tool
CS223 Advanced Data Structures and Algorithms
NFR Framework Workshop
NFR Framework Workshop
Transformations of Quadratic Functions Parent function:
7.10 Single-Sided Exponential
PPT11: System maintenance
Diagnostic Evaluation
Determining the Function Obtained from a Series of Transformations.
Unit 1-2 Test Guide Matter Review Density
Polynomial Functions and Models
Definition of Done – why it matters
Presentation transcript:

Refactoring workshop, WCRE'03 Software refactoring guided by multiple soft-goals Yijun Yu, John Mylopoulos, Eric Yu, Julio C. Leite, Linda Lin Liu, University of Toronto Erik H. D’Hollander, University of Ghent

Refactoring workshop, WCRE'03 1. Refactoring: modelling performance vs. complexity real*8 A(512,512), B(512,512), C(512,512) M = L = N = 512 do i = 1,M do j = 1, L do k = 1, N C(i,k) = C(i,k) + A(i,j) * B(j,k) GOAL: apply transformations to speedup the above program 20 times without increasing the code complexity 4 times

Refactoring workshop, WCRE'03 Experiment results Rationale in action >

Refactoring workshop, WCRE'03 soft-goal: Type [Topic]

Refactoring workshop, WCRE'03 Topic taxonomy Type taxonomy Decomposition method TYPE [TOPIC] TYPE [SUBTOPIC] TYPE [TOPIC] SUBTYPE [TOPIC] operationalization OPERATION- ALIZED SOFTGOAL Contribution interdependency

Refactoring workshop, WCRE'03 Label propagations verify the choices

Refactoring workshop, WCRE'03 2. Software evolution Without efforts, a software is generally subjected to 1. Continuing changes 2. Increasing complexity 7. Declining quality in terms of performance [Lehmann96] Laws of software evolution revisited

Refactoring workshop, WCRE'03 2. Header project: functionality and quality refactoring shift focus along evolution

Refactoring workshop, WCRE'03 3. The goal-driven refactoring process … 1. Modelling non-functional qualities as soft-goals [Mylopoulos92] 2. Are they met? Decomposing soft-goals into interdependency graph [Chung94] 3. Catalogue the refactoring steps as operationalized soft-goals and make selections [c.f. Tahvildari01, Zou02] 4. Apply the refactoring steps and propagate the labels up to re-assess the soft-goals [Giorgini02] 5. Release the product that satisfice the NFRs 6. Redo refactoring after functionality changes [Fowler99]

Refactoring workshop, WCRE'03 4. Summary 1. Modeling 2. Satisfiable? 3. Selection 4. Refactoring 5. Releasing Quality: type [topic] taxonomy Rationale: prioritization (bottleneck), metrics, constraints Operationalizations: refactoring steps + label propagation Evolution SIG