This Article 
 Bibliographic References 
 Add to: 
Distributed System Software Design Paradigm with Application to Computer Networks
April 1989 (vol. 15 no. 4)
pp. 402-412

A paradigm for the system and software design of distributed systems is presented with application to an actual large-scale computer network involving both local area networks and a wide area network. A number of design principles are offered with particular reference to how they can be applied to the design of distributed systems. The author's major point is an explanation of how to make design decisions about distributed systems in a way which will enhance maintainability and understandability of the software and, at the same time, result in good system performance. The aim is to recognize the implications for software quality of various decisions which must be made in the process of specifying a distributed system.

[1] N. A. Alexandridis, "Adaptable software and hardware: Problems and solutions,"IEEE Comput., vol. 19, Feb. 1986.
[2] F. Allen, M. Loomis, and M. Mannino, "The integrated dictionary/directory system,"ACM Comput. Surveys, vol. 14, no. 2, pp. 245-286, June 1982.
[3] A. D. Birrell and B. J. Nelson, "Implementing remote procedure calls,"ACM Trans. Comp. Syst., vol. 2, no. 1, pp. 39-59, Feb. 1984.
[4] D. R. Cheriton, "The V kernel: A software base for distributed systems,"IEEE Software, vol. 1, pp. 19-42, Apr. 1984.
[5] E.G. Coffman, Jr., M. J. Elphick, and A. Shoshani, "System deadlocks,"ACM Comput. Surveys, vol. 3, no. 2, pp. 67-78, June 1971.
[6] B. J. Cox, "Message/object programming: An evolutionary change in programming technology,"IEEE Software, vol. 1, pp. 50-61, Jan. 1984.
[7] R. C. Kuhns and M. C. Shoquist, "A serial data bus system for local processing networks," inDig. Papers, Spring 79 COMPCON, Feb. 1979, pp. 266-271.
[8] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[9] D. L. Parnas, "Designing software for ease of extension and contraction,"IEEE Trans. Software Eng., vol. SE-5, pp. 128-138, Mar. 1979.
[10] J. K. Ousterhout, A. Scelza, and P. S. Sindhu, "Medusa: An experiment in distributed operating system structure,"Commun. ACM, vol. 23, no. 2, pp. 92-105, Feb. 1980.
[11] C. V. Ramamoorthy and H. H. Ho, "Software requirements and specifications: Status and perspectives," inDistributed Systems Design, M. P. Mariani and D. F. Palmer, Eds. Washington, DC: IEEE Computer Society, 1979, pp. 21-142.
[12] N. F. Schneidewind, "Functional design of a local area network for the stock point logistics integrated communications environment," Naval Postgraduate School, Rep. NPS-54-82-003, Dec. 1982.
[13] N. F. Schneidewind and D. R. Dolk, "A distributed operating system design and dictionary/directory for the stock point logistics integrated communications environment," Naval Postgraduate School, Rep. NPS54-8-015, Nov. 1983.
[14] A. Spector, "Performing remote operations efficiently on a local computer network,"Commun. ACM. vol. 25, no. 4, pp. 246-260, Apr. 1982.
[15] J. A. Stankovic, "Software communication mechanisms: Procedure call versus messages,"Computer, vol. 15, pp. 19-25, Apr. 1982.
[16] W. P. Stevenset al., "Structured design,"IBM Syst. J., pp. 115- 139, 1974.
[17] A.S. Tanenbaum, "Distributed Operating System,"Computing Surveys, Dec. 1985, pp. 419-470.
[18] R. W. Watson, "Identifiers (naming) in distributed systems," inDistributed Systems--Architecture and Implementation. B. W. Lampsonet al., Eds. New York: Springer-Verlag, 1981, pp. 191-210.

Index Terms:
distributed systems; large-scale computer network; local area networks; wide area network; distributed systems; maintainability; understandability; system performance; software quality; computer networks; distributed processing; software reliability.
N.F. Schneidewind, "Distributed System Software Design Paradigm with Application to Computer Networks," IEEE Transactions on Software Engineering, vol. 15, no. 4, pp. 402-412, April 1989, doi:10.1109/32.16601
Usage of this product signifies your acceptance of the Terms of Use.