Understanding and Propagating Architectural Changes How can we manage changes in product line architectures? Christopher Van der Westhuizen and Andre van.

Slides:



Advertisements
Similar presentations
Visual Scripting of XML
Advertisements

Networked Digital Whiteboard with Handwritten-Symbol Interpreter and Dynamic-Display-Object Creator Atsuhide Kobashi Henry M. Gunn High School Palo Alto,
1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem.
Ch 3 System Development Environment
Design Patterns Examples of smart use of inheritance and polymorphism: Composite Pattern State Pattern FEN 2014UCN Teknologi/act2learn1.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
JAXB Java Architecture for XML Binding Andy Fanton Khalid AlBayat.
Software Reuse Building software from reusable components Objectives
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Page 1 Building Reliable Component-based Systems Chapter 18 - A Framework for Integrating Business Applications Chapter 18 A Framework for Integrating.
Modeling and Evaluation. Modeling Information system model –User perspective of data elements and functions –Use case scenarios or diagrams Entity model.
The information integration wizard (Iwiz) project Report on work in progress Joachim Hammer Presented by Muhammed Al-Muhammed.
Design, Implementation and Maintenance
Overview of Search Engines
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
System Design/Implementation and Support for Build 2 PDS Management Council Face-to-Face Mountain View, CA Nov 30 - Dec 1, 2011 Sean Hardman.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Adapted from slides by Marie desJardins
Games Development 2 Entity / Architecture Review CO3301 Week
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
MVC pattern and implementation in java
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Advanced Excel for Finance Professionals A self study material from South Asian Management Technologies Foundation.
Session 05: C# Patterns Algorithm Patterns: Sweep Search FEN AK IT: Softwarekonstruktion.
1/151/15 ENT Metamodel Implementation & Applications ENT metamodel, prototype implementation Component substitutability checking, ENT based component comparison.
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Chapter 2 The process Process, Methods, and Tools
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Designing a DSL for Information Systems Architecture
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Chapter 17. Copyright 2003, Paradigm Publishing Inc. CHAPTER 17 BACKNEXTEND 17-2 LINKS TO OBJECTIVES Mail Merge Wizard Letters Envelopes Labels Directory.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
2/6/01USC - Center for Software Engineering 1 Marrying Software Architecture with Configuration Management Techniques Roshanak Roshandel
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
10/18/2015 NORTEL NETWORKS CONFIDENTIAL – FOR TRAINING PURPOSES ONLY Global Documentation Evolution System Overview and End-to-End Process Training.
Updating JUPITER framework using XML interface Kobe University Susumu Kishimoto.
1 Kuali Nervous System (KNS) Part 1 Presented by: Jerry Neal – KFS Development Manager Geoff McGregor – KC Lead Developer Brian McGough – KRice Project.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
ArcGIS for the Military: MIL-STD-2525D Joint Military Symbology
Systems Analysis and Design in a Changing World, Fourth Edition
Presented by: Ashgan Fararooy Referenced Papers and Related Work on:
Keyword Searching Weighted Federated Search with Key Word in Context Date: 10/2/2008 Dan McCreary President Dan McCreary & Associates
Xml:tm XML Text Memory Using XML technology to reduce the cost of translating XML documents.
1 Increasing the Confidence of Engineers during Component Upgrades Marija Rakic ARR, February 6 th, 2001.
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
4.01B Authoring Languages and Web Authoring Software 4.01 Examine webpage development and design.
REST By: Vishwanath Vineet.
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Chapter – 8 Software Tools.
Documenting an Architecture 10 pages, half pictures.
XML Extensible Markup Language
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
IETF61 (November 2004) SIMPLE1 Data model and RPID Henning Schulzrinne Columbia University.
Information Systems Development
Product Training Program
Component 1.6.
CSCI-235 Micro-Computer Applications
Bridging the Data Science and SQL Divide for Practitioners
SwE 455 Tutorial.
Constructing MDA-based Application Using Rational XDE for .NET
Presents: Rally To Java Conversion Suite
The JSF Tools Project – WTP (internal) release review
Games Development 2 Entity / Architecture Review
Software Architecture & Design
Presentation transcript:

