The object database standard: ODMG 2.0
The object database standard: ODMG 2.0
The grid: blueprint for a new computing infrastructure
The grid: blueprint for a new computing infrastructure
Software engineering (6th ed.)
Software engineering (6th ed.)
Algorithms and Theory of Computation Handbook
Algorithms and Theory of Computation Handbook
Peer-to-Peer: Harnessing the Power of Disruptive Technologies
Peer-to-Peer: Harnessing the Power of Disruptive Technologies
A Case for NOW (Networks of Workstations)
IEEE Micro
Peer-to-Peer Programming with Teaq
Revised Papers from the NETWORKING 2002 Workshops on Web Engineering and Peer-to-Peer Computing
The Anatomy of the Grid: Enabling Scalable Virtual Organizations
International Journal of High Performance Computing Applications
Unanticipated Software Evolution
ECOOP '02 Proceedings of the Workshops and Posters on Object-Oriented Technology
Use of large databases for group projects at the nexus of teaching and research
Proceedings of the 9th annual SIGCSE conference on Innovation and technology in computer science education
Making sense of low-level usage data to understand user activities
SAICSIT '04 Proceedings of the 2004 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries
Collecting Feedback during Software Engineering Experiments
Empirical Software Engineering
Explicit assumptions enrich architectural models
Proceedings of the 27th international conference on Software engineering
Expectations and reality: Evaluating patterns of learning behaviour using audit trails
Computers & Education
Flexible, reusable tools for studying novice programmers
ICER '09 Proceedings of the fifth international workshop on Computing education research workshop
Hi-index | 0.00 |
This paper describes the evolution of the design and implementation of a distributed run-time system that itself is designed to support the evolution of the topology and implementation of an executing, distributed system. The three different versions of the run-time architecture that have been designed and implemented are presented, together with how each architecture addresses the problems of topological and functional evolution. In addition, the reasons for the rapid evolution of the design and implementation of the architecture are also described.From the lessons learned in both evolving the design of the architecture and in trying to provide a run-time system that can support run-time evolution, this paper discusses two generally applicable observations: evolution happens all the time, and it is not possible to anticipate how systems will evolve as designs; and large, run-time systems do not follow a predictable path. In addition to this, rapid prototyping has proved to be extremely useful in the production of the three architectures; this kind of prototyping has been made much easier by designing the core set of Java abstractions in terms of interfaces; and building an architecture that allows as many decisions as possible to be made at run-time which has produced a support system that is more responsive to the user as well as the distributed environment in which it is executing.