Grand Design Pegendalian kuantitas Penduduk kabupaten Agam ...
Collaborative Software Engineering – Awareness and Concurrency Agam.
-
date post
21-Dec-2015 -
Category
Documents
-
view
218 -
download
1
Transcript of Collaborative Software Engineering – Awareness and Concurrency Agam.
![Page 1: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/1.jpg)
Collaborative Software Engineering – Awareness and ConcurrencyAgam
![Page 2: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/2.jpg)
Outline
Introduction to CSE
Brief overview of five recent papers
Synthesis with in-class discussion
![Page 3: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/3.jpg)
Introduction to CSE
Seamless, fine-grained, real-time collaboration between geographically distributed software engineers
Example: Pair programming Refactoring Working on any part of the software
design/analysis process as a distributed team
![Page 4: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/4.jpg)
Introduction to CSE (contd.)
Research Areas in CSE
![Page 5: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/5.jpg)
Introduction to CSE (contd.)
Design space of CSE tools lies between two extremes (optimistic, pessimistic)
![Page 6: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/6.jpg)
Brief overview of papers
“Interruptions on Software Teams: A Comparison of Paired and Solo Programmers” J. Chong, R. Siino CSCW 2006
“CVS Integration with Notification and Chat: Lightweight Software Team Collaboration” G. Fitzpatrick, P. Marshall, A. Phillips CSCW 2006
![Page 7: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/7.jpg)
Brief overview of papers (contd.) “A User Evaluation of Synchronous Collaborative
Software Engineering Tools” C. Cook, W. Irvin, N. Churcher APSEC 2005
“Towards Synchronous Collaborative Software Engineering” C. Cook, N. Churcher, W. Irvin APSEC 2004
“Modelling and Measuring Collaborative Software Engineering” C. Cook, N. Churcher ACSC 2005
![Page 8: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/8.jpg)
“Lightweight Software Team collaboration …”
Communication MediatedInformal
Idea: public awareness of CVS contents as a means of communication
Currently being performed (in a weak sense) by mailing lists
![Page 9: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/9.jpg)
“Lightweight Software Team collaboration …” (contd.)
Most prevalent form of CSE – version control !!
Idea – combine this with informal communication
Result – mediated communication
![Page 10: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/10.jpg)
“Lightweight Software Team collaboration …” (contd.)
Visualization of CVS a good idea ‘tickertape’ mechanism used to
broadcast recent CVS activity to team“publish/subscrive” system displays
<log entry/group/developer>Made users aware of “manipulation of
project artifacts” Studied interaction/discussion arising
from
![Page 11: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/11.jpg)
“Lightweight Software Team collaboration …” (contd.)
Results of studyStimulated developer discussionPromoted ‘awareness’CVS log had better context, more infoHelps document “flow”
(commentary !)
![Page 12: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/12.jpg)
“Lightweight Software Team collaboration …” (contd.)
Results of study (contd.)‘commit’ operation – public act (as it
should be, marking transition of code from private workspace to public workspace) – Awareness !
Knowing that other developers are ‘tracking’ makes a difference – interruptibility management !
![Page 13: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/13.jpg)
“Modelling and Measuring CSE …”
CSE demands a little more than typical CSCW (E.g. shared whiteboards)Longer lifetimesHigher conflict resolution costMore complexity
Currently rely on “social protocols”
![Page 14: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/14.jpg)
“Modelling and Measuring CSE …” (contd.)
CAISE architecture• Server based• Semantic model maintained• Requires parsers/analysers• Events – input/change/feedback
Supports visualization
![Page 15: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/15.jpg)
“Modelling and Measuring CSE …” (contd.)
Editor Panel User Tree Client Panel
![Page 16: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/16.jpg)
“Modelling and Measuring CSE …” (contd.)
![Page 17: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/17.jpg)
“Modelling and Measuring CSE …” (contd.)
ObjectivesBuilds at different temporal
granularitiesFine-grained integritySemantic-based awareness and
feedbackPrivate work and re-integration
![Page 18: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/18.jpg)
“Modelling and Measuring CSE …” (contd.)
CAISE and CSEProvides Taskwork-oriented features
(as do traditional systems)But also -- Teamwork-oriented
features
Different modes reflecting different approaches to conflict resolution
![Page 19: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/19.jpg)
“Modelling and Measuring CSE …” (contd.)
Private (traditional) mode – similar to cvs
Independent – simultaneos work (CAISE monitors semantic relationship)
Melee – active conflict resolution by developers (communicate using out-of-band channel)
WYSIWIS – “tour of the code”
![Page 20: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/20.jpg)
“Modelling and Measuring CSE …” (contd.)
Server allows awareness of Code dependenciesDeveloper relationships
Visualization – see changes to code base over time
![Page 21: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/21.jpg)
“User evaluation of synchronous CSE …” (contd.)
User StudyTwo modes
• Conventional• Collaborative
Two types of tasks• Inter-file• Intra-file
Measured task-completion times
![Page 22: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/22.jpg)
“User evaluation of synchronous CSE …” (contd.)
Results Collaborative
mode twice as fast
Subjective survey results approved (tools rated 14-15 on a scale of 1-20)
![Page 23: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/23.jpg)
“Interruptions on Software Teams …”
Studied interaction in the workplace, more specifically knowledge-intensive work
Developers take breaks from workSocial natureFunctional natureFrequently interrupt each other
![Page 24: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/24.jpg)
“Interruptions on Software Teams …” (contd.)
User study of two situationsProgrammers working as a “pair” (co-
located)Programmers working “solo”
(remotely)
![Page 25: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/25.jpg)
“Interruptions on Software Teams …” (contd.)
ObservationsInterruptions – both functional + social
for solo, largely functional for pairPair was harder to interrupt‘interruptibility’ for pair easier to
assessResumption of task/switching tasks
faster for pair
![Page 26: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/26.jpg)
“Interruptions on Software Teams …” (contd.)
ObservationsAwareness of interruptiblity => Can
handle interruptions better !‘Team pair’ – partner helps maintains
state
![Page 27: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/27.jpg)
“Interruptions on Software Teams …” (contd.)
ConclusionsDesign Implication – make
programmers ‘aware’ of multiple tasks to get same benefit for remote collaboration
Actively maintain context
![Page 28: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/28.jpg)
Awareness and Concurrency Awareness
Know what other users are doing• Helps avoid major conflicts
Awareness of interruptibility Similar to mailing lists Conflict Resolution
Concurrency Control Helps avoid developers making conflicting
changes
![Page 29: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/29.jpg)
Awareness and Concurrency (contd.)
ConclusionExplored three different areasIssue of ‘collaboration’ in software
engineeringAugmenting CVS with simple tool –
trasforms developer relationshipsCAISE – awareness of relationships -
> conflict resolutionAwareness related to interruptibility
![Page 30: Collaborative Software Engineering – Awareness and Concurrency Agam.](https://reader036.fdocuments.in/reader036/viewer/2022062407/56649d6a5503460f94a48b0a/html5/thumbnails/30.jpg)
Thank you !
(Questions ?)