View
214
Download
1
Category
Tags:
Preview:
Citation preview
A Middleware to Increase Awareness in A Middleware to Increase Awareness in Distributed Software Development WorkspacesDistributed Software Development Workspaces
Copyright, 1997 © Dale Carnegie & Associates, Inc.
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, mangan@inf.pucrs.br, mborges@nce.ufrj.br
2
Outline
Scenario, Motivation, and Proposal
Middleware Architecture Overview
Examples of Extensions
Conclusion and Future Work
3
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
4
Motivation
Problems with current groupware frameworks and toolkits Hard to learn and to extend
Single solution provider
Offer collaboration support but require task support programming
Centralized computing
Economics of software development: software reuse DSDE commonalities and variabilities
5
Proposal
An alternative to DSDE development
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
6
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
7
Middleware architecture
Events: operations + awareness model elements Examples: create class, update line, window move
At least, five basic operations Create, retrieve, update, delete, view/touch
At least, three awareness models Spatial: windows, viewports, UI components
Semantic: class, packages, relationships
Document-based: document, paragraphs, lines
The task determines the awareness model
API contains about 15 interfaces
8
Middleware architecture
CASE tool
CollectorExtension
Collector
CASE toolExtension
Event Notification e2[e1]
write(e2[e1])
e1
query(e?)
notify(e?)
9
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
10
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
11
Conclusions
An alternative to the development of DSDEs Distributed computing, application independent awareness model
and a software component market
Extension examples demonstrate the feasibility of this approach
Extensions enables the use and evaluation of collaboration support in real scenarios
12
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
Recommended