Configuration Management and Distributed Software Engineering - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Configuration Management and Distributed Software Engineering

Description:

Net-centric computing dominates. Resultant distributed nature of SE projects ... Can auto-detect such structures and interdependencies. Fine-grain Differentials ... – PowerPoint PPT presentation

Number of Views:26
Avg rating:3.0/5.0
Slides: 31
Provided by: jonapr
Category:

less

Transcript and Presenter's Notes

Title: Configuration Management and Distributed Software Engineering


1
Configuration Management and Distributed Software
Engineering
  • Jon A. Preston
  • Dr. Xiaolin Hu
  • CSc8350 Spring 2005

2
Agenda
  • SE Coordination and collaboration
  • CM Artifact management
  • IDE Integrating CMS/CSCW
  • Code visualization techniques
  • Open-systems architecture

3
Collaboration/Coordination
  • Software engineering involves coordinating
    multiple developers, architects, testers,
    designers, and managers
  • Net-centric computing dominates
  • Resultant distributed nature of SE projects
  • Leverage geography to achieve SE shifts

4
Configuration Management
  • Principally involves artifact management and
    coordination
  • Allow maximum concurrency
  • Minimize collisions (lost and/or replicated work)
  • Recent study (2001)
  • 12.5 of all changes to a file occur within 24
    hours
  • 16 parallel versions to be merged

5
Configuration Management
6
Optimistic vs. Pessimistic
  • Two approaches to CM
  • Optimistic
  • High concurrency (hopefully disjoint)
  • Must deal with possible merge
  • Pessimistic
  • Low concurrency
  • Avoids the merge problem
  • Users can check out read only and edit

7
Pessimistic Coordination
Checkout denied until A is checked in
8
Optimistic Coordination
9
Distributed Configuration Management
  • Network-centric computing
  • Distributed file system
  • Distribute artifacts among many machines
  • Coordinate among machines (lookup, etc.)
  • Can offer replication services (reliability,
    performance)
  • Must then deal with replicating locks and changes

10
Distributed CM
Files A-I
User 1
Locks file C
Locks file T
Files J-Q
User 2
Locks file J
Locks file Z

Files R-Z
User N
Locks file L
11
Distributed CM with Replication
Files A-I
User 1
Locks file C
Locks file T
Files J-Q
User 2
Locks file J
Files R-Z
Locks file Z

User N
Locks file L
Files R-Z
12
Distributed CM with Replication
Files A-I
User 1
Locks file C
Locks file T
Files J-Q
User 2
Locks file J
Files R-Z
Updates file Z

User N
Locks file L
Updates file Z
Files R-Z
13
Structure of Software Systems
  • Highly structured code blocks
  • Hierarchical trees/graphs
  • Reuse leads to interdependencies
  • Can auto-detect such structures and
    interdependencies

14
Fine-grain Differentials
Version n
Version n1
Edited code block
15
Collaborative IDE and Versioning
  • Locking (pessimistic CM) doesnt scale
  • Highly-structured nature of software code helpful
  • Supports wait-free collaboration
  • Must deal with collisions/merging
  • Evolution graph (branching and merging) presented

16
(No Transcript)
17
Collaborative Editing in Jazz
  • Plug in for Eclipse (Java IDE)
  • Shows Rear View Window of other users
  • Connects with IM, email, and screen sharing
  • Lightweight collaboration

18
(No Transcript)
19
Microsofts Integrated Approach
  • Visual Studio 2005 Team System
  • Integrates architecture, design, development,
    testing, and oversight/tracking
  • Includes communication hooks

20
Visual Studio 2005 Team System
21
Test Integration and Coverage
22
Code Visualization
  • Augur
  • Extends SeeSoft
  • Allows for an aggregate view of distributed
    software development
  • Colors indicate users as well as structure of
    code and age of change
  • Multiple views
  • Presented at ICSE04

23
SeeSoft
24
Augur Visualizing Source Code
25
Augur Visualizing Source Code
26
(No Transcript)
27
Open-systems Architecture
  • Current research in CSCW
  • Web-based systems
  • Change tracking in Office
  • Web-services
  • Access remotely
  • Subscriber pattern for notification
  • Middleware
  • Update legacy CMS with new functionality

28
Core Functionality
  • Optimistic check out
  • Pessimistic check out
  • Check in
  • Subscribe and unsubscribe
  • Publish lists
  • Artifacts (and state)
  • Users (contact information, presence, etc.)
  • Subscriptions

29
Open-systems Architecture
Notification (Email, IM, etc.)

CVS
Fine-grain middleware
Network
VSS
Doc Editor
Connection middleware
Fine-grain middleware
Web Services-Provided Core Functionality


CMS
Connection middleware
IDE
Fine-grain middleware
30
Conclusion
  • Traditional CM does not scale well
  • Pessimistic locking inhibits concurrency
  • Fine-grain locking a possible solution
  • Integration of CSCW and IDE critical
  • Visualization techniques useful
  • Track changes over time
  • Provide meta-view of structure
  • Open-systems architecture is promising
Write a Comment
User Comments (0)
About PowerShow.com