Multiuser collaborative work in virtual environment based CASE tool

https://doi.org/10.1016/S0950-5849(03)00017-XGet rights and content

Abstract

VRCASE is a virtual environment based Computer Aided Software Engineering (CASE) tool. It provides a 3D multiuser collaborative software modeling environment with automatic object-class abstraction, class diagram generation, and C++ skeleton generation facilities for assisting Object-Oriented software development. It allows multiple concurrent users to model software system collaboratively. To achieve efficient collaborative software development in VRCASE, we have proposed and implemented a Fine-grained locking and notification mechanism together with visual indicators to maintain system consistency among multiple concurrent users. The system evaluation shows that our approach can effectively support multiuser collaborative software design in VRCASE.

Introduction

There exist a wide range of Computer Aided Software Engineering (CASE) tools to support different methods and different stages of the software development lifecycle [1], [2], [3]. CASE tools make the software architecture and design clearer and easier to be understood and modified because users are enabled to abstract away from the entanglement of the source codes. The graphic notation makes the communication among the software development teams easier and the skeleton code generation motivates development teams to construct a good design before coding. Some CASE tools may also support roundtrip engineering with the ability of keeping model and code consistent and the ability of deriving class diagrams or database models from source codes. However, a fundamental characteristic of many software systems is that they are very large and far beyond the ability of any individual to create or even understand in detail. Developing a complex software system requires the collaboration of software team members, thus software engineering is no longer the preserve of individuals but essentially a team-based activity involving a wide variety of software engineers. Actually, it has been estimated that system developers typically spend 70% of their time in working with others and these activities account for 85% of the cost of the large software system [4]. Unfortunately, traditional software engineering environments provide limited support to permit concurrent software engineering.

In this research work, a multiuser collaborative environment is proposed and developed to support the collaborative software development in Virtual Reality based CASE tool. An effective concurrency control mechanism is proposed to address the system consistency issue. In the following sections, we will discuss the VRCASE system architecture in Section 2, followed by the proposed concurrency control mechanism and its implementation in Section 3 before presenting the system evaluation results in Section 4. Finally, the conclusions are drawn in Section 5.

Section snippets

System architecture of VRCASE

The architecture of multiuser collaborative VRCASE system is shown in Fig. 1. The system is designed based on client–server architecture. A client communicates with VACASE server via TCP/IP over the Internet. The server is the core part of the whole system that keeps track of the system state information and acts as a router transmitting the events of user interactions. It maintains all of the data of the VRCASE system, manages the communication among its clients and guarantees the consistency

Concurrency control in CSCW systems

Concurrency control has been most actively studied within the domain of CSCW systems and database systems. Traditional concurrency control techniques for database systems have been successful in many multiuser setting, but these techniques are inadequate in open, extensible and CSCW systems supporting collaborating users.

Locking mechanism is a standard technique in traditional distributed computing and CSCW systems to ensure data integrity by prohibiting concurrent conflicting updates on shared

Evaluation of concurrency control in VRCASE

A full evaluation of VRCASE was conducted to test its functionalities and performance. A group of postgraduate research students were involved to cooperatively design a software model named ‘Connie's Convenience Store’ based on the example by Coad et al. [11]. They were required to design the ‘Connie's Convenience Store’ system which aims at helping cashiers work more effectively during checkout, keeping good records of each sale, and supporting more efficient business operations. Its main

Conclusion

In this paper, we presented a multiuser collaborative environment based VRCASE tool. It supports multiuser collaborative software development in VRCASE tool. Multiple software engineers can collaboratively design a software system in a 3D shared virtual environment. Fine-grained locking and notification mechanisms, incorporating with Visual Indicator mechanism, have been proposed to reduce concurrent conflicts and notifications from the traditional object level to attribute level and ensure the

Acknowledgements

This research work was carried out under the research grant AcRF 20/98 provided by Ministry of Education, Singapore. We would also like to thank those postgraduate research students from Information Communication Institute of Singapore, School of Electrical and Electronics Engineering, Nanyang Technological University, who had participated and helped in evaluating VRCASE.

References (25)

  • R.J Norman et al.

    Working together to integrate CASE

    IEEE Software

    (1992)
  • A Fugetta

    A classification of case technology

    IEEE Computer

    (1993)
  • Q. Lin, C.P. Low, J.M. Ng, A Virtual Environment Based System for Assisting Object-Oriented Software Development, Final...
  • V Iris et al.

    CASE tools as collaborative support technologies

    Communication of ACM

    (1995)
  • L Brothers et al.

    ICICLE: groupware for code inspection

    Proceedings of the ACM 1990 Conference on Computer-Supported Cooperative Work

    (1990)
  • Sterling Software, ObjectTeam (Now the COOL:Jex) product document, Cayanne,...
  • Rational Rose online document, 2001, Rational software,...
  • Advanced Software Technology, 2001, GDPro on line document,...
  • T.-H Kim et al.

    DOOD distributed object-oriented software development environment

    Proceedings of APSEC'97 and ICSC'97, IEEE

    (1997)
  • J.W Gintell et al.

    Lessons learned by building and using scrutiny, a collaborative software inspection system

    Proceedings of Seventh International Workshop on Computer-Aided Software Engineering, IEEE

    (1995)
  • P Coad et al.

    Object Models: Strategies, Patterns, and Applications

    (1997)
  • J. Bu, Q. Lin, J. Ng, C.P. Low, VRCASE: A Virtual Reality Based Collaborative CASE Tool, IASTED International...
  • View full text