Understanding and Propagating Architectural Changes How can we manage changes in product line architectures? Christopher Van der Westhuizen and Andre van der Hoek Presented by Jaime Acosta

Problems Capturing architectural changes – ADLs with version support – ASCII diff – XML diff Understanding differences introduced – Propagating changes in similar systems

Example – Target Display – system changes Target Display MapDisplay DistanceCalc GPS Data Target Display MapDisplay GPS Data Logger FileAccess EntitySelection FeatureSet

Example – Returning Employee Gone for six months Get up to speed Understand changes Number of other products can benefit from advances Apply these changes to all in product line

Problems Effort Time Cost Expertise

Alleviations Automated support – Recognition – Propogation Where has this problem been tackled before?

Solution Configuration Management – Understanding nature of src code changes – Propagate changes to other versions of systems Requires – Differencing – Merge

Example – an issues in product line architectures Target Display for customer A MapDisplay ARDS Data EntityControl FeatureSet Target Display for customer B MapDisplay GPS Data Logger FileAccess EntitySelection FeatureSet Target Display for customer C MapDisplay DistanceCalc GPS Data

CM Approaches Plain text-based – Line by line differencing/merging Does not capture architectural semantics XML based – Element based differencing/merging Still does not provide desired level of functionality Replacement is not supported

Contributions Representation for product line architectures – xADL schema Algorithm for Difference – Based on xADL schema Algorithm for Merge – Based on xADL schema

xADL 2.0 Every ADL shares common modeling concepts Allows for extension Example extensions to structures and types schema – Options – optional entities – Variants – variable types – Versioning – different versions of entities

Contribution 1: Representation of Product Line Architectures xADL – Authors extension to allows documenting changes

Contribution 1: XML Schema All required data is in the diff – Do not need original architecture – More efficient for merging with new architecture Allows universal algorithms – Tool support – Extension of components

Contribution 1: XML Schema Every element has a uniqueID – Differencing – Merging – This holds even in different arch specifications No direct support for replacements – Simplicity – Separate treatment of difficult problem

Must describe – Adds – Removes – Replacements Contribution 2: Differencing Algorithm

Contribution 2: Differencing Algorithm – Adds/Removes Input: – Product line architecture 1 – Product line architecture 2 Output: – XML representing architectural differences Additions and Removals

Contribution 2: Differencing Algorithm – Adds/Removes

Example Contribution 2: Differencing Algorithm – Adds/Removes

Contribution 2: Differencing Algorithm - Replacements List of adds and remove is not sufficient Knowing about substitution is important – Changes in large systems are easier to understand Higher level concept

Contribution 2: Differencing Algorithm - Replacements Input: – Additions – Removals Output: – Replacement sets Idea – Upon replacement, must be old link and new link – Use these as starting points and form groups

Contribution 2: Differencing Algorithm - Replacements

Example Contribution 2: Differencing Algorithm - Replacements

We now have a comprehensive diff – We can see the changes in an architecture – We can compare two architectures – How to apply advances to other architectures? Contribution 3: Propagation

Input: – Diff – Target architecture Output: – Target architecture with enhancements Contribution 3: Propagation

Limitations Only works for product line architectures Must be very similar Must have the same core Dangerous if code is manually changed What if you don’t want all of the changes? Is there any support at the source code level?

Future Work Graphical Interface Differencing and merging for dynamic updates Runtime optimizations

Examples of xADL

Examples of xADL (component) TargetSystem1 GPSData gpsIfx none

Examples xADL (connector) connector1 connector1Ifx1 none connector1Ifx2 none

Examples of xADL (link) gpsConnLink

Exercise What would the diff look like assuming no replacements? Don’t worry about xml syntax, just list entities in plain text. (e.g. removeList: ARDSData… addList: GPSData,…) Target Display for customer A MapDisplay ARDS Data EntityControl FeatureSet Target Display for customer B MapDisplay GPS Data Logger FileAccess EntitySelection FeatureSet

Thank you

Exercise What would the replacement sets be for the following ? Target Display for customer B MapDisplay GPS Data Logger FileAccess EntitySelection FeatureSet Target Display for customer C MapDisplay DistanceCalc GPS Data