Papers by RAJIV CHOUDHARY
Structural analysis of electrodischarge machined surfaces of EN31 tool steel
Tribology - Materials, Surfaces & Interfaces, 2009
... machined surfaces of EN31 tool steel OP Pandey* 1 , CP Khatter 2 , R. Choudhary 3 and RK Garg... more ... machined surfaces of EN31 tool steel OP Pandey* 1 , CP Khatter 2 , R. Choudhary 3 and RK Garg 4 ... 8. HS Payal and BL Sethi: 'Non-conventional machining processes as viable alternatives for production with specific reference to electric discharge machining', J. Sci. Ind. ...
Structural analysis of electrodischarge machined surfaces of EN31 tool steel
Tribology - Materials, Surfaces & Interfaces, 2009
... machined surfaces of EN31 tool steel OP Pandey* 1 , CP Khatter 2 , R. Choudhary 3 and RK Garg... more ... machined surfaces of EN31 tool steel OP Pandey* 1 , CP Khatter 2 , R. Choudhary 3 and RK Garg 4 ... 8. HS Payal and BL Sethi: 'Non-conventional machining processes as viable alternatives for production with specific reference to electric discharge machining', J. Sci. Ind. ...

ACM Transactions on Computer-human Interaction, 1995
We have developed a new model for coupling the user-interfaces of a multiuser program. It is base... more We have developed a new model for coupling the user-interfaces of a multiuser program. It is based on an interaction model and a user-interface framework that allow users and programmers, respectively, to view applications as editors of data. It consists of a semantics model, a specification model, and an implementation model for coupling. The semantics model determines which properties of interaction entities created for a user are shared with corresponding interaction entities created for other users and when changes made by a user to a property of an interaction entity are communicated to other users sharing it. It divides the properties of an interaction entity into multiple coupling sets and allows users to share different coupling sets independently. It supports several criteria for choosing when a change made by a user to a shared property is communicated to other users including how structurally complete the change is, how correct it is, and the time at which it was made. The specification model determines how users specify the desired semantics of coupling. It associates interaction entities with inheritable coupling attributes, allows multiple users to specify values of these attributes, and does a runtime matching of the coupling attributes specified by different users to derive the coupling among their user-interfaces. The implementation model determines how multiuser programs implement user-customizable coupling. It divides the task of implementing the coupling between system-provided modules and application programs. The former automatically support a predefined semantic and specification model which can be extended by the latter. We have implemented the coupling model as part of a system called Suite. This paper describes and motivates the model using the concrete example of Suite, discusses how aspects of it can be implemented in other systems, compares it with related work, discusses its shortcomings, and suggests directions for future work.

ACM Transactions on Information Systems, 1992
We have developed a high-level and flexible framework for supporting the construction of multi-us... more We have developed a high-level and flexible framework for supporting the construction of multi-user user-interfaces. The framework is based on a generalized editing interaction model, which allows users to view programs as active data that can be concurrently edited by multiple users. It consists of several novel components including a refinement of both the Seeheim UIMS architecture and the distributed graphics architecture that explicitly addresses multi-user interaction; the abstractions of shared active variables and interaction variables, which allow users and applications to exchange information; a set of default collaboration rules designed to keep the collaboration-awareness low in multiuser programs; and a small but powerful set of primitives for overriding these rules. The framework allows users to be dynamically added and removed from a multi-user session, different users to use different user interfaces to interact with an application, the modules interacting with a particular user to execute on the local workstation, and programmers to incrementally trade automation for flexibility. We have implemented the framework as part of a system called Suite. This paper motivates, describes, and illustrates the framework using the concrete example of Suite, discusses how it can be implemented in other kinds of systems, compares it with related work, discusses its shortcomings, and suggests directions for future work. different members of a project team to display and modify the status of a project; a program demonstrator allowing one or more users to demonstrate a program to a group of users; a browser allowing a teacher to browse through a text-book with a group of students; and a design tool allowing several designers to compose a design document.
Flexible user interface coupling in collaborative systems
... For instance, a multi-user debugger may wish to display the same image of a shared workspace ... more ... For instance, a multi-user debugger may wish to display the same image of a shared workspace on all workstations, thereby allowing each user to see the cause-effect relationships, while a multi-user pro-gram editor may wish to allow different users to see different views of the ...
Primitives for programming multi-user interfaces
Page 1. Primitives for Programming Multi-User Interfaces Prasun Dewan and RajivChoudhary Departme... more Page 1. Primitives for Programming Multi-User Interfaces Prasun Dewan and RajivChoudhary Department of Computer Sciences Purdue University W. Lafayette, IN 47907 pd@cs.purdue.edu or rxc@cs.purdue.edu Abstract ...

