skip to main content
article
Free access

Independent general principles for constructing responsive software systems

Published: 10 February 1986 Publication History

Abstract

Three general principles are presented that can be applied in early software life cycle stages for the definition of software requirements and designs with acceptable performance. They are genuine high-level considerations for meeting responsiveness goals without sacrificing understandability and maintainability, and without increasing development time and cost. The principles are derived from the interrelationships of two performance models: a queueing network based on computer system model and an execution graph software model. The performance effect of each of the principles is quantified using the models. Examples are given that illustrate how they can be applied to software systems.

References

[1]
ALTER, S. A model for automating file and program design in business application systems. Commun. ACM 22, 6 (June 1979), 345-353.
[2]
BEIZER, B. Analytic techniques for the statistical evaluation of program running time. In AFIPS Conference Proceedings 37 (FJCC 1970), 519-524.
[3]
BENTLEY, J.L. Writing Efficient Programs. Prentice-Hall, Englewood Cliffs, NJ, (1982).
[4]
BGS SYSTEMS, INC. CRYSTAL Release 2.0 User's Guide. BGS Systems, Inc., Waltham, MA (1983).
[5]
BOOLE AND BABBAGE, INC. CMF/MODEL User Guide. Boole and Babbage, Inc., Sunnyvale, CA (1983).
[6]
BOOTH, T. L. Use of computation structure models to measure computation performance. In Proceedings of Conference on Simulation Measurement and Modeling of Computer Systems (Boulder, Colo. Aug. 1979), 183-188.
[7]
BRADFORD, S.C. Sources of information on specific subjects. Engineering 1337 ( Jan. 1934).
[8]
BRADFORD, S.C. Documentation. Crosby Lockwood, London (1948).
[9]
BUNT, R. B., MURPHY, J. M., AND MAJUMDAR, S. A measure of program locality and its application. In Proceedings of the 1984 A CM SIGMETRICS Conference on Measurement and Modeling of Computer Systems {Boston, Aug. 1984), ACM, New York, 28-40.
[10]
FERRARI, D. Computer Systems Performance Evaluation. Prentice-Hall, Englewood Cliffs, NJ (1978).
[11]
FERRARI, D., SERAZZl, G., AND ZE|GNER, A. Measurement and Tuning of Computer Systems. Prentice-Hall, Englewood Cliffs, NJ (1983).
[12]
GRAHAM, R. M., CLANCY, G. J., AND DEVANEY, D.S. A software design and evaluation system. Commun. ACM 16, 2 {Feb. 1973), 110-116.
[13]
INFOTECH INTERNATIONAL. Program optimization. Infotech State of the Art Report 30, Infotech International, Maidenhead (1976).
[14]
INFORMATION RESEARCH ASSOCIATION. Performance analysis of the Integrated Programs for Aerospace-vehicle Design, Report 1. Information Research Association, Austin, Tex. (1979).
[15]
INFORMATION RESEARCH ASSOCIATION. PA WS/A User Guide. Information Research Associates, Austin, TX {1983).
[16]
JALXCS, P.J. Improving performance the easy way. Datamation 23, 4 {Apr. 1977}, 135-148.
[17]
KANT, E. Efficiency in Program Synthesis. UMI Research Press, Ann Arbor, Mich. (1981).
[18]
KELLY, J.C. The theory of repetition networks with application to computer programs. Ph.D. Dissertation, Purdue University, West Lafayette, IN (1974).
[19]
KLEINROCK, L. Queueing Systems, Vol. 1: Theory. John Wiley and Sons, New York (1975).
[20]
KLEINROCK, L. Queueing Systems, Vol. 2: Computer Applications. John Wiley and Sons, New York (1976).
[21]
KNUTH, D.E. The Art of Computer Programming, Vol. I: Fundamental Algorithms. Addison- Wesley, Reading, Mass. (1968).
[22]
KNUTH, D. E. An empirical study of FORTRAN programs. Softw. Pract. Exper. 1, 2 {Apr. 1971), 105-133.
[23]
KNUTH, D. E. The Art of Computer Programming, Vol. 3: Sorting and Searching. Addison- Wesley, Reading, Mass. {1973).
[24]
KOBAYASm, H. Modeling and Analysis--An Introduction to System Performance Evaluation Methodology. Addison-Wesley, Reading, Mass. (1978).
[25]
LAMPSON, B.W. Hints for computer system design. IEEE Software (Feb. 1984), 11-28.
[26]
LAZOWSKA, E. D., ZAHORJAN, J., GRAHAM, G. S., AND SEVCIK, K. C. Quantitative System Performance. Prentice-Hall, Englewood Cliffs, NJ (1984).
[27]
MEKLY, L. J., AND YAU, S.S. Software design representation using abstract process networks. IEEE TSE, SE-6, 5 (Sept. 1980), 420-434.
[28]
McNEIL, M., AND TRAC~, W. PL/I program efficiency. SIGPLAN Notices 15, 6 (June, 1980), 46-60.
[29]
QUANTITATIVE SYSTEM PERFORMANCE, INC. MAP Reference Guide. Quantitative System Performance, Inc., Seattle, Wash. {1982).
[30]
SANGUINETTI, J.W. A formal technique for analyzing the performance of complex systems. Proc. Computer Performance Evaluation Users Group 14 (Boston, Oct. 1978), 67-82.
[31]
SANGUINETTI, J.W. A technique for integrating simulation and system design. In Proceedings of the Conference on Simulation Measurement and Modeling of Computer Systems (Boulder, Aug. 1979), 163-172.
[32]
SAVER, C. H., AND CHANDY, K.M. Computer Systems Performance Modeling. Prentice-Hall, Englewood Cliffs, NJ (1981).
[33]
SHOLL, H. A., AND BOOTH, T.L. Software performance modeling using computation structures. IEEE TSE 1, 4 (Dec. 1975).
[34]
SMITH, C. U., AND BROWNE, J.C. Performance specifications and analysis of software designs. In Proceedings of the Conference on Simulation Measurement and Modeling of Computer Systems (Boulder, Aug. 1979), 173-182.
[35]
SMITH, C. U., AND BROWNE, J.C. Aspects of software design analysis: concurrency and blocking. in Procceedings of Performance 80 (Toronto, May 1980), 245-254.
[36]
SMITH, C. U. The prediction and evaluation of the performance of software from extended design specifications. Ph.D. Dissertation, U. Texas at Austin, Austin, Tex. (1980).
[37]
SMITH, C.U. Software performance engineering. In Proceedings on Computer Measurement Group International Conference XIII (New Orleans, La., Dec. 1981), 5-14.
[38]
SMITH, C. U., AND BROWNE, J.C. Performance engineering of software systems: a case study. In Proceedings AFIPS National Computer Conference (Houston, Tex., June 1982), 217-224.
[39]
SMITH, C.U. Effective implementation of software performance engineering. In Proceedings of ECOMA 12 (Munich, Oct. 1984).
[40]
VAN TASSEL, D. Program Style, Design, Efficiency, Debugging, and Testing. Prentice-Hall, Englewood Cliffs, NJ (1978).
[41]
WONG, K. L. Design--a tool for software performance engineering. CMG Transactions, 41 (Sept. 1983), 19-24.
[42]
ZlPF, G.K. Human Behavior and the Principle of Least Effort. Addison-Wesley, Reading, MA (1949).

