The art of software systems development: Reliability, Availability, Maintainability, Performance (RAMP)

The production of software systems with specific demand on reliability, availability, maintenance, and performance (RAMP) is one of the greatest challenges facing software engineers at all levels of the development cycle. Most requirements specification tools are more suited for functional requirements than for non-functional RAMP requirements. RAMP requirements are left unspecified, specified at a later stage, or at best vaguely specified, which makes requirements specifications more of an art than a science. Furthermore, the cost of testing for RAMP requirements is quite often prohibitive. In many cases, it is difficult to test for some of the RAMP specifications such as maintainability, reliability, and high availability. Even the test for performance is quite often workload dependent and as such the performance numbers provided at test time or at system commissioning time may not be achievable during actual system workload. What makes the subject matter more difficult is the absence of a clear set of rules or practices, which, if followed closely, produce a system with acceptable RAMP specifications. As such, and until the design of RAMP software systems becomes a well understood theme, the development of such systems will be a fine art, where the tools and capabilities of developing such systems will depend on the particular system to be developed, the environment in which it will run, and the level of expertise and knowledge deployed. Just like no two pieces of art produced by the same artist are the same, no two software systems will have the same RAMP characteristics.This paper will focus on the paradigms involved in the production of RAMP software systems through several case studies. The purpose is to promote the interest of researchers to develop more specific guidelines for the production of SW systems with well defined RAMP qualities.

[1]  T. Capers Jones,et al.  Measuring Programming Quality and Productivity , 1978, IBM Syst. J..

[2]  Kishor S. Trivedi,et al.  Performance And Reliability Analysis Of Computer Systems (an Example-based Approach Using The Sharpe Software , 1997, IEEE Transactions on Reliability.

[3]  Frank Lattemann,et al.  A methodological approach to the requirement specification of embedded systems , 1997, First IEEE International Conference on Formal Engineering Methods.

[4]  W. C. Babcock Intermodulation interference in radio systems frequency of occurrence and control by channel selection , 1953 .

[5]  Boudewijn R. Haverkort,et al.  Performance and reliability analysis of computer systems: An example-based approach using the sharpe software package , 1998 .

[6]  Ravishankar K. Iyer,et al.  Networked Windows NT system field failure data analysis , 1999, Proceedings 1999 Pacific Rim International Symposium on Dependable Computing.

[7]  William H. Sanders,et al.  The Möbius modeling environment , 2004 .

[8]  Stephen C. Williams,et al.  Analysis of the SSH Key Exchange Protocol , 2011, IMACC.

[9]  Walter F. Tichy,et al.  Measuring High Performance Computing Productivity , 2004, Int. J. High Perform. Comput. Appl..

[10]  Raghavendra Rao Loka,et al.  Software development: what is the problem? , 2007, Computer.

[11]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[12]  Ravishankar K. Iyer,et al.  Effect of System Workload on Operating System Reliability: A Study on IBM 3081 , 1985, IEEE Transactions on Software Engineering.

[13]  Michael J. Muller,et al.  Requirements specification , 2002 .

[14]  Derek Partridge Where Do Specifications Come From , 1995 .

[15]  G. White Mobile Radio Technology , 1994 .

[16]  Alan P. Wood,et al.  Software Reliability from the Customer View , 2003, Computer.

[17]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[18]  L. Votta,et al.  Availability Work Products – A Strategic Approach , 2022 .

[19]  McConnellSteve,et al.  The Art, Science, and Engineering of Software Development , 1998 .

[20]  C. Guss,et al.  Cultural Influences on Disaster Management: A Case Study of the Mt. Pinatubo Eruption , 2004, International Journal of Mass Emergencies & Disasters.

[21]  J. Sommer Development: What Is the Problem?. , 1989 .

[22]  Steve McConnell Best Practices: The Art, Science, and Engineering of Software Development , 1998, IEEE Softw..

[23]  Paul Strauss,et al.  Motorola Inc. , 1993 .

[24]  Lawrence G. Votta,et al.  Analysis of failure and recovery rates in a wireless telecommunications system , 2002, Proceedings International Conference on Dependable Systems and Networks.

[25]  David Waldo Dsp Laboratory For Real Time Systems Design And Implementation , 2001 .

[26]  Ralph Arnote,et al.  Hong Kong (China) , 1996, OECD/G20 Base Erosion and Profit Shifting Project.

[27]  L. Hatton An Exceptional Look At Fault Injection , 1998, IEEE Software.

[28]  Eila Niemelä,et al.  A Survey on Software Architecture Analysis Methods , 2002, IEEE Trans. Software Eng..

[29]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition , 1997 .

[30]  Kishor S. Trivedi,et al.  Performance and Reliability Analysis of Computer Systems , 1996, Springer US.