This Article 
 Bibliographic References 
 Add to: 
The Evolving Philosophers Problem: Dynamic Change Management
November 1990 (vol. 16 no. 11)
pp. 1293-1306

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.

[1] G. R. Andrews and R. A. Olsson, "An overview of the SR language and implementation,"ACM Trans. Program. Lang. Syst., vol. 10, no. 1, pp. 51-86, Jan. 1988.
[2] R. Balzer, "A 15 year perspective on automatic programming,"IEEE Trans. Software Eng., vol. SE-11, no. 11, pp. 1257-1268, Nov. 1985.
[3] M.R. Barbacci, C.B. Weinstock, and J.M. Wing, "Programming at the Processor-Memory-Switch Level,"Proc. 10th Int'l Conf. Software Eng., CS Press, Los Alamitos, Calif., Order No. 849, 1988, pp. 19-28.
[4] T. Bloom, "Dynamic module replacement in a distributed programming system," Ph.D. dissertation. Lab. Comput. Sci., Massachusetts Inst. Technol., Rep. MIT/LCS/TR-303, Mar. 1983.
[5] K. M. Chandy and J. Misra, "The drinking philosophers problem,"ACM Trans. Programming Lang. Syst., vol. 6, no. 4, pp. 632-646, 1984.
[6] F. DeRemer and H.H. Kron, "Programming-in-the-Large versus Programming-in-the-Small,"IEEE Trans. Software Eng., Vol. SE-2, No. 2, June 1976, pp. 114-121.
[7] E. W. Dijkstra, "Hierarchical ordering of sequential processes," inOperating Systems Techniques, C. A. R. Hoare and R. H. Perrot, Eds. New York: Academic, 1972.
[8] N. Francez, "Distributed termination,"ACM Trans. Programming Languages Syst., vol. 2, no. 1, pp. 42-55, Jan. 1980.
[9] O. Frieder and M. E. Segal, "Dynamic program updating in a distributed computer system, " inProc. IEEE Conf. Software Maintenance, Phoenix, AZ, Oct. 1988, pp. 198-203.
[10] S. A. Friedberg, "Transparent reconfiguration requires a third-party connect," Dep. Comput. Sci., Univ. Rochester, Rochester, NY, Tech. Rep. TR220, Nov. 1987.
[11] S. M. Kaplan and G. E. Kaiser, "Garp: Graph abstractions for concurrent programming," inProc. ESOP '88, Nancy, France, March 1988. New York: Springer-Verlag, pp. 191-205.
[12] S. M. Kaplan, S. K. Goering, and R. H. Campbell, "Specifying concurrent systems withΔ-grammars," inProc. 5th Int. Workshop Software Specification and-Design, Pittsburgh, PA, May 1989, pp. 20-27.
[13] J. Kramer and R. J. Cunningham, "Towards a notation for the functional design of distributed processing systems," inProc. IEEE 1978 Int. Conf. Parallel Processing, Aug. 1978, pp. 69-76.
[14] J. Kramer and J. MaGee, "Dynamic configuration for distributed systems,"IEEE Trans. Software Eng., vol. SE-11, pp. 424-436, Apr. 1985.
[15] J. Kramer. J. Magee, and M. Sloman, "The CONIC toolkit for building distributed systems,"IEE Proc., vol. 134, part D, no. 2, pp. 73-82, Mar. 1987.
[16] J. Kramer, J. Magee, and K. Ng, "Graphical configuration programming,"Computer, vol. 22, no. 10, pp. 53-65, Oct. 1989.
[17] T. J. Leblanc and S. A. Friedberg, "HPC: A model of structure and change in distributed systems,"IEEE Trans. Comput., vol. C-34, no. 12, pp. 1114-1129, Dec. 1985.
[18] M. M. Lehman, "Program evolution," inProc. Symp. Empirical Foundations of Information and Software Science. Atlanta, GA. Nov. 1982.
[19] J. Magee, J. Kramer, and M. Sloman, "Constructing distributed systems in conic,"IEEE Trans. Software Eng., vol. 15, pp. 663-675, June 1989.
[20] J. Misra, "Reasoning about networks of communicating processes," INRLA Advanced NATO Studies Inst. Logics and Models for Verification and Specification of Concurrent Systems, Nice, France, 1984.
[21] D. E. Perry, "Software interconnection models," inProc. 9th Int. Conf. Software Engineering, Apr. 1987, pp. 142-149.

Index Terms:
concerns separation; evolving philosophers problem; dynamic change management; structural concerns; component application concerns; separation of concerns; structural rules; configuration level; consistent state; Conic environment; distributed systems; software engineering
J. Kramer, J. Magee, "The Evolving Philosophers Problem: Dynamic Change Management," IEEE Transactions on Software Engineering, vol. 16, no. 11, pp. 1293-1306, Nov. 1990, doi:10.1109/32.60317
Usage of this product signifies your acceptance of the Terms of Use.