scispace - formally typeset
Open AccessJournal ArticleDOI

The evolving philosophers problem: dynamic change management

Jeff Kramer, +1 more
- 01 Nov 1990 - 
- Vol. 16, Iss: 11, pp 1293-1306
Reads0
Chats0
TLDR
A model for dynamic change management which separates structural concerns from component application concerns is presented and is applied to an example problem, 'evolving philosophers', which has been implemented and tested in the Conic environment for distributed systems.
Abstract
A model for dynamic change management which separates structural concerns from component application concerns is presented. This separation of concerns permits the formulation of general structural rules for change at the configuration level without the need to consider application state, and the specification of application component actions without prior knowledge of the actual structural changes which may be introduced. In addition, the changes can be applied in such a way so as to leave the modified system in a consistent state, and cause no disturbance to the unaffected part of the operational system. The model is applied to an example problem, 'evolving philosophers'. The principles of this model have been implemented and tested in the Conic environment for distributed systems. >

read more

Citations
More filters
Journal ArticleDOI

Self-adaptive software: Landscape and research challenges

TL;DR: A taxonomy of research in self-adaptive software is presented, based on concerns of adaptation, that is, how, what, when and where, towards providing a unified view of this emerging area.
Proceedings ArticleDOI

Self-Managed Systems: an Architectural Challenge

TL;DR: Some of the current promising work in self-management is discussed and an outline three-layer reference model is presented as a context in which to articulate some of the main outstanding research challenges.
Proceedings ArticleDOI

Architecture-based runtime software evolution

TL;DR: An architecture-based approach to runtime software evolution is presented and the role of software connectors in supporting runtime change is highlighted and an initial implementation of a tool suite for supporting the runtime modification of software architectures is presented.
Proceedings ArticleDOI

Research Directions in Requirements Engineering

TL;DR: Current requirements engineering (RE) research is reviewed and future research directions suggested by emerging software needs are identified, which aim to address RE needs for emerging systems of the future.
Proceedings ArticleDOI

Dynamic structure in software architectures

TL;DR: ADL features which permit the description of dynamic software architectures in which the organisation of components and connectors may change during system execution are examined.
References
More filters
Journal ArticleDOI

Programming-in-the-Large Versus Programming-in-the-Small

TL;DR: The activity of writing large programs from that of writing small ones is distinguished, and emphasis is placed on facilities for information hiding and for defining layers of virtual machines.
Journal ArticleDOI

The drinking philosophers problem

TL;DR: Two paradigms are presented: the well-known distributed dining philosophers problem and a generalization of it, the distributed drinking philosophers problem, in which the depth of a process is a distinguishing property and a distributed implementation of an acyclic precedence graph is presented.
Journal ArticleDOI

A 15 Year Perspective on Automatic Programming

TL;DR: Automatic programming consists not only of an automatic compiler, but also some Means of acquiring the high-level specification to be compiled, some means of determining that it is the intended specification, and some (interactive) means of translating this high- level specification into a lower-level one which can be automatically compiled.
Journal ArticleDOI

Dynamic Configuration for Distributed Systems

TL;DR: Using this model, the properties required by languages and their execution environments to support dynamic configuration are determined and CONIC, the distributed system which has been developed at Imperial College, is described to illustrate the feasibility of the model.
Proceedings ArticleDOI

Programming-in-the large versus programming-in-the-small

TL;DR: The activity of writing large programs is distinguished from that of writing small ones, which means systems consisting of many small programs (modules), usually written by different people.
Related Papers (5)