This Article 
 Bibliographic References 
 Add to: 
Applying Synthesis Principles to Create Responsive Software Systems
October 1988 (vol. 14 no. 10)
pp. 1394-1408

The general principles for formulating software requirements and designs that meet response-time goals are reviewed. The principles are related to the system performance parameters that they improve, and thus their application may not be obvious to those whose speciality is system architecture and design. The author addresses the designer's perspective and illustrates how these principles apply to typical design problems. The examples illustrate requirements and design of: communication, user interfaces, information storage, retrieval and update, information hiding, and data availability. Strategies for effective use of the principles are described.

[1] M. Alford, "SREM at the age of eight: The distributed computing design system,"Computer, vol. 18, no. 4, Apr. 1985.
[2] T. E. Bell, D. X. Bixler, and M. E. Dyer, "An extendable approach to computer-aided software requirements engineering,"IEEE Trans. Software Eng., vol. SE-3, no. 1, pp. 49-59, Jan. 1977.
[3] J. L. Bentley,Writing Efficient Programs. Englewood Cliffs, NJ: Prentice-Hall, 1982.
[4] J. L. Bentley, "Programming pearls,"Commun. ACM, vol. 27, no. 11, pp. 1087-1092, Nov. 1984.
[5] G. Booch, "Object-oriented design," inSoftware Engineering with Ada. Menlo Park, CA: Benjamin/Cummings, 1983.
[6] T. L. Booth, "Use of computation structure models to measure computation performance," inProc. Conf. Simulation Measurement and Modeling of Computer Systems, Boulder, CO, Aug. 1979, pp. 183- 188.
[7] T. L. Booth and C. A. Wiecek, "Performance abstract data types and a tool in software performance analysis and design,"IEEE Trans. Software Eng., vol. SE-6, no. 2, pp. 138-151, Mar. 1980.
[8] D. Ferrari,Computer Systems Performance Evaluation. Englewood Cliffs, NJ: Prentice-Hall, 1978.
[9] D. Ferrari, G. Serazzi, and A. Zeigner,Measurement and Tuning of Computer Systems. Englewood Cliffs, NJ: Prentice-Hall, 1983.
[10] R. M. Graham, G. J. Clancy, and D. B. DeVaney, "A software design and evaluation system,"Commun. ACM, vol. 16, no. 2, pp. 110-116, Feb. 1973.
[11] D. E. Knuth,The Art of Computer Programming, Vol. 1. Reading, MA: Addison-Wesley, 1973.
[12] D. E. Knuth, "An empirical study of FORTRAN programs,"Software Practice and Experience, vol. 1, no. 2, pp. 105-133, Apr. 1971.
[13] D. E. Knuth,The Art of Computer Programming, Vol. 3, Reading, MA: Addison-Wesley, 1973.
[14] H. Kopetz, "Design principles for fault tolerant real time systems," inProc. Hawaii Int. Conf. System Sciences, vol. 19, pp. 53-62, Jan. 1986.
[15] B. W. Lampson, "Hints for computer system design,"IEEE Software, pp. 11-28, Feb. 1984.
[16] E. D. Lazawskaet al., Quantitative System Performance--Computer System Analysis Using Queueing Network Models. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[17] T. A. Linden, "The use of abstract data types to simplify program modifications," inProc. Conf. Data: Abstraction, Definition and Structure (ACM SIGPLAN Notices), vol. II, 1976.
[18] M. McNeil and W. Tracy, "PL/I program efficiency,"SIGPLAN Notices, vol. 15, no. 6, pp. 46-60, June 1980.
[19] L. J. Mekly and S. S. Yau, "Software design representation using abstract process networks,"IEEE Trans. Software Eng., vol. SE-6, no. 5, pp. 420-434, Sept. 1980.
[20] Parnas, D.L. 1972. On the Criteria to be Used in Decomposing Systems into Modules,Communications of the ACM, Vol.15, pp. 1053-1058.
[21] D. L. Parnas, P. C. Clements, and D. M. Weiss, "Enhancing reusability with information hiding," inProc. Workshop Reusability in Programming, Sept. 1983, pp. 240-247.
[22] J. L. Peterson and A. Silberschatz,Operating System Concepts. Reading, MA: Addison-Wesley, 1985.
[23] W. E. Riddle, J. C. Wileden, J. H. Sayler, A. R. Segal, and A. M. Stavely, "Behavior modeling during software design," inProc. 3rd Int. Conf. Software Engineering, IEEE Catalog No. 78CH13177C, May 1978.
[24] J. W. Sanguinetti, "A formal technique for analyzing the performance of complex systems," inProc. Computer Performance Evaluation Users Group 14, Boston, MA, Oct. 1978, pp. 67-82.
[25] J. Sanguinetti, "A technique for integrating simulation and system design," inConf. on Simulation, Measure, and Model. of Comput. Syst.(Boulder, CO), Aug. 1979.
[26] C. H. Sauer and K. M. Chandy,Computer Systems Performance Modeling. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[27] H. A. Sholl and T. L. Booth, "Software performance modeling using computation structures,"IEEE Trans. Software Eng., vol. 1, no. 4, Dec. 1975.
[28] C. U. Smith and J. C. Browne, "Aspects of software design analysis: Concurrency and blocking," inProc. Performance 80, Toronto, Ont. Canada, May 1980, pp. 245-254.
[29] C. U. Smith, "The prediction and evaluation of the performance of software from extended design specifications," Ph.D. dissertation, Univ. Texas at Austin, University Microfilms Pub. KRA81-00963, 1980.
[30] C. U. Smith, "Software performance engineering," inProc. Computer Measurement Group Int. Conf. XIII, New Orleans, LA, Dec. 1981, pp. 5-14.
[31] C. U. Smith and J. C. Browne, "Performance engineering of software systems: A case study, inProc. AFIPS Nat. Computer Conf., Houston, TX, June 1982, pp. 217-224.
[32] C. U. Smith and D. D. Loendorf, "Performance analysis of software for an MIMD computer," inProc. Conf. Measurement and Modeling of Computer Systems, Seattle, WA, Aug. 1982, pp. 151-162.
[33] C. U. Smith, "Performance engineering: A bibliography,"(Special issue on Software Performance Engineering), Computer Measurement Group Trans., vol. 49, pp. 63-68, Sept. 1985.
[34] C. U. Smith, "Synthesis principles for high performance software," inProc. Hawaii Int. Conf. System Science, vol. 19, pp. 17-27, Jan. 1986.
[35] C. U. Smith, "Independent general principles for constructing responsive software systems,"ACM Trans. Comput. Syst., vol. 4. no. 1, pp. 1- 31, Feb. 1986.
[36] C. U. Smith,Performance Engineering of Software Systems. Reading, MA: Addison-Wesley, 1990.
[37] D. Van Tassel,Program Style, Design, Efficiency, Debugging, and Testing. Englewood Cliffs, NJ: Prentice-Hall, 1978.
[38] J. W. Winchester and G. Estrin, "Methodology for computer-based systems,"Proc. NCC, vol. 51, pp. 369-379, 1982.

Index Terms:
systems analysis; synthesis principles; responsive software systems; software requirements; system performance parameters; system architecture; user interfaces; information storage; systems analysis; user interfaces
C.U. Smith, "Applying Synthesis Principles to Create Responsive Software Systems," IEEE Transactions on Software Engineering, vol. 14, no. 10, pp. 1394-1408, Oct. 1988, doi:10.1109/32.6185
Usage of this product signifies your acceptance of the Terms of Use.