Presentation is loading. Please wait.

Presentation is loading. Please wait.

CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University

Similar presentations


Presentation on theme: "CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University"— Presentation transcript:

1 CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University sdossick@cs.columbia.edu

2 2 An Introduction Even small development efforts may involve hundreds of artifacts –Design Docs, Change Requests, Test Plans, Code Reviews, etc. –Sheer volume of data makes it difficult to find what you are looking for, hard for new project members to get started Other research areas may offer us some hope –3D Information Visualization –Hypermedia

3 3 CHIME Columbia Hypermedia IMmersion Environment XML-based framework allows software artifacts to reside in their original locations –Source Code in SCM system –Design Docs in a Document Management System –Email archives on Corporate Intranet Users interact with project artifacts (and each other) by “walking around” a 3D Multi-User- Domain environment –Novice users collaborate with “experts” who may be in different physical locations

4 4

5 5 Conceptual Model Groupspaces –Persistent collaborative virtual space in which participants work –Project artifacts as well as tools used to create, modify, and maintain them –Artifacts continue to reside in their original repositories SCM systems, legacy databases, rationale capture systems, etc.

6 6 Conceptual Model (2) Groupviews –Multiuser, scalable user interfaces used to navigate and work in a Groupspace –Help users find and access relevant information quickly Keep users up to date on activities of other participants –Virtual Environment “rooms” created from artifacts residing in the Groupspace Example: Code module becomes a room, source files become furnishings in the room. Corridors might link a modules’ room to a room containing design docs, etc. –Selective Awareness of other users’ actions

7 7 Conceptual Model (3) Software Immersion –Virtual space defined by structure of artifacts –Built semi-automatically from artifacts, relationships –Architecture, organization of overall system can be inhabited, virtually “toured”

8 8 Conceptual Model (4) Challenges –Artifacts added, modified, deleted, moved in underlying Groupspace How to reflect this accurately in Groupview? –Remote repositories for Groupspace data May not support transactions, locking May be temporarily unavailable –Complexity of underlying software project How to design a Software Immersion which users can understand?

9 9 CHIME Architecture

10 10 CHIME Architecture (2) Xanth Data Service –Data organized into multi-rooted tree hierarchy of XML dataElements Each dataElement describes a single piece of data residing in a remote repository –Xanth maintains an XML document which completely describes the contents of the Groupspace

11 11 CHIME Architecture (3)

12 12 CHIME Architecture (4) Xanth Protocol Plugins –Implement retrieval protocols needed to communicate with data repositories –May provide “behaviors” to perform actions on the data E.g. for HTTP, behaviors are GET, POST, PUT Xanth Link Service –Provides typed, n-ary, bi-directional hypertext links among dataElements

13 13 CHIME Architecture (5) Virtual Environment Modeler (VEM) –Parameterize each dataElement according to a set of Virtual Environment Types –Base Types: Component, Container, Connector –VEM Types extensible for customization to underlying data –VEM does not “hardwire” a user interface Provides only hints on how artifacts are related

14 14 CHIME Architecture (6) Theme Service –Responsible for display, format, UI of Virtual Environment inhabited by users –Theme Plugins Downloaded from server at runtime by clients Handle UI representation of Virtual Environment for user – 3D, text based, etc. –MUD Service Keep track of user locations, handle user authentication, communications between users, etc.

15 15 Where do we go from here? How can we easily populate and manage a Groupspace? Versioning and Transaction support for Virtual Environments Personal Software Process Experiment –Methodology Immersion?

16 16 Related Work MUD/MOO Systems Software Development Environments Groupware systems Software Visualization/Algorithm Animation

17 17 Conclusions CHIME Architecture flexible, scalable –Linux 2.0.36 kernel source experiment Methodology Immersion likely to be as useful as Software Immersion Upcoming User Studies at Columbia and USC


Download ppt "CHIME: A Metadata-Based Distributed Software Development Environment Stephen E. Dossick Dept. of Computer Science Columbia University"

Similar presentations


Ads by Google