Cited By

View all
  • (2023)Early Progress on Enhancing Existing Software Engineering Courses to Cultivate Performance AwarenessCompanion of the 2023 ACM/SPEC International Conference on Performance Engineering10.1145/3578245.3584352(345-349)Online publication date: 15-Apr-2023
  • (2020)A Case for Feedforward Control with Feedback Trim to Mitigate Time Transfer AttacksACM Transactions on Privacy and Security10.1145/338250323:2(1-25)Online publication date: 18-May-2020
  • (2020)Machine NormalizationACM Transactions on Asian and Low-Resource Language Information Processing10.1145/337841419:4(1-30)Online publication date: 11-Apr-2020
  • Show More Cited By

Recommendations

Reviews

Walter F. Tichy

This paper quantifies the effects of the following three general principles for building efficient software systems: (1)Create separate, highly optimized program paths for the dominant (i.e., frequently executed or long-running) workload functions. (2)Minimize the product of processing time and frequency of execution of program paths. (3)Precompute as much as possible as early as possible (i.e., early during execution, during initialization, at linking/loading time, at compilation time, or at programming time). Principles 2 and 3 above are obviously not independent. The total processing time of a job is derived from a high-level flowchart of the system. The flowchart is composed of the familiar constructs for sequential, conditional, and repetitive execution. Given probabilities for the alternatives in the conditionals and the number of iterations for each loop, the expected processing time per job can be computed, and a closed queueing network model yields the response time. Several graphs illustrate the results. The author cites several of her case studies where the technique was applied. Automated tools for simplifying the analysis are not available. The author stresses that the principles can be applied during the early stages of the software life cycle. However, the quantification of the effects is limited by the availability and accuracy of the required flowcharts and parameters. In particular, Principle (1), the dominant workload functions, and Principle (2), the frequency of execution, may not be available until the system has actually been built and used. Principle (3) involves code tuning which cannot be done until implementation. If Principle (3) is applied in the user interface (e.g., by replacing a query language with a fixed menu), efficiency consideration may unduly handicap design. However, when optimizing an existing system, quantification of the three principles is possible, and is invaluable for comparing alternatives.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computer Systems
ACM Transactions on Computer Systems  Volume 4, Issue 1
Feb. 1986
106 pages
ISSN:0734-2071
EISSN:1557-7333
DOI:10.1145/6306
  • Editor:
  • Anita K. Jones
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 February 1986
Published in TOCS Volume 4, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)62
  • Downloads (Last 6 weeks)10
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Early Progress on Enhancing Existing Software Engineering Courses to Cultivate Performance AwarenessCompanion of the 2023 ACM/SPEC International Conference on Performance Engineering10.1145/3578245.3584352(345-349)Online publication date: 15-Apr-2023
  • (2020)A Case for Feedforward Control with Feedback Trim to Mitigate Time Transfer AttacksACM Transactions on Privacy and Security10.1145/338250323:2(1-25)Online publication date: 18-May-2020
  • (2020)Machine NormalizationACM Transactions on Asian and Low-Resource Language Information Processing10.1145/337841419:4(1-30)Online publication date: 11-Apr-2020
  • (2020)Outline Extraction with Question-Specific Memory CellsACM Transactions on Asian and Low-Resource Language Information Processing10.1145/337770719:4(1-17)Online publication date: 29-Mar-2020
  • (2017)Identifying Derived Performance Requirements of System Components from Explicit Customer- and Application- Facing Performance RequirementsProceedings of the 8th ACM/SPEC on International Conference on Performance Engineering10.1145/3030207.3030246(335-339)Online publication date: 17-Apr-2017
  • (2016)Boosting Service Availability for Base Stations of Cellular Networks by Event-driven Battery ProfilingACM SIGMETRICS Performance Evaluation Review10.1145/3003977.300400244:2(88-93)Online publication date: 29-Sep-2016
  • (2012)Active learning with semi-automatic annotation for extractive speech summarizationACM Transactions on Speech and Language Processing 10.1145/2093153.20931558:4(1-25)Online publication date: 20-Feb-2012
  • (2012)Uncertainty-based active learning with instability estimation for text classificationACM Transactions on Speech and Language Processing 10.1145/2093153.20931548:4(1-21)Online publication date: 20-Feb-2012
  • (2010)The case for RAMCloudsACM SIGOPS Operating Systems Review10.1145/1713254.171327643:4(92-105)Online publication date: 27-Jan-2010
  • (2010)OMFACM SIGOPS Operating Systems Review10.1145/1713254.171326743:4(54-59)Online publication date: 27-Jan-2010
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media