Palantír: Raising Awareness Among Configuration Management Workspaces

Palantír: Raising Awareness Among Configuration Management Workspaces

Palantír: Raising Awareness among Configuration Management Workspaces Anita Sarma, Zahra Noroozi, and André van der Hoek Department of Information and Computer Science University of California, Irvine Irvine, CA 92697-3425 USA [email protected], [email protected], [email protected] Abstract vents other developers from making concurrent modifica- tions, and in essence serializes the set of changes to the Current configuration management systems promote artifacts. In the optimistic approach, multiple developers workspaces that isolate developers from each other. This can change the same artifacts at the same time (perhaps on isolation is both good and bad. It is good, because devel- branches [37], or alternatively using independent change opers make their changes without any interference from sets [39]). Conflicts may then arise, but semi-automated changes made concurrently by other developers. It is bad, differencing and merging tools help in identifying and because not knowing which artifacts are changing in par- resolving them (albeit only a subset [26]). allel regularly leads to problems when changes are pro- Both approaches rely on workspaces to partition the moted from workspaces into a central configuration man- work of developers. While these workspaces are essential agement repository. Overcoming the bad isolation, while to shield developers from the effects of other changes in retaining the good isolation, is a matter of raising aware- other workspaces (good isolation), they have the unfortu- ness among developers, an issue traditionally ignored by nate side effect of creating a barrier that prevents devel- the discipline of configuration management. To fill this opers from knowing which other developers change which void, we have developed Palantír, a novel workspace other artifacts in parallel (bad isolation). In a typical con- awareness tool that complements existing configuration figuration management system, a developer becomes management systems by providing developers with insight aware of other’ activities only at three specific points in into other workspaces. In particular, the tool informs a time: when they obtain artifacts from the repository and developer of which other developers change which other place them in their workspace; when they put modified artifacts, calculates a simple measure of severity of those artifacts back from their workspace into the repository; changes, and graphically displays the information in a and when they explicitly query the repository. Even then, configurable and generally non-obtrusive manner. To in the pessimistic approach they only know what artifacts illustrate the use of Palantír, we demonstrate how it inte- other developers have locked for future changes and in the grates with two representative configuration management optimistic approach they only become aware of what systems. changes already have occurred. From a coordination point of view, this is an undesirable and limited situation. To alleviate this situation, we have built Palantír, a 1. Introduction novel configuration management workspace awareness tool that deliberately breaks bad isolation while retaining One of the core functions of any configuration man- good isolation. A crucial aspect of Palantír is that it in- agement system is to coordinate access to a common set verts information flow from pull to push. Instead of in- of artifacts by multiple developers who are all working on forming developers of other efforts only when they them- the same project. While ideally project management as- selves perform some configuration management operation signs the developers tasks that are mutually exclusive, the (e.g., check in or check out), Palantír increases awareness reality is that changes made by one developer regularly by continuously sharing information regarding operations affect another’s work [21,22,31]. performed by all developers. Specifically, Palantír informs The various approaches that different configuration a developer of which other developers change which other management systems take to address this situation can be artifacts, calculates a simple measure of severity of those distinguished into two classes: pessimistic and optimistic. changes, and graphically displays the information in a In the pessimistic approach, a developer must lock arti- configurable and generally non-obtrusive manner. facts before making any modifications. Such a lock pre- Palantír architecturally separates specific workspace wrapper components from a generic visualization compo- nent. Each workspace wrapper supports one particular [3] and TUKAN [32]). The basic underlying theory is that configuration management system and intentionally has no providing users with appropriate contextual information further functionality than to emit events regarding the op- allows them to make much more sophisticated decisions in erations performed by different developers. The generic coordinating their individual and group activities than any visualization component continuously collects and inter- automated approach ever could. A few studies on the use prets the events, presenting a developer with an up-to-date of awareness in particular domains confirm this hypothe- picture of the workspace activities of others. Connecting sis and discuss the benefits of awareness as a coordination the components is the Siena event notification service [7], mechanism [12,14,15,18,19,27]. whose distributed event filtering mechanism is leveraged At the heart of any configuration management system to only deliver the necessary subset of events to each de- is the need to coordinate the changes made by different veloper’s visualization. developers in different workspaces. It is therefore surpris- Constructing a system as Palantír raises many ques- ing that the use of awareness has not received much atten- tions regarding, among others, which information should tion, especially considering the apparent success in other be shared, how to avoid overloading developers with in- domains. In fact, the focus has largely been on eliminating formation, scalability, and general effectiveness of the the need for awareness altogether. The philosophy is that approach in helping developers coordinate their tasks. The workspaces are sacred places in which a developer must aim of this paper is not to provide an absolute answer to be able to make their changes in complete isolation. Not all of the questions, but rather to serve as an initial inves- only should the artifacts be shielded from potentially in- tigation into the feasibility of increasing workspace terfering changes made concurrently by other developers, awareness in configuration management systems. As such, developers themselves should not have to know who else the basic research question we seek to answer is whether makes changes, how active they are, which artifacts they Palantír can enhance existing configuration management modify, and so on [6,10,11]. systems with workspace awareness. Current configuration management systems provide ex- The remainder of this paper is organized as follows. In tensive and automated support for maintaining this kind of Section 2, we discuss background information regarding total workspace isolation [10]. Unfortunately, current awareness in configuration management systems. Next, mechanisms are highly inadequate from a coordination we discuss the overall approach and high-level architec- point of view (see Table 1). In a pessimistic configuration ture of Palantír in Section 3. Section 4 discusses the cur- management system, locking is used to coordinate activi- rent implementation of Palantír. We demonstrate how ties and only one developer may change an artifact at a Palantír can be integrated with two existing configuration time. Conflicts in which two or more developers change management systems, namely RCS [35] and CVS [4], in the same artifact (direct conflicts) are avoided, but at the Section 5. While old, these two systems represent the core expense of project delays if one developer must access an of virtually every configuration management system, and artifact currently locked by another developer. Further- cover both a pessimistic (RCS) and an optimistic (CVS) more, conflicts in which changes by one developer to one approach. We discuss related work in Section 6, and con- artifact negatively affect changes by another developer to clude in Section 7 with an outlook at future work. another artifact (indirect conflicts) cannot be avoided. Optimistic configuration management systems support 2. Background parallel work with either branches [37] or change sets [39], and in essence coordinate parallel activities via the Awareness is characterized as “an understanding of the use of merge tools that combine changes to an artifact by activities of others, which provides a context for your own one developer with changes to the same artifact by another activity” [15]. The kind of information needed to create developer. Most merge tools can automatically resolve awareness depends on the particular activity in which a most direct conflicts, but unfortunately cannot handle group of people is participating, but generally includes overlapping changes, leading to a regular need for manual such information as who is part of the group, what tasks problem resolution. Indirect conflicts are not addressed. they perform, how active they are, what changes they Ideally, the above drawbacks of the pessimistic or op- make, and which objects they manipulate [23]. timistic approach never

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us