Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware.

Slides:



Advertisements
Similar presentations
Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
Advertisements

A component- and message-based architectural style for GUI software
Martin Wagner and Gudrun Klinker Augmented Reality Group Institut für Informatik Technische Universität München December 19, 2003.
Lime Team Adam Bazinet Hau San Si Tou. What is LIME?  LIME stands for Linda In a Mobile Environment Linda : a shared memory computing model developed.
0 General information Rate of acceptance 37% Papers from 15 Countries and 5 Geographical Areas –North America 5 –South America 2 –Europe 20 –Asia 2 –Australia.
Cracow Grid Workshop, November 5-6, 2001 Towards the CrossGrid Architecture Marian Bubak, Marek Garbacz, Maciej Malawski, and Katarzyna Zając.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
Supporting Software Development in Virtual Enterprises Walt Scacchi
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
An Agent-Oriented Approach to the Integration of Information Sources Michael Christoffel Institute for Program Structures and Data Organization, University.
1 Personal Activity Coordinator (PAC) Xia Hong UC Berkeley ISRG retreat 1/11/2000.
Information Retrieval in Distributed Environments Based on Context- Aware, Proactive Documents Current Research Information Systems (CRIS 2002) August.
The Open Grid Service Architecture (OGSA) Standard for Grid Computing Prepared by: Haoliang Robin Yu.
ICPCA 2008 Research of architecture for digital campus LBS in Pervasive Computing Environment 1.
Scenario Oriented Project Management Knowledge Reuse within a Risk Analysis Process Márcio de Oliveira Barros Cláudia Maria Lima Werner Guilherme Horta.
A Middleware to Increase Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. Marco A. S. Mangan.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
CSC230 Software Design (Engineering)
1 Software Reuse in Eclipse Kellie-Ann Smith Norgye Yuanyuan Song Xiang Yin Jia Xu.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Chapter 6– Artifacts of the process
The Design Discipline.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
INTELLIGENT AUTOMATION INC. Extending Rational Rose to support MAS design in UML Intelligent Automation Inc. 2 Research Place, Suite 202 Rockville, MD.
An Introduction to Software Architecture
Persistence Store Project Proposal.
Supporting Heterogeneous Users in Collaborative Virtual Environments using AOP CoopIS 2001 September 5-7, Trento, Italy M. Pinto, M. Amor, L. Fuentes,
RUP Design RUP Artifacts and Deliverables
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 of of 25 3 of 25 ORBs (Object Request Broker) – A distributed software bus for communication among middleware services and applications – To.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
13-1 Application Architecture Application architecture – a specification of the technologies to be used to implement information systems. The blueprint.
Information System Development Courses Figure: ISD Course Structure.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Workshop on Future Learning Landscapes: Towards the Convergence of Pervasive and Contextual computing, Global Social Media and Semantic Web in Technology.
1 Planning for Reuse (based on some ideas currently being discussed in LHCb ) m Obstacles to reuse m Process for reuse m Project organisation for reuse.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Collaboration over Internet Ivan Tomek, Rick Giles, Hai Zhang, Li Di Jodrey School of Computer Science Acadia University, Wolfville, Nova Scotia, Canada.
S. Shumilov – Zürich Analytical Visualization Framework - a visual data processing and knowledge discovery system Ivan Denisovich, Serge Shumilov Department.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Interfaces for Groupware Marcos R.S. Borges Federal University of Rio de Janeiro José A. Pino Universidad de Chile Carla Valle Federal University of Rio.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
An Overview of Scientific Workflows: Domains & Applications Laboratoire Lorrain de Recherche en Informatique et ses Applications Presented by Khaled Gaaloul.
Jens Hartmann York Sure Raphael Volz Rudi Studer The OntoWeb Portal.
4+1 View Model of Software Architecture
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
UCI Large-Scale Collection of Application Usage Data to Inform Software Development David M. Hilbert David F. Redmiles Information and Computer Science.
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Data Grids, Digital Libraries and Persistent Archives: An Integrated Approach to Publishing, Sharing and Archiving Data. Written By: R. Moore, A. Rajasekar,
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
The Open Grid Service Architecture (OGSA) Standard for Grid Computing
OO Methodology OO Architecture.
Enterprise Computing Collaboration System Example
Outline Pursue Interoperability: Digital Libraries
The Extensible Tool-chain for Evaluation of Architectural Models
Frameworks And Patterns
Lecture 1: Multi-tier Architecture Overview
Starting Design: Logical Architecture and UML Package Diagrams
An Introduction to Software Architecture
3rd Studierstube Workshop TU Wien
Presented By: Darlene Banta
Ekaterina Prasolova-Førland
Implementation support
Design Yaodong Bi.
Design.
Implementation support
Presentation transcript:

Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware (CRIWG'04) 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,

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 21 Outline  Middleware overview  A process to develop awareness enhanced DSDEs  Examples of extensions  Conclusions and future work

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 21 Middleware architecture CASE tool Collector Extension Collector CASE tool Extension Event Notification e1 write(e1)

Alceste : CRIWG’04: Sep 06, :: 21 Middleware architecture CASE tool Collector Extension Collector CASE tool Extension Event Notification e1 query(e?) notify(e?)

Alceste : CRIWG’04: Sep 06, :: 21 Middleware architecture CASE tool Collector Extension Collector CASE tool Extension Event Notification e2[e1] write(e2[e1]) e1

Alceste : CRIWG’04: Sep 06, :: 21 Outline  Middleware overview  A process to develop awareness enhanced DSDEs  Examples of extensions  Conclusions and future work

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 21 Outline  Middleware overview  A process to develop awareness enhanced DSDEs  Examples of extensions  Conclusions and future work

Alceste : CRIWG’04: Sep 06, :: 21 Examples Task: software peer review CASE tool: Odyssey SDE Collector: Java UI System Spatial awareness model Task: concurrent programming CASE tool: Eclipse SDE Collector: tool extension mechanism Document-based awareness model

Alceste : CRIWG’04: Sep 06, :: 21 Examples Task: concurrent modeling CASE tool: Odyssey SDE Collector: tool extension mechanism Semantic awareness model Task: software management CASE tool: Odyssey SDE Collector: persistence layer Semantic awareness model

Alceste : CRIWG’04: Sep 06, :: 21 Outline  Middleware overview  A process to develop awareness enhanced DSDEs  Examples of extensions  Conclusions and future work

Alceste : CRIWG’04: Sep 06, :: 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

Alceste : CRIWG’04: Sep 06, :: 21 Conclusions  Limitations Side-show windows Dependency on the extension possibilities of CASE tool and its run- time environment Conservative changes

Alceste : CRIWG’04: Sep 06, :: 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

Increasing Awareness in Distributed Software Development Workspaces Copyright, 1997 © Dale Carnegie & Associates, Inc. X International Workshop on Groupware (CRIWG'04) 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,