Announcements Course project is on-going  Part 1 / Phase 1 description has been updated (typo in the submission filename convention) HW2 grades are out.

Slides:



Advertisements
Similar presentations
Week 2 DUE This Week: Safety Form and Model Release DUE Next Week: Project Timelines and Website Notebooks Lab Access SharePoint Usage Subversion Software.
Advertisements

TortoiseSVN By Group 1 Team B. Installing TortoiseSVN.
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.
Simple Git Steve Pieper. Topics Git considerations and Slicer Git as if it were svn Git the way it is meant to be.
Version Control System Sui Huang, McMaster University Version Control SystemSui Huang, McMaster University Version Control System -- base on Subversion.
HP Restricted1 Completed: Increased staff dedicated to processing faxes by 12 to clear out unattached fax inventory Increased CSR staff to manage ongoing.
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION VERSION CONTROL UW Autumn 2011.
David Notkin Autumn 2009 CSE303 Lecture 22 Subversion is an open source version control system. Social Implications Friday version control system.
CoDesign/CoWare An Extensible and Scalable Collaborative Software Modeling Infrastructure SoftArch, USC October 20th Jae young Bang, USC
Version Control and Subversion Chris Coakley. Outline What is Version Control? Why use it? Using Subversion (SVN)
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC March, 2010 Jae young George.
Version Control. What is Version Control? Manages file sharing for Concurrent Development Keeps track of changes with Version Control SubVersion (SVN)
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
 CoDesign A Highly Extensible Collaborative Software Modeling Framework Jae young Bang University of Southern California.
Subversion. What is Subversion? A Version Control System A successor to CVS and SourceSafe Essentially gives you a tracked, shared file system.
The Design Workshop Introduction to Version Control 1.
Git – versioning and managing your software L. Grewe.
1 Introductory Notes on the Git Source Control Management Ric Holt, 8 Oct 2009.
Identify steps for understanding and solving the
 Fast Conflict Detection for Jae young Bang March 8 th, 2011 Remote Collaborative Software Modeling.
Version control Using Git Version control, using Git1.
LOGO “ Add your company slogan ” Software Measurement & Analysis Team Assignment 2.
ITEC 370 Lecture 16 Implementation. Review Questions? Design document on F, feedback tomorrow Midterm on F Implementation –Management (MMM) –Team roles.
Version Control. How do you share code? Discussion.
F15 Modern Version Control with Git Andrew Benson Sign in on the attendance sheet!
A Collaborative Writing Mode for Avoiding Blind Modifications Center for E-Business Technology Seoul National University Seoul, Korea Nam, Kwang-hyun Intelligent.
CoDesign A Highly Extensible Collaborative Software Modeling Framework SoftArch, USC October 20th Jae young George.
Version Control Systems with Subversion (SVN) and Tortoise.
Copyright © 2015 – Curt Hill Version Control Systems Why use? What systems? What functions?
SENG 403 Tutorial 1 1SENG 403 – Winter Agenda Version Control Basics Subversion Basic actions in Subversion Some examples 2SENG 403 – Winter 2012.
Introduction to Version Control with Git CSC/ECE 517, Fall 2014 A joint project of the CSC/ECE 517 staff, including Titus Barik, Gaurav Tungatkar, Govind.
Version Control with SVN Images from TortoiseSVN documentation
Version Control Reducing risk with version control Jon Austin
Brandon Jarratt, Nathan Clark, Chris Bennett, David Nolan Software Engineering Final Presentation Section 502.
Copyright © Curt Hill Tortoise SVN A Subversion Client.
University of Southern California Center for Systems and Software Engineering Configuration Management: Concepts and Tools Pongtip Aroonvatanaporn CSCI.
Brandon Jarratt, Nathan Clark, Chris Bennett, David Nolan Software Engineering Final Presentation Section 502.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Introduction to Git Yonglei Tao GVSU. Version Control Systems  Also known as Source Code Management systems  Increase your productivity by allowing.
T Iteration Demo Tikkaajat [PP] Iteration
1 CSE 303 Lecture 19 Version control and Subversion ( svn ) slides created by Marty Stepp
(1) Introduction to Subversion (SVN) and Google Project Hosting Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences.
Process changes: Internal processes of CASA, external contributions, release schedule Mark G. Rawlings, CASA Build & Test Lead NRAO, Charlottesville Acknowledgements:
CS520 Web Programming Version Control with Subversion Chengyu Sun California State University, Los Angeles.
DIGITAL REPOSITORIES CGDD Job Description… Senior Tools Programmer – pulled August 4 th, 2011 from Gamasutra.
Problem Solving With C++ SVN ( Version Control ) April 2016.
Version Control Jose Caraballo. What is version Control?
Version Control How and why to control changes in a software artifact.
Source Control Dr. Scott Schaefer. Version Control Systems Allow for maintenance and archiving of multiple versions of code / other files Designed for.
CS5220 Advanced Topics in Web Programming Version Control with Git
4 Version control (part 1)
SVN intro (review).
Version Control.
Source Control Dr. Scott Schaefer.
Version Control with Subversion (SVN)
Version control, using Git
CS5220 Advanced Topics in Web Programming Version Control with Git
Subversion User Training
Software Engineering for Data Scientists
LECTURE 3: Software Configuration Management
Revision Control Daniel Daugherty
Part 1: Editing and Publishing Files
Subclipse CSCI 3130 Summer 2016.
Subversion Basics Guide
Git and Jira Tutorials Kan Qi
Fast Conflict Detection for
Introduction to Version Control with Git
Version Control with Git
Version Control with Git
How l learned to work with others instead of working around them.
Presentation transcript:

Announcements Course project is on-going  Part 1 / Phase 1 description has been updated (typo in the submission filename convention) HW2 grades are out HW3 in-grading

CS 578 Course Project Part 1  Today: We are currently in the Part 1 / Phase 1  Nov. 21: Part 1 / Phase 1 finishes. Submit Part 1 / Phase 1 deliverables. Part 1 / Phase 2 begins.  Dec. 3:Part 1 / Phase 2 finishes. Part 2  Nov. 19 to Nov. 30:FLAME collaborative design sessions  Dec. 3:Part 2 finishes

Collaborative Software Design USC CSCI 578, Fall 2014 Jae young Bang November 17 th, 2014

Collaborative Software Design Complex modern software systems are designed by multiple architects Design decisions to models Architects collaboratively evolve the models Version control systems (VCS) are often used to support modeling change integration (Part 1) 4

Version Control Systems Categories of VCS in terms of synchronization frequency  Synchronous: realtime synchronization  Shared whiteboard, Google Docs, etc.  Asynchronous: loose, on-demand synchronization  Git, Subversion (SVN), etc. Asynchronous VCSs are widely used  More widely adopted for collaborative software development  Parallelized “sandbox” style workspaces – higher productivity  Not fully aware of each others’ work – causing conflicts Risk of having conflicts  Changes made after a conflict may need to be reversed

Basics of Version Control How an asynchronous version control system works: Repo Working Copy Jane Working Copy John Commit Update The Repository Checkout Ver. 100 Ver. 101 Ver. 102

Too much memory usage! Conflict Scenario Collaborative design, hard requirement on memory usage  They found they have made changes that: 1.Are not compatible and cannot be merged together or 2.Can be merged but together violate system’s intended rules 7 Repo Working Copy Jane Working Copy John time Makes a change Finds no issue in memory usage Commits the change Makes a change Finds no issue in memory usage Updates Remove Update Model

Conflict Scenario Jane and John make conflicting changes  They found they have made changes that: 1.Are not compatible and cannot be merged together or 2.Can be merged but together violate system’s intended rules Other names of synchronization conflicts  Textual conflicts  Direct conflicts Other names of higher-order conflicts  Indirect conflicts 8 Synchronization: Higher-order:

Revisiting Version Control What is the risk of not knowing an outstanding conflict? Repo Working Copy Jane Working Copy John Commit Update The Repository Checkout Ver. 100 Ver. 101 C C C C C C C C Conflict found! What if John was aware of the conflict earlier?

FLAME F ramework for L ogging and A nalyzing M odeling E vents  Provides facilities for proactive detection of higher-order software design conflicts on top of asynchronous VCS  Logs design decisions and conflict detection results Key features  Immediate capture of modeling changes  Immediate transfer of modeling changes to conflict detection engines  Background conflict detection 10

FLAME: Proactive Conflict Detection What if the conflicts are detected in a proactive fashion? Repo Working Copy Jane Working Copy John Commit Update The Repository Checkout Ver. 100 Ver. 101 C Conflict found! John was able to stop before making further changes

FLAME: High-Level Architecture One Detection Engine per architect Maintains a copy of the model that incorporates:  The head version in the repository  The local changes made on top of the base version A “future” state of model when you perform an update

FLAME: As-Implemented Architecture

FLAME: Conflict Notification Delivers conflict information with minimal interruption  Color flags that present conflict information  The status of the copy of the model your Detection Engine maintains  What will happen when you perform an update 14 All system requirements are met Memory requirement not met

Guidance on Dealing with Conflicts Update before commit When you see a red flag, fix it before you commit Commit only when you see all green flags

Questions?