2,620 research outputs found
Simulated self-organization of a peer to peer awareness network
A simulation process and tool used to test and evaluate the algorithms necessary to optimally arrange a peer-to-peer distributed awareness system for Software Engineering
A self-organising awareness system for distributed software engineering
Software engineers and other collaborative disciplines rely on informal "out-of-band" communication for ef-
fective coordination of their activities, especially in agile methods. This type of communication is lost when development is distributed, with consequent deleterious effects on engineer effectiveness. In order to effectively support distributed software engineering, a replacement for this informal communication must be found.
Much previous research focussed on either synchronous awareness such as radar views and shared editors, where participants were distributed in space not time, or asynchronous awareness such as change notification, which
did not explicitly support concurrent activities. A unified approach is necessary to support software engineering.
Furthermore, requiring co-location of engineering teams is not possible in today's marketplace where development
is often outsourced, consequently a definite requirement for awareness tools to replace informal communication
exists.
To implement an awareness tool capable of providing awareness of activities distributed both in time (asyn-
chronous awareness) and space (synchronous awareness). The tool will not rely on a centralised reflector; instead
information will be distributed over a peer-to-peer network arranged using a self-organisation algorithm.
Consequently awareness information need not travel more than a few hops from its originating peer, reducing
network load and increasing relevance of information received. Unlike reflector-based CSCW systems, the network
will scale and will not have a single point of failure in the reflector. Furthermore, without the need to setup a
reflector, there is the capability for ad-hoc awareness, using low-complexity peer discovery by local broadcast for
example.
The tool will be integrated with the Eclipse development environment. The files a user is currently editing will
determine the data they are interested in and fuzzy similarity metrics will be used to compare the collections of
each peer in the network in order to drive the self-organisation process. To evaluate the success of self-organisation,
a simulation approach will be used before deploying the algorithms in the wild. To evaluate the effectiveness of
the awareness provision, initial deployment and controlled experiments will be conducted within the Distributed
Software Engineering group at the University of Lincoln and a later version of the tool will be trialled with existing
Eclipse user
WETICE 2004 Evaluating Collaborative Enterprises (ECE) Workshop - Final report
A summary of the fifth Evaluating Collaborative Enterprises (ECE)
workshop which ran on June 14th at University of Modena, Italy. The
overall theme of the workshop this year was evaluation within the
software lifecyle rather than as a separate activity. Each of the
five papers touched on this subject and the subsequent winner of
Best Paper covered it thoroughly.
Concerns about the level of interactivity within the workshop and
WETICE itself prompted a format change to ``paired-paper'' sessions
with plenty of discussion time.
Several outstanding issus were identified during the discussion,
including development of ``evaluation components'' alongside
software components, the need to convince managers of the business
case for evaluation and meta-evaluation of popular techniques with a
view to avoiding studies that select inappropriate techniques or
rely too heavily on one type of technique
Historical awareness support and its evaluation in collaborative software engineering
The types of awareness relevant to collaborative soft-
ware engineering are identified and an additional type,
"historical awareness" is proposed. This new type of
awareness is the knowledge of how software artefacts re-
sulting from collaboration have evolved in the course of
their development.
The types of awareness that different software engineer-
ing environment architectures can support are discussed. A
way to add awareness support to our existing OSCAR sys-
tem, a component of the GENESIS software engineering
platform, is proposed. Finally ways of instrumenting and
evaluating the awareness support offered by the modified
system are outlined
Supporting collaborative grid application development within the escience community
The systemic representation and organisation of software artefacts, e.g. specifications, designs, interfaces, and implementations, resulting from the development of large distributed systems from software components have been addressed by our research within the Practitioner and AMES projects [1,2,3,4]. Without appropriate representations and organisations, large collections of existing software are not amenable to the activities of software reuse and software maintenance, as these activities are likely to be severely hindered by the difficulties of understanding the software applications and their associated components. In both of these projects, static analysis of source code and other development artefacts, where available, and subsequent application of reverse engineering techniques were successfully used to develop a more comprehensive understanding of the software applications under study [5,6]. Later research addressed the maintenance of a component library in the context of component-based software product line development and maintenance [7]. The classic software decompositions, horizontal and vertical, proposed by Goguen [8] influenced all of this research. While they are adequate for static composition, they fail to address the dynamic aspects of composing large distributed software applications from components especially where these include software services. The separation of component co-ordination concerns from component functionality proposed in [9] offers a partial solution
Evaluation of an awareness distribution mechanism: a simulation approach
In distributed software engineering, the role of informal communication is frequently overlooked. Participants simply employ their own ad-hoc methods of informal communication. Consequently such communication is haphazard, irregular, and rarely recorded as part of the project documentation. Thus, a need for tool support to facilitate more systematic informal communication via awareness has been identified. The tool proposed is based on the provision of awareness support that recognises the complete context of the evolution of software artefacts rather than single events.
Peer-to-Peer (P2P) networking has been successfully
employed to develop various distributed software engineering support tools. However, there are scalability problems inherent in naive P2P networks. To this end a semantic overlay network organisation algorithm has been developed and tested in simulation prior to deployment as part of a forthcoming awareness extension to the Eclipse environment.
The simulation verified that the self-organisation algorithm was suitable for arranging a P2P network, but several unexpected behaviours were observed. These included
wandering nodes, starved nodes, and local maxima. Each
of these problems required modification of the original algorithm design to solve or ameliorate them
- …