Page 1
Increasing Awareness in Distributed Software Increasing Awareness in Distributed Software Development WorkspacesDevelopment Workspaces
Copyright, 1997 © Dale Carnegie & Associates, Inc.
X International Workshop on X International Workshop on Groupware (CRIWG'04)Groupware (CRIWG'04)
Marco A. S. Mangan1,2, Marcos R. S. Borges3,Cláudia Werner1
1Computer Science Department, COPPE, Federal University of Rio de Janeiro – Brazil
2 Faculdade de Informática, PUCRS – Brazil
3 Núcleo de Computação Eletrônica and Instituto de Matemática, UFRJ, Brazil
{mangan, werner}@cos.ufrj.br, [email protected] , [email protected]
Page 2
Alceste : CRIWG’04: Sep 06, 2004 2 :: 21
Scenario
Distributed or Global Software Development Teammates in different places or worktime
Virtual teams
In theory: increased productivity
In practice: cultural problems, awareness and communication breakdown
Distributed Sofware Development Environments (DSDEs) Software development tools + collaboration tools
Examples: Palantir, Milos, Tukan, Gossip, Serendipity
Page 3
Alceste : CRIWG’04: Sep 06, 2004 3 :: 21
Motivation
Inadequate support for collaboration in current software development environments (e.g. Eclipse SDE)
Collaboration aspects: communication, coordination, memory, and awareness
Economics of software development: software reuse DSDE commonalities and variabilities
Alternative aproach to development with groupware frameworks and toolkits Development model: Multiple-players, framelets
Run-time: No application thread control
Page 4
Alceste : CRIWG’04: Sep 06, 2004 4 :: 21
Problem and solution
Problem: How to build a DSDE? How to provide adequate group and task support?
How to manage environment evolution?
Proposal: Enhancement of pre-existent software tools
A middleware-based collaboration server implementing DSDE commonalities
Extension mechanisms to deal with DSDE variabilities
Guidelines to develop and maintain extensions
Page 5
Alceste : CRIWG’04: Sep 06, 2004 5 :: 21
Outline
Middleware overview
A process to develop awareness enhanced DSDEs
Examples of extensions
Conclusions and future work
Page 6
Alceste : CRIWG’04: Sep 06, 2004 6 :: 21
Middleware architecture
A description of the main components of a DSDE CASE tool: an event source
Collector: a program to collect events
(Collaborative) Extension: an event sinker
Blackboard architecture Communication uses a single shared space
On-line notification
Template-based queries
A JINI service
Page 7
Alceste : CRIWG’04: Sep 06, 2004 7 :: 21
Middleware architecture
Events: operations + awareness model elements Examples: create class, update line, window move
At least, three awareness models Spatial: windows, viewports, UI components
Semantic: class, packages, relationships
Document-based: document, paragraphs, lines
Model selection depends on end-user task
Page 8
Alceste : CRIWG’04: Sep 06, 2004 8 :: 21
Middleware architecture
At least, five basic operations Create, retrieve, update, delete, view/touch
Events are partially ordered into channels Historic data and on-line data
No separation of commited and local data
An API implements events, operations, and channel usage Less than 20 interfaces, average 6 methods each
Page 9
Alceste : CRIWG’04: Sep 06, 2004 9 :: 21
Middleware architecture
CASE tool
CollectorExtension
Collector
CASE toolExtension
Event Notificatione1
write(e1)
Page 10
Alceste : CRIWG’04: Sep 06, 2004 10 :: 21
Middleware architecture
CASE tool
CollectorExtension
Collector
CASE toolExtension
Event Notificatione1
query(e?)
notify(e?)
Page 11
Alceste : CRIWG’04: Sep 06, 2004 11 :: 21
Middleware architecture
CASE tool
CollectorExtension
Collector
CASE toolExtension
Event Notification e2[e1]
write(e2[e1])
e1
Page 12
Alceste : CRIWG’04: Sep 06, 2004 12 :: 21
Outline
Middleware overview
A process to develop awareness enhanced DSDEs
Examples of extensions
Conclusions and future work
Page 13
Alceste : CRIWG’04: Sep 06, 2004 13 :: 21
Process
A set of guidelines to DSDE development using this approach
Roles: description of required skills and responsabilities CASE tool developer
Enhancement developer
Integration developer
Environment composer
Activities: sequence of logical steps to compose a new DSDE People, Tool, and Context Assesment
Extension and Collector Selection
Page 14
Alceste : CRIWG’04: Sep 06, 2004 14 :: 21
Outline
Middleware overview
A process to develop awareness enhanced DSDEs
Examples of extensions
Conclusions and future work
Page 15
Alceste : CRIWG’04: Sep 06, 2004 15 :: 21
Examples
Task: software peer review
CASE tool: Odyssey SDECollector: Java UI System
Spatial awareness model
Task: concurrent programming
CASE tool: Eclipse SDECollector: tool extension mechanism
Document-based awareness model
Page 16
Alceste : CRIWG’04: Sep 06, 2004 16 :: 21
Examples
Task: concurrent modeling
CASE tool: Odyssey SDECollector: tool extension mechanism
Semantic awareness model
Task: software management
CASE tool: Odyssey SDECollector: persistence layer
Semantic awareness model
Page 17
Alceste : CRIWG’04: Sep 06, 2004 17 :: 21
Outline
Middleware overview
A process to develop awareness enhanced DSDEs
Examples of extensions
Conclusions and future work
Page 18
Alceste : CRIWG’04: Sep 06, 2004 18 :: 21
Conclusions
Alternative to the development of DSDEs
The extension of pre-existent software tools reduce he problem of task support
Enhancements are composed of two reusable parts: collectors and extensions
A middleware implements common collaborative funcionalities
A process guides the development of DSDEs
Enhancement examples demonstrate the feasibility of this approach
Page 19
Alceste : CRIWG’04: Sep 06, 2004 19 :: 21
Conclusions
Limitations Side-show windows
Dependency on the extension possibilities of CASE tool and its run-time environment
Conservative changes
Page 20
Alceste : CRIWG’04: Sep 06, 2004 20 :: 21
Future Work
Third-party feasibility evaluation Observe planning and development of extensions with the
architecture
Work impact evaluation Observe a group performing a development task with and without
the extensions
Page 21
Increasing Awareness in Distributed Software Increasing Awareness in Distributed Software Development WorkspacesDevelopment Workspaces
Copyright, 1997 © Dale Carnegie & Associates, Inc.
X International Workshop on X International Workshop on Groupware (CRIWG'04)Groupware (CRIWG'04)
Marco A. S. Mangan1,2, Marcos R. S. Borges3,Cláudia Werner1
1Computer Science Department, COPPE, Federal University of Rio de Janeiro – Brazil
2 Faculdade de Informática, PUCRS – Brazil
3 Núcleo de Computação Eletrônica and Instituto de Matemática, UFRJ, Brazil
{mangan, werner}@cos.ufrj.br, [email protected] , [email protected]