13
A Middleware to Increase Awareness A Middleware to Increase Awareness in Distributed Software in Distributed Software Development Workspaces Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. Marco A. S. Mangan 1,2 , Marcos R. S. Borges 3 ,Cláudia Werner 1 1 Computer 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]

A Middleware to Increase Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. Marco A. S. Mangan

  • View
    214

  • Download
    1

Embed Size (px)

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, [email protected], [email protected]

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

13

Thank you!

Comments? Questions?

A Middleware to Increase Awareness in A Middleware to Increase Awareness in Distributed Software Development WorkspacesDistributed Software Development Workspaces