1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem.

Slides:



Advertisements
Similar presentations
Holdings Management Overview
Advertisements

XML III. Learning Objectives Formatting XML Documents: Overview Using Cascading Style Sheets to format XML documents Using XSL to format XML documents.
Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
Enhancing Spotfire with the Power of R
Learning the Basics – Lesson 1
KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Kyle Thurow, Kyle Neuschaefer, Alexander Matusiak, and Justin Carroll.
1 Migration of Business Objects XI from R2 to R3 July 1, 2009 Office of the Chief Financial Officer Fiscal Management Information System Team This presentation.
1 Actuate Corporation © 2010 THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE BIRT COMPANY THE.
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
MAE Training for User July 8, Agenda Wiki FishEye Crucible Stash.
® IBM Software Group © 2010 IBM Corporation What’s New in Profiling & Code Coverage RAD V8 April 21, 2011 Kathy Chan
Goals Give you a feeling of what Eclipse is.
SRDC Ltd. 1. Problem  Solutions  Various standardization efforts ◦ Document models addressing a broad range of requirements vs Industry Specific Document.
Publishing Workflow for InDesign Import/Export of XML
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Eclipse Introduction Dwight Deugo Nesa Matic
JArchitect Benefits by CoderGears
Developing a Basic Web Page Posting Files on UMBC
Eclipse Process Framework Plugin example: documents & maps generation
Transformations Revealed
Eclipse IDE. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as teaching.
03 Using Eclipse. 2 IDE Overview An IDE is an Interactive Development Environment Different IDEs meet different needs BlueJ and DrJava are designed as.
Winter Consolidated Server Deployment Guide for Hosted Messaging and Collaboration version 3.5 Philippe Maurent Principal Consultant Microsoft.
Design Verification Design Profiler Course 8. All materials updated on: September 30, Design Profiler Design Profiler is a tool integrated within.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
Duke University Program Design & Construction Course Application Development Tools Sherry Shavor
MAHI Research Database Data Validation System Software Prototype Demonstration September 18, 2001
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
CCS APPS CODE COVERAGE. CCS APPS Code Coverage Definition: –The amount of code within a program that is exercised Uses: –Important for discovering code.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
CppDepend Benefits by CoderGears
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
JBoss Developer Studio BIRT Plugin. BIRT - Business Intelligence and Reporting Tools. BIRT plugin for JBoss Developer Studio is an Eclipse-based open.
Session 1 SESSION 1 Working with Dreamweaver 8.0.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
2010. The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
© 2012 The McGraw-Hill Companies, Inc. All rights reserved. word 2010 Chapter 3 Formatting Documents.
Declaratively Producing Data Mash-ups Sudarshan Murthy 1, David Maier 2 1 Applied Research, Wipro Technologies 2 Department of Computer Science, Portland.
Use CSS to Implement a Reusable Design Selecting a Dreamweaver CSS Starter Layout is the easiest way to create a page with a CSS layout You can access.
Selena Extension Christian Brand Eckart Langhuth Matthias Metzler
Prepared by: Steve Teo Contributors: Tong Huu Khiem.
Tool Install How to download & install Java 6 & Eclipse updated version based on Dr. G. L. Ray’s slides.
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … PRESENTED BY ROBERT FREEMAN (
XP Tutorial 7 Creating a Flash Web Site. XP New Perspectives on Macromedia Flash 82 Objectives Plan and create a Flash Web site Create a Flash template.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Java Programming: Advanced Topics1 Introduction to Advanced Java Programming Chapter 1.
Version Control and SVN ECE 297. Why Do We Need Version Control?
.NET Mobile Application Development XML Web Services.
Understanding and Propagating Architectural Changes How can we manage changes in product line architectures? Christopher Van der Westhuizen and Andre van.
A2: Making OpenEdge ® Architect Work For You Susan Houniet Senior Solution Consultant.
Copyright © 2010 Obeo, Made available under the Eclipse Public License v SCA Tools (Helios) Release Review Planned Review Date: June 11, 2010.
July 19, 2004Joint Techs – Columbus, OH Network Performance Advisor Tanya M. Brethour NLANR/DAST.
OSSIM Technology Overview Mark Lucas. “Awesome” Open Source Software Image Map (OSSIM)
GLite build and integration system Building and Packaging Robert HARAKALY
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
SQL Server Reporting Services for.NET Developers Bret Stateham
Source Code Management
SharePoint Administrative Communications Planning: Dynamic User Notifications for Upgrades, Migrations, Testing, … Presented by Robert Freeman (
Introduction to the New SSA OnePoint Online Website
CodePeer Update Arnaud Charlet CodePeer Update Arnaud Charlet
CodePeer Update Arnaud Charlet CodePeer Update Arnaud Charlet
Product Overview.
Presentation transcript:

1 Mind Visual Diff An architecture comparison tool December 16 th, 2014 – v0.2.2 Seyvoz Stephane Assystem

2 Summary 1.Concepts & Usage 2.Behind the scenes…

3 Concepts & Usage

4 Mind-what ? >Diff: A tool for developers to compare documents >Text >Used between documents, or to view differences between commits of a source code repository, to create patches… >Mind (Visual) Diff >Text is OK but… -Needs time to read & understand changes, across multiple files >We like architecture visualizations !

5 For Who ? Why ? >Architects >Whiteboard vs Reality >Increments during development >Software updates >Product line differences -Linked to market(ing) demands >Difference measure  Re-use measure >Developers >Divide & Conquer development -Easier integration of individual parts >Already used to textual diff… -Should be consulted for feedback >Everybody Improved team communication !

6 Composition Sample Binding target change >Diff >Line per line >No semantics >S2 -> S2 seems changed -But wasn’t >S1 -> S1 becomes S1 -> S3 >Visual Diff Legend: Old – New – Type Change – No change

7 How ? >‘Mind-diff’ available in the Mind4SE nightlies since august 2014 >Expected first version in next stable release >Possible comparisons >Same repository, 2 applications mind-diff --src-path= –o Application1 Application2 >2 different repositories, same application mind-diff --base-src-path= --head-src-path=“srcdir2” –o Application >2 different repositories, 2 different applications mind-diff --base-src-path= --head-src-path=“srcdir2” –o App1 App2 >Note >Base = Old - Head = New >Open generated TopLevel.gv as usual with any ‘mindot-viewer’ version

8 Advanced features >Works with --flatten option >Global application changes - in one glance ! > >3 deleted components refined as 6 new components, 25 unchanged

9 Confidential Property of Schneider Electric Behind the scenes…

10 How: Plugin >A compiler-based tool >Contextualize target components (and their internals) in their respective repositories Visualization files C ADL ITF Mind Diff Mind compiler C ADL ITF GV Base Repo Head Repo Comp1 Comp2

11 Simple algorithm overview (Only Components shown as example, no Binding or Source or Interface) >Phase 1 >Load Base tree >Load Head tree >According to their respective repositories (context) >Phase 2 >Dual navigation >Full Result tree construction >Clone all old and new nodes -Decorated with old/new/changed info -Definition of “change”: Same instance name, with different type names -No content comparison / matching -Links still functional (click to Eclipse) -Latest info preferred on change >Phase 3 >Serialization with custom GV generator Base (Remote sensor) Head (Remote display) Boot c0 Proxy Com c1 Sensor c2 Buffer c4 Sender c5 Boot c0 Stub Com c1 Display c6 Buffer c4 Receiver c7 Result Boot c0 Sensor c2 Buffer c4 Sender c5 Display c6 Receiver c7 Stub Com c1

12 Additional details and Perspectives >Current limitations & Proposed solutions >If between Base and Head a same composite definition has the same name but different sub- components, bindings etc, the information is not shown at the upper level (only name change is checked !) -You have to click on every composite to know -Or generate the “flatten”-ed comparison for a quick overview -Could be implemented with new node decoration, and rendering color in upper level ? >Same for interface types (definitions) (only name change checked) >Output content and style are not separated in our GV format -No late change of rendering at runtime (style, information selection) -Result tree serialization designed to be replaceable -SVG (XML), -Synthetic textual report, -JSON… >Other perspectives >Use the diff class from Mindoc HTML documentation generator to show differences between super-types, children types, siblings types ? >Generate a as a legend for each step ? >Need an appropriat full “movie” of architecture changes along a project’s SCM history ? -Problem of root file possible changes -With commit message e renderer (web gallery ?)