Article

Software Process Modeling and Execution within Virtual Environments

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

this article we examine the use of virtual environments in support of software process modeling and execution. We begin in the next section by briefly reviewing the domain of software process in terms of its primitive concepts of activities, agents, artifacts, resources, and products. We then describe in Section 3 the central concepts found in MUDs, concentrating on the features present in one very popular MUD called LambdaMOO [Curtis 1997]. There are a variety of possible metaphors that can serve to capture software processes within MUDs. These are explored in Section 4. The implementation of one of the metaphors in a system called Promo is described in Section 5. Section 6 provides several interesting and important lower-level details of the Promo implementation. An example software process drawn from the literature is used in Section 7 to illustrate the modeling features of Promo; further details of the example are provided in Appendix A. We conclude with a summary and a look at future work.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... To date, no common agreement exists for defining or even naming these virtual spaces (Bell, 2008;Downey, 2010;Schroeder, 2008). They are interchangeably called massively multiplayer online games (MMOGs), massively multiplayer online role playing games (MMORPGs), multi-user virtual environments (MUVEs), persistent worlds, synthetic worlds, virtual environments, and virtual worlds (Bartle, 2003;Bell, 2008;Combs, 2004;Damer, 2006;Doppke, Heimberger, & Wolf, 1998;Spence, 2008). In some cases, these labels reflect meaningful, albeit subtle, differences in the various types of environments. ...
... First and foremost, MUD1 demonstrated that users could share space, interact, and work toward a common goal, just as they had enthusiastically done in tabletop versions of games like Dungeons & Dragons. Numerous virtual worlds can trace their lineage back to MUD1 (Doppke, Heimberger, & Wolf, 1998;Keegan, 2003;Mud Genealogy Project, 2005). Examples of this can be seen in second generation worlds (described below), where MUD1 inspired TinyMUD, which lead to TinyMUCK, which lead to MOO, which lead to LambdaMOO, and so forth. ...
... TinyMUD also spurred a series of innovations that Second Life users would find commonplace. For example, TinyMUD allowed users to create objects from within the virtual world (Doppke, Heimberger, & Wolf, 1998). ...
Article
Full-text available
Virtual worlds represent a small but dynamic sector of the computer technology field with global applications ranging from art and entertainment to online instructional delivery and educational research. Despite their worldwide acceptance and usage, few educators, researchers, or everyday gamers fully understand the history and evolution of virtual worlds – their genres, platforms, features, and affordances. Many of the innovations we readily recognize today (e.g., user creation of in-world objects in worlds like Second Life) began as grassroots efforts by gaming and computer enthusiasts who were long on passion but short on documentation. The end result is a twisted and often thorny history for a technology that now actively engages hundreds of millions of users worldwide and millions of users within education alone. This article synthesizes histories and definitions from virtual world developers, industry leaders, academic researchers, trade journals, and texts in order to form a coherent historical narrative of events that contributed to the evolution and shaping of the virtual worlds as we currently know and use them in education and society in general.
... Effectively, when an activity is undertaken, the workspace is mapped into a virtual room, transitions into buttons, and artifacts, communication tools (i.e. for synchronous and asynchronous forms of communications) and task description into objects which can be manipulated by software engineers to complete the particular task at hand. This mapping is based on Doppke's task-centered mapping described in [4]. As part of its enactment model, VRPML relies on its resource exception handling mechanism. ...
... Instead of using a straightforward mapping of workspaces, that is, a workspace, artifacts, tools and task descriptions map one-to-one to a virtual room and objects, other meaningful visualisations could also be explored by defining or using other types of mapping. For example, artifact-centred mapping as defined by [4] could be used where artifacts are represented as virtual rooms and their dependency relationships are expressed as part of the arrangement of the rooms. If sub-products of the artifacts are defined, then they are represented as separate rooms connected to the parent product room either by exits or by containment, whilst tools and task description can be defined as objects inside the room. ...
... depicts the possible translation of the workspace and representation in a virtual environment for an activity called Modify Design. Utilising Doppke's task-centered mapping[4], the activity's workspace maps into a virtual room with artifacts and tools corresponding to objects in that virtual room. Artifacts are represented as cylinders, and their access rights are distinguished by colours. ...
Article
Full-text available
Software processes relate to the sequences of steps that must be performed by software engineers in order to pursue the goals of software engineering. In order to have an accurate representation and implementation of what the actual steps are, software processes may be modelled and enacted by a Process Modelling Language (PML) and its process support system (called the Process Centered Environments i.e. PSEE). This paper discusses the design of the process support environment for a new process modelling language, called the Virtual Reality Process Modelling Language (VRPML). It identifies the main components of the VRPML process support environments as well as summarises the current implementation prototypes. It highlights lessons learned and offers insights into the design of next-generation PMLs and PSEEs.
... In recent years, more research has focussed on the use of such environments in the support of work activities [2,5,6,7]. However, whilst illustrating the affordances of MUDs and MOOs for certain activities within particular communities, few papers detail the long-term use of textbased MUDs in supporting communication and coordination activities within work environments. ...
... And I went, "Oh wow, all right, well, is there anything we can do?" "I'm not sure, I don't think so." So as soon as I got off the phone, I bring up my Jay's window, my Jay's House 5 This anecdote illustrates the extent to which the MUD has increasingly become part of the working practices of this group, and its central role in maintaining a perception of copresence. A second point from this anecdote which was not apparent in our earlier investigations was that WFG sits in a matrix of MUDs, and being a MUD user gives one expertise to access to a number of social environments. ...
... One surprising thing is that the MUD use has not changed substantially, but has changed in subtle ways over time. The number of MUDders has increased, the number of "nonexpert" MUDders has increased, and the use of the MUD has become a much more personal or group-specific 5 Jay's House is a social MOO. ...
Conference Paper
Full-text available
The development of tools to support synchronous communications between non-collocated colleagues has received considerable attention in recent years. Much of the work has focused on increasing a sense of co-presence between interlocutors by supporting aspects of face-to-face conversations that go beyond mere words (e.g. gaze, postural shifts). In this regard, a design goal for many environments is the provision of as much media-richness as possible to support non-collocated communication. In this paper we present results from our most recent interviews studying the use of a text-based virtual environment to support work collaborations. We describe how such an environment, though lacking almost all the visual and auditory cues known to be important in face-to-face conversation, has played an important role in day-to-day communication. We offer a set of characteristics we feel are important to the success of this text-only tool and discuss issues emerging from its long-term use.
... Such techniques can be divided into two groups: PSEE (Process-centered Software Engineering Environment) related techniques [1][2][3][4][5][6] which include process modeling, analysis and execution techniques, and those techniques related to an organizational maturity improvement to which process assessment and improvement techniques belong. In this paper, we concentrate on the techniques of the former group since the latter is mostly concerned with management strategies. ...
... Since this area is very rapidly evolving, the underlying modeling paradigms are widely diverse. The most representative ones include the Petrinet-based paradigm [2,4], the rule-based [16], procedural programming [17], object-oriented [5,18,19] and system dynamics paradigms [1]. Each paradigm provides different advantages in representing software process. ...
Article
Various formal approaches to process modeling and analysis have been proposed. With the emerging importance of practicality in this field, easiness in adopting formal technology should be taken into account. In this paper, we propose a PSEE called SoftPM that is based on a high level Petri net formalism for process modeling. To overcome the difficulty in using this formalism, SoftPM exploits a multi-level modeling mechanism for the representation of software processes. SoftPM supports three different levels for process representation. They are cognitive, MAM net, and Pr/T net. Each level has different roles in SoftPM. The cognitive-level modeling provides the means of getting free from difficulties in manipulating the modeling formalism. MAM net takes the role of core modeling formalism in SoftPM. Finally, Pr/T nets support the low-level modeling formalism as an existing Petri-net class. Moreover, SoftPM offers various analysis techniques to aid managerial decision making, as well as conventional Petri-net analysis techniques. Using a Java-based thin client/server architecture, SoftPM smoothly supports execution at distributed heterogeneous platforms over the Internet.
... The paradigm is based on interconnected rooms, each containing objects that can be carried around and acted upon. Doppke et al [44] discuss possible different mappings between process concepts and those employed in MUDs. Each 'room' can be made to correspond to a task, or to a person's workspace, or to an artifact or finally to some resource, such as a testing laboratory. ...
... Other systems support synchronous communication as a consequence of the paradigm chosen, typically based on some kind of virtual space or environment, as the one employed in MUDs [44] and locales [58]. Space based paradigms can support synchronous communication in a natural way, by making visible the 'presence' of other users that are 'visiting' a room at the same time (see Section 6.1). ...
Article
Process-centered software development environments are systems that provide automated support for software development activities.Such environments mediate the efforts of potentially large groups of developers working on a common project. This mediation is based on runtime support for actual work performance based on formal representations of work.In the present work, we survey and assess the contributions of the software process literature under the perspective of support for collaboration and coordination. A broad range of alternative approaches to various aspects of representation and runtime support are identified, based on the analysis of an expressive number of systems. The identified functionality can serve both as a guide for the evaluation and selection of systems of this kind as well as a roadmap for the development of new, improved systems.
... In a Groupview, a set of virtual environment rooms containing project artifacts is generated from the organization of the artifacts in the Groupspace. Rather than placing artifacts into these rooms arbitrarily or according to some external mapping mechanism (as in Promo[26] , where the mapping from artifacts to rooms is created from a software process definition and cannot be modified by users without corresponding modification to the process), a Groupview generates the rooms and connections between the rooms from the artifacts themselves. For example, a software module might become a room in the Groupview, and the source files making up the module might be furnishings inside the room. ...
... This does not fit our Groupspace model for storage of the artifacts. Promo[26] builds a virtual environment interface from a software process definition. Rooms in the environment are mapped to subcomponents of the process. ...
Conference Paper
We introduce CHIME, the Columbia Hypermedia IMmersion Environment, a metadata-based information environment, and describe its potential applications for internet and intranet-based distributed software development. CHIME derives many of its concepts from Multi-User Domains (MUDs), placing users in a semi-automatically generated D virtual world representing the software system. Users interact with project artifacts by “walking around” the virtual world, where they potentially encounter and collaborate with other users' avatars. CHIME aims to support large software development projects, in which team members are often geographically and temporally dispersed, through novel use of virtual environment technology. We describe the mechanisms through which CHIME worlds are populated with project artifacts, as well as our initial experiments with CHIME and our future goals for the system.
... Effectively, when an activity is undertaken, the workspace is mapped into a virtual room, transitions into buttons, and artifacts, communication tools and task description into objects which can be manipulated by software engineers to complete the particular task at hand. This mapping is based on Doppke's taskcentered mapping described in [4]. ...
... While the workspaces and the access rights of artifacts are distinguished in the prototype (described in [16]), artifacts and tools in a workspace simply map one-to-one to objects in a virtual environment. Therefore, in order to fully exploit the potential of the integration with a virtual environment, other types of mapping could be explored (e.g. as discussed in [4]) to permit a software engineer to dynamically " switch " between different mappings in order to enhance the visualization support. ...
Conference Paper
Full-text available
This paper evaluates a new visual process modeling language (PML), called the Virtual Reality Process Modeling Language (VRPML). This evaluation utilizes the well-known ISPW-6 benchmark problem as well as the waterfall development model as case studies, and offers comparison with other PMLs where possible. In addition to providing insights into the strengths and limitations of VRPML, this evaluation highlights important lessons learned and offers valuable guidance for the design of next-generation PMLs.
... Effectively, when an activity is undertaken, the workspace is mapped into a virtual room, transitions into buttons, and artifacts, communication tools and task description into objects which can be manipulated by software engineers to complete the particular task at hand. This mapping is based on Doppke's task-centered mapping described in (Doppke et al, 1998 Figure 4. Sample Workspace for Activity Node Review Meeting from Figure 1 As part of its enactment model, VRPML relies on its resource exception handling mechanism. In VRPML, resources include roles assignment, artifacts and tools (including communication tools) in a workspace as well as the depths of multi-instance activity nodes and meeting activity nodes. ...
Article
Full-text available
This paper discusses the three possible computational models for a flow-based visual process modeling language (PML): the data-flow model; the control-flow model; and the combined model. In doing so, the suitable computational model is chosen, evaluated, and applied into the design of a new visual PML, called Virtual Reality Process Modeling Language (VRPML), taking into accounts the need to support the modeling and enacting of software processes.
... Effectively, when an activity is undertaken, the workspace is mapped into a virtual room, transitions into buttons, and artifacts, communication tools (i.e. for synchronous and asynchronous forms of communications) and task description into objects which can be manipulated by software engineers to complete the particular task at hand. This mapping is based on Doppke's task-centered mapping described in [3]. As part of its enactment model, VRPML relies on its resource exception handling mechanism. ...
Article
Full-text available
This paper evaluates the applicability of a new visual process modelling language (PML), called the Virtual Reality Process Modelling Language (VRPML), for supporting the modelling and enacting of software processes in a distributed environment. VRPML serves as a research vehicle to address our main research hypothesis which suggests that a visual PML which exploits a virtual environment is useful for supporting software processes for distributed software engineering teams.
... Effectively, when an activity is undertaken, the workspace is mapped into a virtual room, transitions into buttons, and artifacts, communication tools and task description into objects which can be manipulated by software engineers to complete the particular task at hand. This mapping is based on Doppke's task-centered mapping described in [3]. As part of its enactment model, VRPML relies on its resource exception handling mechanism. ...
Article
Full-text available
Summary Graph based visual languages are typically based on nodes, directed arcs and sub-graphs. Nodes represent function or actions, arcs carry data or control-flow signals, and sub- graphs provide abstraction and modularization. Operations in graphs follow a firing rule which defines the conditions under which execution of node occurs. In the control flow based model, the firing rule is based solely on the availability of the control-flow signals on the node's input arcs. In the data flow based model, the firing rule is based on the availability of the required data on the node's input arcs. This paper discusses our partial evaluation of a domain specific graph based visual language, called VRPML utilizing the well-known ISPW-6 benchmark problem as a case study. The focus of the evaluation is on the firing rule. Due to its control flow based firing rule, we observe that VRPML suffers from race condition problem, that is, two or more control-flow signals can inadvertently and erroneously compete to enable a particular activity node. This paper outlines our proposal to address the problem and enhance the language syntax and semantics.
... Finally, Doppke et al. [12] describe the use of MUDs (Multi-User Dimensions), and the prototype system PROMO, to support the modeling of processes and associated communication. MUDs provide a (generally text based) environment for users to manipulate objects and interact with other users. ...
Article
The ad-hoc nature of work practice is a challenge for developers of systems that attempt to model and support the enaction of work processes. Development in workflow modeling systems has taken a number of approaches to addressing the issue of exceptions, or deviations from the "ideal" process. We suggest that one significant element, that of informal communication between process participants, has been largely overlooked by these efforts. Not only is social interaction a key component of work practice, it serves a particularly important role in addressing unusual situations, solving problems, and coordinating the implementation of those solutions. This paper explores the design space of integrating tools for conversation with workflow systems.1
... MUDs have been proposed as enabling technologies for some kinds of groupware applications [Das97,DHW98]. A MUD usually represents the communication infrastructure of a role-playing game (hence the name) where human and robot players interact, visit dark and magical places, fight monsters or other players, and seek treasures. ...
... We w ere inspired by MUD (Multi User Dungeon), a cooperative e n vironment in which m a n y people socialize and interact. MUDs can be used as enabling technologies for several groupware applications (Das et al., 1997, Rowley, 1997, Tarau et al., 1997, Doppke et al., 1998). A MUD platform usually ooers the infrastructure of a role-playing game (hence the name) where human and robot players interact, visit dark and magical places, ght monsters or other players, and seek treasures. ...
Article
Full-text available
The Word Wide Web was born as an Internet service sup-porting a simple distributed hypertext management system. Since its start a number of technologies have been proposed to enhance its capa-bilities. In this paper we describe our concept of an active Web, n a m e l y how w e design the software architecture of interactive c o o p e r a t i v e appli-cations based on the Word Wide Web. An active W eb includes agents able to use the services ooered by W ord Wide Web clients and servers. In an active W eb both users and agents can interoperate using a set of basic mechanisms for communication and synchronization. The active W eb we describe here is based on coordination technology: we explore two alter-native implementations, both based on Java enriched with alternative coordination kernels.
... Recent reports suggest that many US and European organizations are presently looking towards technologies based on chat to support distance collaboration in organizations (McGrath, 1999; Wojcik et al., 1999). Yet most research in this area focuses on user modifiable virtual worlds (Doppke, 1998), virtual communities (e.g., McGrath, 1999; Wojcik et al., 1999) or virtual, 3D environments (Greenhalgh & Benford, 1995). By closely examining the uses of chat in the workplace, this study may assist others in understanding the technical and social possibilities that chat offers for collaboration. ...
Chapter
Full-text available
One way to gain a principled understanding of computer-mediated communication (CMC) use in the wild is to consider the properties of the communication medium, the usage practices, and the social context in which practices are situated. We describe the adoption and use of a novel, chat-like system called BABBLE. Drawing on interviews and conversation logs from a 6-month field study of six different groups at IBM Corporation (USA), we examine the ways in which the technical properties of the system enable particular types of communicative practices such as waylaying and unobtrusive broadcast. We then consider how these practices influence (positively or negatively) the adoption trajectories of the six deployments.
... Promo [7] maps tasks of software development to rooms. The rooms contain the artefacts that have to be manipulated in the rooms task. ...
Conference Paper
Two problems often occur when implementing large software projects in a group: the problem of orientation and the problem of finding competent partners for tight cooperation. The paper presents a spatial representation of the shared source code under development called software space. It shows how awareness about another person's activities can be provided, which helps to find appropriate partners. Software space dynamically adapts to the user's preferences and thus improves during usage. The paper illustrates how the adapted representation can assist users in finding their way in software space.
... There are some systems, which bring the artefacts and the process together in a virtual environment. Promo (Doppke et al., 1998 ) maps tasks of software development to rooms of a MOO (Curtis, 1997). The rooms contain the artefacts that have to be manipulated in the rooms task. ...
Conference Paper
Full-text available
Work processes in team based software development need to be structured to minimise and resolve conflicting or divergent work. Current software development meth­ odologies propose ways for dividing the whole task of software development between team members. This paper suggests a different way of working by introducing modes of collaboration (MoCs), which support concurrent and collaborative work. A MoC defines how tight two people can work together and how much the rest of the group can demand to know about a programmer. Different MoCs are ordered in a spectrum from single user's offline usage up to concurrent editing of the same source code. Special emphasis is put on balancing gains and efforts that are related to a specific MoC. The second part of the paper presents how MoCs are implemented in the distributed co-operative soft­ ware development environment TUKAN. TUKAN includes synchronous co-operative tools and awareness widgets, which operate on a spatial representation of the software under construction. TUKAN provides tools for each MoC and allows programmers to switch between MoCs.
... In order to understand process diversity, we need to situate software processes in the context of larger business processes. A process is represented by a process model and executed within a process environment [1]. The process environment links together the people executing the process (e.g. ...
Article
SUMMARY Software processes vary across organizations and over time. Managing this process diversity is a delicate balancing act between creative, healthy diversity and chaos. In this paper, we examine a particular aspect of this issue, namely some relationships between diversity in software processes, software evolution and the qualityofsoftware productsandprocesses.Our maincontributionisto distinguishbetweentwo broadkinds of process diversity, which we call latitudinal and longitudinal process diversity. To illustrate the differences between these two, we examine the case of a medium-sized system (50000 lines of C++ code) which has undergone major changes during its lifetime of 10 years. The software was originally developed by an individualacademic using a research-oriented process to develop a standalone proof-of-concept system. In a current multi-team project, involving three industrial and three academic partners, the software has been adapted for integration as a subsystem of a near-market product. We suggest ways in which the observed process diversity seems to be linked to a change in the software's propensity for evolution, and we discuss the impact of this on both product and process quality. Copyright c � 2003 John Wiley & Sons, Ltd.
... Doppke utilizes the virtual environment to denote the execution of software process, where the process is mapped into the metaphor in the virtual environment. The execution of these entities in the virtual environment can be employed to monitor software process (Doppke et al. 1998). The challenge in using these tools is that additional effort is required to map real-world processes into elements in the virtual environment. ...
Article
Full-text available
Statistical process control (SPC) is a conventional means of monitoring software processes and detecting related problems, where the causes of detected problems can be identified using causal analysis. Determining the actual causes of reported problems requires significant effort due to the large number of possible causes. This study presents an approach to detect problems and identify the causes of problems using multivariate SPC. This proposed method can be applied to monitor multiple measures of software process simultaneously. The measures which are detected as the major impacts to the out-of-control signals can be used to identify the causes where the partial least squares (PLS) and statistical hypothesis testing are utilized to validate the identified causes of problems in this study. The main advantage of the proposed approach is that the correlated indices can be monitored simultaneously to facilitate the causal analysis of a software process.
... A collaborative virtual environment (CVE) is a special case of a VR system wherein the emphasis is more on collaboration among users rather than on simulation. CVEs are used for applications such as collaborative design (Daily et al., 2000; Hindmarsh, Fraser, Heath, Benford, & Greenhalgh, 2000; Wang, Wong, Shen, & Lang, 2002), training (Oliveira, Shen, & Georganas, 2000; Oliveira, Hosseini, et al., 2000; Kirner et al., 2001), software engineering (Fernando, Murray, Tan, & Wilmalartne, 1999; Doppke, Heimbigner, & Wolf, 1998 ), and telepresence, and many more applications are showing up daily. Many of the applications may potentially have a very large number of users at a time, and that can easily overload a fast network as well as impose huge processing requirements at the stations. ...
Article
Collaborative Virtual Environment concepts have been used in many systems in the past few years. The architectures available today provide support for a number of users but they fail if too many users are together in a small "space" in the Virtual World. This paper introduces VELVET, an Adaptive Hybrid Architecture which allows a greater number of users to interact through a CVE. VELVET introduces a novel adaptive area of interest management, which supports heterogeneity amongst the various participants.
... The VRPML exploits virtual environment at PML enactment level, which allows work context for a particular activity to be defined and later be opened as a workspace in a virtual environment [5]. The said activity will later be enabled using the task-centred mapping whereby each activity in a software process corresponds to a room in a virtual environment [6]. Figure 1 shows an example workspace in VRPML system. ...
Article
Full-text available
The modelling concept is well accepted in software engineering discipline. Some software models are built either to control the development stages, to measure program quality or to serve as a medium that gives better understanding of the actual software systems. Software process modelling nowadays has reached a level that allow software designs to be transformed into programming languages, such as architecture design language and unified modelling language. This paper described the adaptation of attribute grammar approach in measuring software process model. A tool, called Software Process Measurement Application was developed to enable the measurement accordingly to specified attribute grammar rules. A context-free grammar to read the process model is depicted from IDEF3 standard, and rules were attached to enable the measurement metrics calculation. The measurement metric values collected were used to aid in determining the decomposing and structuring of processes for the proposed software systems.
... A Collaborative Virtual Environment (CVE) is a special case of a VR system where the emphasis is more on collaboration between users rather than on simulation. CVEs are used for applications such as collaborative design [31,35,36], training [22,23,33], software engineering [32,34], tele-presence and tele-robotics, and many more applications are showing up daily. ...
Article
Collaborative virtual environment (CVE) concepts have been used in many systems in the past few years. Applications of such technology range from military combat simulations to various civilian commercial applications. To make a CVE more interesting to users, it's possible to embed or "stitch" together copies of areas that users might have interest in from one virtual world into another one. This procedure augments both the physical size of a virtual world as well as the potential of having a larger number of users within the world--since the added attractions will work as an incentive for more users to join the world. On the other hand this procedure brings up a series of problems related to consistency, which is the focus of this article. The article introduces a methodology that ensures all copies of a given area of a world are kept consistent with each other, as well as with the original world. The article also discusses application of this methodology to several CVE architectures. Finally, it introduces two other approaches to be used when a less strict consistency model is sufficient.
... A collaborative virtual environment (CVE) is a special case of a VR system wherein the emphasis is more on collaboration among users rather than on simulation. CVEs are used for applications such as collaborative design (Daily et al., 2000;Hindmarsh, Fraser, Heath, Benford, & Greenhalgh, 2000;Wang, Wong, Shen, & Lang, 2002), training (Oliveira, Shen, & Georganas, 2000;Oliveira, Hosseini, et al., 2000;Kirner et al., 2001), software engineering (Fernando, Murray, Tan, & Wilmalartne, 1999;Doppke, Heimbigner, & Wolf, 1998), and telepresence, and many more applications are showing up daily. ...
Conference Paper
Collaborative virtual environment (CVE) concepts have been used in many systems. The architectures available today provide support for a number of users but they fail if too many users are together in a small "space" in the virtual world. This paper introduces VELVET, an adaptive hybrid architecture which allows a greater number of users to interact through a CVE. VELVET introduces a novel adaptive area of interest management, which supports heterogeneity amongst the various participants.
Article
A high-level model for process program development in the concurrent software process language (CSPL) environment is presented. The unified modeling language (UML) based model composed of a P-class diagram and a P-activity diagram is used in analyzing and designing processes. To facilitate software process control, process-centered software engineering (PSSE) is developed to represent process programs which can be executed in PSEE. Process components to be modeled include: activities, activity sequence and synchronization, exception and their handlers, software products and developers.
Research
Full-text available
The new tendencies at world level in use of Technologies of the Information and Communication (TIC's) applied in educational contexts, the TIC's outline the development of Educational Video Games, the use of Technologies of Agents, the Adaptation to the process of the user's individual learning and the use of technical of collaborative work in the learning environment. These techniques and strategies allow the development of the competitions required for the XXI century, due to their potential to apply modern learning theories. This article proposes the formulation of a new methodology that gives cohesion to these proposals and this methodology facilitate the development of adaptive collaborative educational games using Software Agents (JuEGAS).
Chapter
In this chapter, an overview of the research progress both in software processes and software evolution are presented from the viewpoints of methodologies, technologies, tools and management. Firstly, the basic concepts related to software processes are discussed. In addition, an overview of the research progress in the areas of software process modelling and descriptions, software process modelling languages and description languages, software process improvement, CMM, software process reuse and process-centred software engineering environments is presented. Furthermore, the basic concepts related to software evolution are discussed. Finally, the work in the areas of software evolution and software reengineering is also discussed. The research outlined in this chapter shows that both software evolution and software process have become the hot spots in software engineering. The combination of software evolution and software process will promote smooth and effective software evolution.
Article
Process programs may change during enactment. The change of an enacting process program should be controlled. This paper describes process program change control in the CSPL (Concurrent Software Process Language) environment, which consists of techniques to (1) define change plans, (2) analyze and handle change impacts, and (3) resume process programs, Moreover, we provide an editor to guide process program change, with which the consistency between a change plan and the actual change can be enforced. We have used the environment in an experimental setting, and that experience shows that change control provided by the environment depends significantly upon process programs. If the dependencies among process components are well-specified in a process program, the change control mechanism will detect all the affected components when the process program is changed. Copyright (C) 2000 John Wiley & Sons, Ltd.
Article
We introduce CHIME, the Columbia Hypermedia IMmersion Environment, a metadata-based information environment, and describe its potential applications for internet and intranet-based distributed software development. CHIME derives many of its concepts from Multi-User Domains (MUDs), placing users in a semi-automatically generated 3D virtual world representing the software system. Users interact with project artifacts by “walking around” the virtual world, where they potentially encounter and collaborate with other users' avatars. CHIME aims to support large software development projects, in which team members are often geographically and temporally dispersed, through novel use of virtual environment technology. We describe the mechanisms through which CHIME worlds are populated with project artifacts, as well as our initial experiments with CHIME and our future goals for the system.
Article
Nowadays it has been widely accepted that the quality of software highly depends on the process that is carried out in an organization. As part of the effort to support software process engineering activities, the research on software process modeling and analysis is to provide an effective means to represent and analyze a process and, by doing so, to enhance the understanding of the modeled process. In addition, an enactable process model can provide a direct guidance for the actual development process. Thus, the enforcement of the process model can directly contribute to the improvement of the software quality. In this paper, a systematic review is carried out to survey the recent development in software process modeling. 72 papers from 20 conference proceedings and 7 journals are identified as the evidence. The review aims to promote a better understanding of the literature by answering the following three questions: 1) What kinds of paradigms are existing methods based on? 2) What kinds of purposes does the existing research have? 3) What kinds of new trends are reflected in the current research? After providing the systematic review, we present our software process modeling method based on a multi-dimensional and integration methodology that is intended to address several core issues facing the community. © by Institute of Software, the Chinese Academy of Sciences. All rights reserved.
Book
Full-text available
Collaboration among individuals -from users to developers -is central to modern software engineering. It takes many forms: joint activity to solve common problems, negotiation to resolve conflicts, creation of shared definitions, and both social and technical perspectives impacting all software development activity. The difficulties of collaboration are also well documented. The grand challenge is not only to ensure that developers in a team deliver effectively as individuals, but that the whole team delivers more than just the sum of its parts. The editors of this book have assembled an impressive selection of authors, who have contributed to an authoritative body of work tackling a wide range of issues in the field of collaborative software engineering. The resulting volume is divided into four parts, preceded by a general editorial chapter providing a more detailed review of the domain of collaborative software engineering. Part 1 is on "Characterizing Collaborative Software Engineering", Part 2 examines various "Tools and Techniques", Part 3 addresses organizational issues, and finally Part 4 contains four examples of "Emerging Issues in Collaborative Software Engineering". As a result, this book delivers a comprehensive state-of-the-art overview and empirical results for researchers in academia and industry in areas like software process management, empirical software engineering, and global software development. Practitioners working in this area will also appreciate the detailed descriptions and reports which can often be used as guidelines to improve their daily work.
Article
Research has shown that the productivity of the members of a software team depends on the degree to which they are co-located. In this chapter, we present distributed tools that both (a) try to virtually support these forms of collaboration, and (b) go beyond co-located software development by automatically offering modes of collaboration not directly supported by it.
Book
An Approach to Modelling Software Evolution Processes describes formal software processes that effectively support software evolution. The importance and popularity of software evolution increase as more and more successful software systems become legacy systems. For one thing, software evolution has become an important characteristic in the software life cycle; for another, software processes play an important role in increasing efficiency and quality of software evolution. Therefore, the software evolution process, the inter-discipline of software process and software evolution, becomes a key area in software engineering. The book is intended for software engineers and researchers in computer science.
Article
This article discusses key design concepts and research issues in CSCW, especially those relevant to providing awareness support for distributed software development, and provides a survey of CSCW systems and tools in this area. Common collaboration practices in open-source development efforts we described and contrasted with those supported by specialized CSCW systems.
Article
In this paper, we propose an Avatar-based intelligent agent technique for 3D Web based Virtual Communities based on distributed artificial intelligence, intelligent agent techniques, and databases and knowledge bases in a digital library. One of the goals of this joint NSF (IIS-9980130) and ACM SIGGRAPH Education Committee (ASEC) project is to create a virtual community of educators and students who have a common interest in comptuer graphics, visualization, and interactive techniqeus. In this virtual community (ASEC World) Avatars will represent the educators, students, and other visitors to the world. Intelligent agents represented as specially dressed Avatars will be available to assist the visitors to ASEC World. The basic Web client-server architecture of the intelligent knowledge-based avatars is given. Importantly, the intelligent Web agent software system for the 3D virtual community is implemented successfully.
Article
Workflow management systems provide guidance to individuals performing tasks in an organization. This is typically achieved via a central workflow engine that exe-cutes descriptions of organizational processes in order to guide and coordinate activities of individuals in the orga-nization. In this paper, we present a process modeling approach in which processes are modeled as independent "process frag-ments" that represent activities performed by a single actor. Each fragment is a specification of the control flow from one activity to the next, that leads to the completion of a task. Coordination among concurrent activities performed by different actors is modeled as resource flow: dependen-cies among coordinated activities are represented by the re-sources shared by concurrent activities. This allows processes performed by autonomous process performers distributed across a network to be coordinated without sacrificing individual autonomy.
Article
In this paper we describe an experience in designing a groupware application distributed over the WWW to solve a conference management problem. The system we design coordinates the activities of several people engaged in reviewing and selecting papers submitted for a scientific conference. We discuss why such an application is interesting and describe how we designed it. The architecture we suggest implements what we call an active Web, because it includes entities which we are able to use and provide services offered through WWW infrastructures. Users, agents, and active documents can interoperate using a set of basic services for communication and synchronization. The active Web infrastructure we describe here is based on coordination technology integrated with Java.
Conference Paper
In the field of software process management, many studies have proposed a variety of process management technologies. However, most of the process management technologies have treated managerial analysis facilities for software process instances too lightly. It results in less attention from industry. To overcome the problem, we propose the process instance management facilities in the structural and behavioral aspects based on the meta process models. The meta process models consist of the two types of models: meta structural model and the meta behavioral model. Based on the meta process models, a process model is developed and two types of process instance models are generated using the process model: the structural instance model and the behavioral instance model. For the structural instance model, we adopt process slicing. On the other hands, we use several analysis techniques for the behavioral instance model. The proposed approach enables a project manager to analyze structural and behavioral properties of a process instance and allows a project manager make use of the formalism for the management facilities without knowledge for the formalism.
Conference Paper
This paper discusses a visual process modeling language called Virtual Reality Process Modeling Language (VRPML). Novel features have been introduced in VRPML to investigate perceived weaknesses in existing PMLs, and include support for the integration of a virtual environment, and dynamic creation and assignment of tasks and resources at the PML level. The paper describes the VRPML syntax and semantics.
Conference Paper
In this paper we discuss a solution to the conference management problem, a case study in designing a groupware application distributed over the WWW. The case study requires supporting the coordination of activities of people engaged in reviewing and selecting papers submitted for a scientific conference. We discuss why such an application is interesting and describe how we designed its software architecture. The architecture we suggest implements what we call an active Web, because it includes agents able to use services offered by WWW infrastructures. A special kind of agents are active documents, which are documents that carry both some content and some code able to manipulate such a content. Users, agents, and active documents can interoperate using a set of basic services for communication and synchronization. The active Web implementation we describe here is based on coordination technology integrated with Java.
Conference Paper
Full-text available
Collaborative systems need to provide some means for users to be aware of peer activities. Common approaches involve broadcasting events generated as a result of a particular user's actions at the interface to others. Rather than flooding users with information about all activities occurring in the shared environment, filtration techniques allow each user to be exposed to relevant awareness information. Such techniques are often based on user configurable agents. Unfortunately, these so far do not support satisfactorily the improvisational nature of collaborative activities. This is because user configuration is effective mainly in cases where interactions can be anticipated and where configuration plans can be drawn. It is also difficult for a configurable agent to capture the diversity and the complex interrelationships between collaborative activities. In highly dynamic collaborative environments, the need to synchronise configurations with rapidly evolving needs imposes a heavy task load on participants. In Moksha, our prototypical multi-user desktop, this problem is addressed by extending the desktop metaphor and automating the filtration control process so that it becomes ubiquitous to the user. The cross-client linkage of the desktop interface elements, the use of multi-media and its browsing techniques are the main components underlying our strategy.
Article
This paper proposes a decentralized process enactment model called DPEM, which operates on the network. It consists of multiple developer sites, a name server site, a developer coordinator site, and an event manager site. DPEM also provides an intermediate process language called DPEL. To enact a process program written in a source process language (e.g. CSPL and APPL/A), the process program is first translated into DPEL segments, in which those for developer sites are composed of activities and synchronization information. Next, DPEL segments are transferred to DPEM sites. Then, activities in developer sites are enacted concurrently, during which activities are synchronized using synchronization information transferred to the developer sites. Major features offered by DPEM are: (1) every site in DPEM can enact DPEL segments and hence no site will become a bottleneck, (2) a software product is managed by the site that accesses it frequently, which reduces network flows, and (3) DPEM can coordinate heterogeneous process-centered software engineering environments using the intermediate process language DPEL.
Article
This article describes the process evolution support in concurrent software process language (CSPL) environment. Process evolution refers to dynamically changing process programs during process enactment. It is required in process-centered software engineering environment (PSEE) because: (1) parts of a software process may be unclear during process modeling, and (2) processes may change during enactment. In CSPL, process evolution can be achieved through (1) meta-process or (2) process program change. This article also describes object decomposition in CSPL, which relates to process evolution. CSPL allows decomposing large objects (software products) into sub-objects. With this, the schedule, budget, and developer of each sub-object development can be separately assigned and controlled.
Article
Software inconsistency is primarily caused by changes. Changing a software product may cause other products to change. Moreover, changing a part of product (sub-product) usually causes other parts to change too. This paper covers software consistency management supports of advanced process environment research (Aper) by (1) decomposing software products into sub-products and establishing relationships among products and sub-products, and (2) defining trigger processes and consistency conditions in relationships. When a (sub-)product is changed, relationships can be traced to identify the affected ones. Trigger processes then dictate developers to handle the affected ones, which normally need to change accordingly. Meanwhile, consistency conditions should be kept among (sub-)products. Violation of the conditions will result in exceptions, which require handling by developers.
Article
In addition to degrading the quality of software products, software defects also require additional efforts in rewriting software and jeopardize the success of software projects. Software defects should be prevented to reduce the variance of projects and increase the stability of the software process. Factors causing defects vary according to the different attributes of a project, including the experience of the developers, the product complexity, the development tools and the schedule. The most significant challenge for a project manager is to identify actions that may incur defects before the action is performed. Actions performed in different projects may yield different results, which are hard to predict in advance. To alleviate this problem, this study proposes an Action-Based Defect Prevention (ABDP) approach, which applies the classification and Feature Subset Selection (FSS) technologies to project data during execution.Accurately predicting actions that cause many defects by mining records of performed actions is a challenging task due to the rarity of such actions. To address this problem, the under-sampling is applied to the data set to increase the precision of predictions for subsequence actions. To demonstrate the efficiency of this approach, it is applied to a business project, revealing that under-sampling with FSS successfully predicts the problematic actions during project execution. The main advantage utilizing ABDP is that the actions likely to produce defects can be predicted prior to their execution. The detected actions not only provide the information to avoid possible defects, but also facilitate the software process improvement.
Article
This article presents a process modeling language consisting of high level UML-based diagrams and a low level process language. The high level diagrams facilitate process program development, while the low level process language models processes as process programs. Between them is a mapping to further facilitate program development.
Article
Process programs may change during enactment. The change of an enacting process program should be controlled. This paper describes process program change control in the CSPL (Concurrent Software Process Language) environment, which consists of techniques to (1) define change plans, (2) analyze and handle change impacts, and (3) resume process programs. Moreover, we provide an editor to guide process program change, with which the consistency between a change plan and the actual change can be enforced. We have used the environment in an experimental setting, and that experience shows that change control provided by the environment depends significantly upon process programs. If the dependencies among process components are well-specified in a process program, the change control mechanism will detect all the affected components when the process program is changed. Copyright © 2000 John Wiley & Sons, Ltd.
Article
This paper proposes a classification and retrieval technique for process program reuse, which is composed of a syntax and a semantic level processing. The syntax level uses the process features of: phase, paradigm, technique, standard, and application domain. The facet approach is applied here, in which each feature corresponds to a facet. Since no complicated computations are involved, this level is expected to be efficient. Regarding the semantic level, it uses the process program contents of: product, product component, exception, work assignment, tool, and role. They are organized into a semantic network for classification and retrieval. Since process program contents are used, this level is expected to be precise. It, however, may be inefficient, because complicated computations are involved. The proposed classification and retrieval technique uses the syntax level processing before the semantic level. Since most unreusable process programs are filtered out in the syntax level, the semantic level operates on relatively few process programs. Therefore, this technique is expected to be both efficient and precise.
Article
Siegen, Universiẗat, Diss., 2003 (Nicht für den Austausch).
Article
The authors assessed the diagnostic value of brain tissue oxygen tension (PbrO2), microvascular oxygen saturation (SmvO2), cytochrome oxidase redox level (Cyt a+a3 oxidation), and cerebral energy metabolite concentrations in detecting acute critical impairment of cerebral energy homeostasis. Each single parameter as well as derived multimodal indices (arteriovenous difference in oxygen content [AVDO2], cerebral metabolic rate for oxygen [CMRO2], fractional microvascular oxygen extraction [OEF]) were investigated during controlled variation of global cerebral perfusion using a cisternal infusion technique in 16 rabbits. The objective of this study was to determine whether acute changes between normal, moderately, and critically reduced cerebral perfusion as well as frank ischemia defined by local cortical blood flow (lcoBF), brain electrical activity (BEA), and brain stem vasomotor control can be reliably identified by SmvO2, PbrO2, Cyt a+a3 oxidation, or energy metabolites (glutamate, lactate/pyruvate ratio). PbrO2, SmvO2, and Cyt a+a3 oxidation, but not cerebral perfusion pressure, were closely linked to lcoBF and BEA and allowed discrimination between normal, moderately reduced, and critically reduced cerebral perfusion (P < 0.01). Glutamate concentrations and the lactate/pyruvate ratio varied significantly only between moderately reduced cerebral perfusion and frank ischemia (complete loss of BEA and brain stem vasomotor control). Therefore, PbrO2, SmvO2, and Cyt a+a3 oxidation, but not glutamate and the lactate/pyruvate ratio, reliably predict the transition from moderately to critically reduced cerebral perfusion with impending energy failure.
Article
Full-text available
This paper discusses the problems that a software development organization must address in order to assess and improve its software processes. In particular, the authors are involved in a project aiming at assessing and improving the current practice and the quality manual of the Business Unit Telecommunications for Defense (BUTD) of a large telecommunications company. The paper reports on the usage of formal process modeling languages to detect inconsistencies, ambiguities, incompleteness, and opportunities for improvement of both the software process and its documentation.
Article
Full-text available
Traditionally, the modeling of information systems has focused on analyzing data flows and transformations. This modeling accounted only for the organization's data and that portion of its processes that interacted with data. Newer uses of information technology extend computer use beyond transaction processing into communication and coordination. Successfully integrating these systems into the enterprise often requires modeling even the manual organizational processes into which these systems intervene. The following are three such applications:
Conference Paper
Full-text available
Not Available
Article
Full-text available
The authors introduce a high-level Petri net formalism-environment/relationship (ER) nets-which can be used to specify control, function, and timing issues. In particular, they discuss how time can be modeled via ER nets by providing a suitable axiomatization. They use ER nets to define a time notation that is shown to generalize most time Petri-net-based formalisms which appeared in the literature. They discuss how ER nets can be used in a specification support environment for a time-critical system and, in particular, the kind of analysis supported
Article
Full-text available
A MUD (Multi-User Dungeon or, sometimes, Multi-User Dimension) is a network-accessible, multi-participant, user-extensible virtual reality whose user interface is entirely textual. Participants (usually called players) have the appearance of being situated in an artificially-constructed place that also contains those other players who are connected at the same time. Players can communicate easily with each other in real time. This virtual gathering place has many of the social attributes of other places, and many of the usual social mechanisms operate there. Certain attributes of this virtual place, however, tend to have significant effects on social phenomena, leading to new mechanisms and modes of behavior not usually seen `IRL' (in real life). In this paper, I relate my experiences and observations from having created and maintained a MUD for over a year. 1 A Brief Introduction to Mudding The Machine did not transmit nuances of expression. It only gave a general idea of people---...
Article
Full-text available
There are two visions of how use of the global network will evolve in the future. First, individuals will use the network as a resource, providing access to material from libraries and other suppliers of information and entertainment. Second, in addition to communicating with these data sources, people will communicate with each other, using a variety of interactive text, audio, and video conferencing methods. This paper is about a system that combines the two uses: adding an information retrieval tool (Gopher) to a `text based virtual reality' environment (MOO). The combination allows informal collaboration using information retrieval to happen across the network. I. Introduction There are two visions of how use of the global network will evolve in the future. First, individuals will use the network as an information and entertainment resource, providing access to material from libraries and other suppliers of information and entertainment. Second, in addition to communicating with ...
Article
Full-text available
The SPADE project aims at defining and developing a software processcentered environment to describe, analyze, and enact software process models. These models are specified in SLANG (Spade LANGuage), a process modeling language that provides process specific modeling facilities. This paper presents SLANG through a case study which illustrates SLANG main features, including process modularization, interaction with tools, and process evolution. In addition, it describes the architecture of the first implementation of SPADE, called SPADE1, showing how the environment supports concurrent enaction of process activities, integration of external tools, and storage of persistent data in an object-oriented database. Keywords and phrases: software process, process-centered environment, computer-supported cooperative work, process language, Petri net, object-oriented database. This work has been partially supported by ESPRIT projects GoodStep and Promoter, and by Progetto Finalizzat...
Article
MediaMOO is a text-based, networked, virtual reality environment designed to enhance professional community among media researchers. MediaMOO officially opened on 20 January 1993 and as of December 1994 has more than 1000 members from 29 countries. An application is required to join, and only those actively engaged in media research are admitted
Article
STD 11, RFC 822 defines a message representation protocol specifying considerable detail about message headers, but which leaves the message content, or message body, as flat ASCII text. This document redefines the format of message bodies to allow multi- part textual and non-textual message bodies to be represented and exchanged without loss of information. This is based on earlier work documented in RFC 934, STD 11, and RFC 1049, but extends and revises them. Because RFC 822 said so little about message bodies, this document is largely orthogonal to (rather than a revision of) RFC 822.
Book
List of Figures. List of Tables. Preface. 1. Introduction. 2. Previous and Related Work. 3. The Decentralized Model. 4. Realization of the Decentralized Model in OZ. 5. Architectural Support for Decentralization in OZ. 6. The ISPW Example: Validation and Methodology Issues. 7. Summary, Evaluation, and Future Work. A: Configuration Process Sources. B: The ISPW-9 Problem: Definition and Solution in OZ. References. Index.
Article
Marvel is a knowledge-based programming environment that assists software development teams in performing and coordinating their activities. While designing Marvel, several granularity issues were discovered that have a strong impact on the degree of intelligence that can be exhibited, as well as on the friendliness and performance of the environment. The most significant granularity issues include the refinement of software entities in the software database and decomposition of the software tools that process the entities and report their results to the human users. This paper describes the many alternative granularities and explains the choices made for Marvel.
Conference Paper
The wOrlds project is concerned with developing next-generationcollaboration frameworks. We strongly believe thatreal progress in enhancing the usability of collaborativesystems hinges on improving our understanding of work,and applying the resulting insights to development of collaborativework support frameworks. We are investigatingthe thesis that appropriate bases for such an approach canbe drawn from existing results in sociology, specifically thework of sociologist Anselm Strauss, and his notion ofsocial worlds. In this paper we motivate and overviewwOrlds, the collaborative environment we have built inorder to explore our ideas and insights. We then critiquewOrlds (and, by implication, the class of systems known asMUDS of which it is a member), and point to future directionsfor investigation.
Conference Paper
A hypercode software engineering environment represents all plausible multimedia artifacts concerned with software development and evolution that can be placed or generated on-line, from source code to formal documentation to digital library resources to informal email and chat transcripts. A hypercode environment supports both internal (hypertext) and external (link server) links among these artifacts, which can be added incrementally as useful connections are discovered; project-specific hypermedia search and browsing; automated construction of artifacts and hyperlinks according the software process; application of tools to the artifacts according to the process workflow; and collaborative work for geographically dispersed teams. We present a general architecture for what we call hypermedia subwebs, and groupspace services operating on shared subwebs, based on World Wide Web technology - which could be applied over the Internet or within an intranet. We describe our realization in OzWeb.
Conference Paper
The role approach currently used in many process models is seriously flawed. It imposes rigid boundaries separating people from the actions they might perform. It also combines a number of concepts that are best kept separate. We propose an alternative to roles based on loosening boundaries and on decomposing the role concept into its constituent elements
Conference Paper
MUDs, or “multi-user dungeons”, are multi-user, text-based, networked computing environments that are currently used mostly for gaming. Despite the obvious shortcomings of a text-only system, they are quite popular. The Social Virtual Reality project at Xerox PARC is extending MUD technology for use in non-recreational settings. Our goal is to keep the strength of MUDs-shared computing with a powerful real-world metaphor-while correcting their shortcomings by adding audio, video, and interactive windows. We are building two specific prototypes: Astro-VR, for use by the professional astronomy community, and Jupiter, for use by researchers within Xerox
Conference Paper
The authors define a software development environment kernel called MARVEL. Implementing several prototypes and small environments has uncovered some significant flaws and revealed open design problems. Problems connected with the construction and debugging of a process model, with envelope construction, and with support of multiple users are considered. The authors note that they have investigated only a small fraction of the potential for rule-based process modeling and controlled automation. They observe that they do not yet fully understand how rule-based process modeling or controlled automation works and whether the combination is indeed a solid foundation for a software-development environment architecture
Article
Marvel is a software development environment that uses a rule-based model of the development process. When a user issues a command, Marvel invokes the corresponding rule and binds the rule's formal parameter to the object selected by the user. If firing the rule changes the object in a way that satisfies the conditions of other rules, Marvel automatically fires each of these rules and tries to bind their formal parameters to objects. Marvel must infer which objects to bind to the formal parameters of the rules in the chain. A problem arises when the classes of the objects manipulated by the rules are different, because Marvel has to determine which object to bind to the parameter of each rule in the chain. Recursive data definitions cause chaining between rules that act on different objects in the same class. Methods developed to address this chaining problem are discussed
Article
The authors discuss Marvel, a knowledge-based engineering environment that can be instantiated with the entities and tools for a specific engineering project, together with rules regulating (technical) conduct of the project. The resulting environment maintains database representations of entities and carries out menial chores through controlled automation. The authors concentrate on the details of MSL (Marvel Strategy Language) and tool envelopes, including the algorithms used in the various parts of the Marvel system. These algorithms are different from those used for other expert systems because of Marvel's requirement for large-scale entities, the ability to load and unload strategies with different behavior and views of the database structure, and the overhead of tool processing effectively prohibiting `undo' during backtracking
Article
. We present a tool integration strategy based on enveloping pre-existing tools without source code modifications or recompilation, and without assuming an extension language, application programming interface, or any other special capabilities on the part of the tool. This Black Box enveloping (or wrapping) idea has existed for a long time, but was previously restricted to relatively simple tools. We describe the design and implementation of, and experimentation with, a new Black Box enveloping facility intended for sophisticated tools --- with particular concern for the emerging class of groupware applications. Keywords: Tool integration, workflow, computer-supported cooperative work, computer-aided software engineering 1. Introduction Process-centered environments (PCEs) and other task-oriented frameworks (see, e.g., the NIST/ECMA reference model [46]) usually support dialogues between external tools and the environment, which serves as a mechanism for integrating the tools accor...
Article
Beginning with an understanding of virtual reality as an imaginative experience and thus a cultural construct rather than a technical construction, this thesis discusses cultural and social issues raised by interaction on `MUDs', which are text-based virtual reality systems run on the international computer network known as the Internet. MUD usage forces users to deconstruct many of the cultural tools and understandings that form the basis of more conventional systems of interaction. Unable to rely on physical cues as a channel of meaning, users of MUDs have developed ways of substituting for or by-passing them, resulting in novel methods of textualising the non-verbal. The nature of the body and sexuality are problematised in these virtual environments, since the physical is never fixed and gender is a selfselected attribute. In coming to terms with these aspects of virtual interaction, new systems of significance have been developed by users, along with methods of enforcing that cult...
Article
Jupiter is a multi-user, multimedia virtual world intended to support remote collaboration, including support for shared documents, shared tools, and audio/video communication. In addition, it provides a rich set of end-user customization and programming facilities, designed to support a community of developers with a wide range both of skills and of trust in each other. This combination of features leads to an interesting tension in the system's design, between flexibility and privacy: how can we make it easy for "power users" to build applications that control the distribution and recording of the real-time audio and video streams in new and useful ways, while simultaneously assuring all users that they understand and control where their own A/V streams are going at any moment? In this paper we describe our solution to this dilemma; it combines the automatic use of encryption, a flexible model for dynamically interconnecting media sources and sinks, and user-interface widgets that ca...
Article
This paper describes the main concepts behind the implementation of the Merlin prototype and sketches current and further work within the research project evolving from the current experience with the prototype.
Article
In text-based virtual reality environments on the Internet called "MUDs," participants meet people from all over the world. They can not only explore the virtual world, but extend it, creating new objects and places. MUDs are Constructionist environments in which people build personally meaningful artifacts. But unlike many Constructionist environments, MUDs place special emphasis on collaboration, encouraging construction within a social setting. This paper presents a case study of the experiences of a 43-year-old building contractor named Jim. It is one of an ongoing series of interviews I have conducted with people who learned to program for the first time in a MUD called MediaMOO. Salient features of their learning experiences include ease of collaboration, availability of technical assistance from peers, playfulness, availability of an audience for completed work, and community spirit. The success of MUDs as a learning environment for adults points to its potential as a learning e...
The modal complexity of speech events in a social MUD
  • CHERNY L.
CHERNY, L. 1995a. The modal complexity of speech events in a social MUD. Elec. J. Commun. 5, 4 (Nov.).
  • A And
  • A L Wolf
FUGGETTA, A. AND WOLF, A. L., Eds. 1996. Trends in Software. Vol. 4, Software Process. Wiley, London, U.K.
The Jargon file Available via http
  • E S Ed
RAYMOND, E. S., Ed. 1996. The Jargon file. Available via http://www.fwi.uva.nl/%7Emes/ jargon.
Better living through language. The communicative implications of a text-only virtual environment, or, Welcome to LambdaMOO! Gronnell College
  • E.-L Carlstrom
CARLSTROM, E.-L. 1992. Better living through language. The communicative implications of a text-only virtual environment, or, Welcome to LambdaMOO! Gronnell College.
The situated behavior of MUD back channels
  • L Cherny
CHERNY, L. 1995b. The situated behavior of MUD back channels. In Proceedings of the AAAI Spring Symposium. AAAI, Menlo Park, Calif.
LambdaMOO programmer's manual. Xerox PARC, Palo Alto, Calif. For LambdaMOO version 1.80p5
  • P Curtis
CURTIS, P. 1996. LambdaMOO programmer's manual. Xerox PARC, Palo Alto, Calif. For LambdaMOO version 1.80p5.
The Jupiter audio/video architecture: Secure multimedia in network places
  • P Curtis
  • M Dixon
  • R Frederick
  • D A Nichols
CURTIS, P., DIXON, M., FREDERICK, R., AND NICHOLS, D. A. 1995. The Jupiter audio/video architecture: Secure multimedia in network places. In Proceedings of the 3rd Annual ACM Virtual Environments • International Multimedia Conference and Exposition (San Francisco, Calif., Nov. 5-9). ACM, New York.
Software Process Modeling and Technology
  • A Finkelstein
  • J Kramer
  • B Nuseibeh
FINKELSTEIN, A., KRAMER, J., AND NUSEIBEH, B., Eds. 1994. Software Process Modeling and Technology. Wiley, London, U.K.
Physical spaces, virtual places, and social worlds: A study of work in the virtual
  • G Fitzpatrick
  • S M Kaplan
  • T Mansfield
FITZPATRICK, G., KAPLAN, S. M., AND MANSFIELD, T. 1996. Physical spaces, virtual places, and social worlds: A study of work in the virtual. In Proceedings of the 1996 ACM Conference on Computer Supported Cooperative Work. ACM, New York, 334 -343.
  • A Fuggetta
  • A L Wolf
FUGGETTA, A. AND WOLF, A. L., Eds. 1996. Trends in Software. Vol. 4, Software Process. Wiley, London, U.K.
Collaborative information retrieval: Gopher from MOO
  • L Masinter
  • E Ostrom
MASINTER, L. AND OSTROM, E. 1993. Collaborative information retrieval: Gopher from MOO. In Proceedings of INET '93. The Internet Soc.
Telnet protocol specification. RFC 854. Internet Engineering Task Force
  • Postel G
POSTEL, J. AND REYNOLDS, J. 1983. Telnet protocol specification. RFC 854. Internet Engineering Task Force.