The design space of collaborative applications is characterized using the notion of generalized m... more The design space of collaborative applications is characterized using the notion of generalized multiuser editing. Generalized multiuser editing allows users to view interactive applications as editors of data structures. It offers several collaboration functions, which allow users to collaboratively edit application data structures. These functions include coupling, concurrency control, access control, and multiuser undo. Coupling allows the users to share editing changes, access control and concurrency control prevent them from making unauthorized and inconsistent changes, respectively, and multiuser undo allows them collaboratively to undo or redo changes. These functions must be performed flexibly to accommodate different applications, users, phases of collaboration, and bandwidths of the communication links. In this paper, we define and motivate the notion of generalized multiuser editing and describe some of the issues, approaches, tradeoffs, principles, and requirements related to the design of the functions offered by it.
A exible and high-level framework for implementing multi-user user interfaces
ACM Transactions on Information Systems, 1992

ACM Transactions on Information Systems
We have developed a high-level and flexible framework for supporting the construction of multi-us... more We have developed a high-level and flexible framework for supporting the construction of multi-user user-interfaces. The framework is based on a generalized editing interaction model, which allows users to view programs as active data that can be concurrently edited by multiple users. It consists of several novel components including a refinement of both the Seeheim UIMS architecture and the distributed graphics architecture that explicitly addresses multi-user interaction; the abstractions of shared active variables and interaction variables, which allow users and applications to exchange information; a set of default collaboration rules designed to keep the collaboration-awareness low in multiuser programs; and a small but powerful set of primitives for overriding these rules. The framework allows users to be dynamically added and removed from a multi-user session, different users to use different user interfaces to interact with an application, the modules interacting with a particular user to execute on the local workstation, and programmers to incrementally trade automation for flexibility. We have implemented the framework as part of a system called Suite. This paper motivates, describes, and illustrates the framework using the concrete example of Suite, discusses how it can be implemented in other kinds of systems, compares it with related work, discusses its shortcomings, and suggests directions for future work. different members of a project team to display and modify the status of a project; a program demonstrator allowing one or more users to demonstrate a program to a group of users; a browser allowing a teacher to browse through a text-book with a group of students; and a design tool allowing several designers to compose a design document.
The areas of collaborative applications and infrastructures are closely related-novel collaborati... more The areas of collaborative applications and infrastructures are closely related-novel collaborative applications cannot become commonplace unless an effective infrastructure is developed to support their implementation. The recent focus on collaborative applications that support WYSIWIS (What You See Is What I See) collaboration is a direct consequence of the fact that such collaboration is automatically supported by shared window systems. Our project is investigating issues in the design and implementation of novel applications and infrastructure for supporting distributed collaboration.
Experience with the Suite distributed object model
Abstract Suite is an extension of UNIX supporting distributed, per-sistent, multi-user, and prote... more Abstract Suite is an extension of UNIX supporting distributed, per-sistent, multi-user, and protected objects. We have used it to implement several distributed interactive applica-tions and done some preliminary performance measure-ments. Our preliminary experience with Suite ...

A general multi-user undo/redo model must satisfy several requirements It must be compatible with... more A general multi-user undo/redo model must satisfy several requirements It must be compatible with an existing single-user undo/redo model, give individual users autonomy in executing undo/redo commands, support undo/redo of remote commands and the remote effects of local commands, be independent of the coupling, multicast, and concurrency control model, and allow undo/redo of arbitrary commands We have developed a multi-user undo/redo model for meeting these requirements The model constructs the command history of a particular user by including all local commands and those remote commands whose results were made visible to that user It allows a user to undo/redo corresponding commands in the command histories of all users of a program Moreover, it allows a user to undo/redo both symmetric user-interface commands and asymmetric collaboration commands We have implemented the model in a collaboration system called Suite In this paper, we motivate, describe, and illustrate these requirements and our model
Multi-User Undo/Redo
We have developed a multi-user undo/redo model by extending an existing singleuser undo/redo mode... more We have developed a multi-user undo/redo model by extending an existing singleuser undo/redo model. The model, consisting of a semantic model and an implementation model, is applicable to general multi-user programs including programs offering both WYSIWIS ...

We have developed a new model for coupling the user-interfaces of a multiuser program. It is base... more We have developed a new model for coupling the user-interfaces of a multiuser program. It is based on an interaction model and a user-interface framework that allow users and programmers, respectively, to view applications as editors of data. It consists of a semantics model, a specification model, and an implementation model for coupling. The semantics model determines which properties of interaction entities created for a user are shared with corresponding interaction entities created for other users and when changes made by a user to a property of an interaction entity are communicated to other users sharing it. It divides the properties of an interaction entity into multiple coupling sets and allows users to share different coupling sets independently. It supports several criteria for choosing when a change made by a user to a shared property is communicated to other users including how structurally complete the change is, how correct it is, and the time at which it was made. The specification model determines how users specify the desired semantics of coupling. It associates interaction entities with inheritable coupling attributes, allows multiple users to specify values of these attributes, and does a runtime matching of the coupling attributes specified by different users to derive the coupling among their user-interfaces. The implementation model determines how multiuser programs implement user-customizable coupling. It divides the task of implementing the coupling between system-provided modules and application programs. The former automatically support a predefined semantic and specification model which can be extended by the latter. We have implemented the coupling model as part of a system called Suite. This paper describes and motivates the model using the concrete example of Suite, discusses how aspects of it can be implemented in other systems, compares it with related work, discusses its shortcomings, and suggests directions for future work.
Uploads
Papers by RAJIV CHOUDHARY