568,835 research outputs found
Specifying collaborative software: a proposal
The aim of this paper is to illustrate how formal specifications for collaborative interactive systems might be written. It presents a new modelling paradigm for certain systems. It also shows how formal software engineering approaches can be useful. Specifically we choose to specify a simple collaborative editor. This example serves two purposes: it shows how clear and simple a formal specification can be and it provides a basis for making observations about the requirements for a specification language where the target is CSCW systems. The specification of the system has three parts: the semantics of the system; the syntax of the system; the semantics of the collaborative aspects of the system
Domino: exploring mobile collaborative software adaptation
Social Proximity Applications (SPAs) are a promising new area for ubicomp software that exploits the everyday changes in the proximity of mobile users. While a number of applications facilitate simple file sharing between coâpresent users, this paper explores opportunities for recommending and sharing software between users. We describe an architecture that allows the recommendation of new system components from systems with similar histories of use. Software components and usage histories are exchanged between mobile users who are in proximity with each other. We apply this architecture in a mobile strategy game in which players adapt and upgrade their game using components from other players, progressing through the game through sharing tools and history. More broadly, we discuss the general application of this technique as well as the security and privacy challenges to such an approach
Dynamics of collaborative work in global software development environment.
This study aims to explore the dynamics of collaborative work in global software development projects. The study explored the nature of collaboration, the patterns of collaborative behaviors in different tasks in computer science, and the impact of the tasks to the collaboration among students. Four different collaborative software development tasks were assigned to the globally distributes teams. The study used data from 230 students from five universities, namely Atilim University (Turkey), Middle East Technical University (Turkey), Universidad TecnolĂłgica de PanamĂĄ (Panama), University of North Texas (US), and Middlesex University (UK). The findings involve the recommendations for building effective collaborative working environments and guidelines for building collaborative virtual communities
Environments to support collaborative software engineering
With increasing globalisation of software production, widespread use of
software components, and the need to maintain software systems over long
periods of time, there has been a recognition that better support
for collaborative working is needed by software engineers.
In this paper, two approaches to developing
improved system support for collaborative software engineering are
described: GENESIS and OPHELIA.
As both projects are moving towards industrial trials and eventual publicreleases of their systems, this exercise of comparing and
contrasting our approaches has provided the basis for future
collaboration between our projects particularly in carrying out
comparative studies of our approaches in practical use
Recommended from our members
Utilizing FM software in collaborative design-learning
In this paper, we describe a case study of computer-supported collaborative learning in design using OpenLearn FlashMeeting software, a video conferencing tool. This 6-week experiment, involving Open University students and staff, aimed at exploring the capabilities of FlashMeeting software to support several phases of the design process including formulating a design brief, discovering user requirements, setting design specifications, concept generation, design embodiment and implementation of proposed concepts. We conclude this paper with lessons learned from using FlashMeeting in a design e-learning project
Support for collaborative component-based software engineering
Collaborative system composition during design has been poorly supported by traditional CASE tools (which have usually concentrated on supporting individual projects) and almost exclusively focused on static composition. Little support for maintaining large distributed collections of heterogeneous software components across a number of projects has been developed. The CoDEEDS project addresses the collaborative determination, elaboration, and evolution of design spaces that describe both static and dynamic compositions of software components from sources such as component libraries, software service directories, and reuse repositories. The GENESIS project has focussed, in the development of OSCAR, on the creation and maintenance of large software artefact repositories. The most recent extensions are explicitly addressing the provision of cross-project global views of large software collections and historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR and CoDEEDS are widely adopted and steps to facilitate this are described.
This book continues to provide a forum, which a recent book, Software Evolution with UML and XML, started, where expert insights are presented on the subject.
In that book, initial efforts were made to link together three current phenomena: software evolution, UML, and XML. In this book, focus will be on the practical side of linking them, that is, how UML and XML and their related methods/tools can assist software evolution in practice.
Considering that nowadays software starts evolving before it is delivered, an apparent feature for software evolution is that it happens over all stages and over all aspects.
Therefore, all possible techniques should be explored. This book explores techniques based on UML/XML and a combination of them with other techniques (i.e., over all techniques from theory to tools).
Software evolution happens at all stages. Chapters in this book describe that software evolution issues present at stages of software architecturing, modeling/specifying,
assessing, coding, validating, design recovering, program understanding, and reusing.
Software evolution happens in all aspects. Chapters in this book illustrate that software evolution issues are involved in Web application, embedded system, software repository, component-based development, object model, development environment, software metrics, UML use case diagram, system model, Legacy system, safety critical system, user interface, software reuse, evolution management, and variability modeling. Software evolution needs to be facilitated with all possible techniques. Chapters in this book demonstrate techniques, such as formal methods, program transformation,
empirical study, tool development, standardisation, visualisation, to control system changes to meet organisational and business objectives in a cost-effective way. On the journey of the grand challenge posed by software evolution, the journey that we have to make, the contributory authors of this book have already made further
advances
- âŠ