Software Stability Model (SSM) – The Art of Abstractions “How-To”
A Half-Day Tutorial
Dr. Mohamed E. Fayad
Professor of Computer Engineering
Computer Engineering Dept., College of Engineering
San José State University
One Washington Square, San José, CA 95192-0180
Ph: (408) 924-7364, Fax: (408) 924-4153
E-mail: [email protected]
Software Stability Model [1, 2, 3, 4] is a radically new and a disruptive innovation in the field of software engineering. It promotes a holistic approach of how any software development effort should be undertaken, different from the approaches that we see today. SSM can be used to build systems in any domain. Software Stability Model promotes a way of building software such that the software is not tied to any specific domain or application context. SSM fundamentally targets the problem of low reuse; high costs, phasing out software solutions, components with great impedance mismatch and more. Research and development done for the Software Stability Model will enable practitioners and researchers of software engineering to leverage new ways of developing software that solve these problems. The methods employed in designing software using SSM methods aid in advancing our understanding of how to do requirement analysis that is long lived and hits right at what is being aimed at. SSM will not only advance the field of software engineering but also benefit Knowledge Engineering in general. SSM concepts hold true for many engineering disciplines, not just software. SSM fundamentally targets the problem of low reuse; high costs, phasing out of software solutions, components with great impedance mismatch and more. Research and development done for the Software Stability Model will enable the practitioners and researchers of software engineering to look at new ways of developing software that solve these problems.
Self-Adaptable, Self-Scalable, Stability, Self-Manageable, Easy Extensible, Self-Configurable with Unlimited Reuse: Software that is architected and designed on the lines of SSM is done in a way that makes it and self-adaptable in nature i.e. separation of concerns between functionality sets is extremely well done. As SSM steers the designer toward a solution-strategy that employs a generic stable core, SSM enables the solution to be well-suited and adaptable to a variety of typical changes in the application context by ensuring that adaptation is limited to just the application context specific outer layer of the software longevity, high returns on investments, self-configurability, self-customizability, self-manageability, Easy Extensibility with unlimited reusability of the artifacts developed and much more.
The advantages of SSM
1. With SSM there is no need for re-inventing the wheels comparing to the traditional software methodology such as Spiral Model  and Reusable model  that means there is no maintenance
2. SSM creates products and components that machine and platform independent
3. SSM creates unlimited reuse of unified software architectures on Demand (USA on-Demand).
4. SSM generates assets that stable over time and have high return on investments.
5. SSM represents the core knowledge  of unlimited applicability that is self-adaptable, Self-Scalable, Stability, Self-Manageable, Easy Extensible, Self-Configurable with Unlimited Reuse.
6. SSM is used as a method of Domain Analysis, True Abstractions, Analysis and understand the software requirements that we called the problem and generates an Unlimited Solution to the problem.
 M.E. Fayad and A. Altman. “Introduction to Software Stability,” Communications of the ACM, Vol. 44, No. 9, Sept. 2001, pp. 95-98
 M.E. Fayad. “Accomplishing Software Stability,” Communications of the ACM, Vol. 45, No. 1, January 2002
 M.E. Fayad. “How to Deal with Software Stability,” Communications of the ACM, Vol. 45, No. 3, March 2002
 M.E. Fayad and S. Wu. “Merging Multiple Conventional Models in One Stable Model,” Communications of the ACM, Vol. 45, No. 9, 2002.
 Boehm, B. "A Spiral Model of Software Development and Enhancement", ACM SIGSOFT Software Engineering Notes, ACM, 11(4):14-24, August 1986
 Kyo C. Kang (Pohang University of Science and Technology), Sholom G. Cohen, Robert R. Holibaugh, James M. Perry, A. Spencer Peterson. CMU/SEI Report Number: CMU/SEI-92-SR-004. Software Engineering Institute, January 1992.
 M. E. Fayad, H. A. Sanchez, S. G .K. Hegde, A. Basia, and A. Vakil. “Software Patterns, Knowledge Maps, and Domain Analysis”. Boca Raton, FL: Auerbach Publications, Taylor & Francis Catalog #: K16540, December 2014. ISBN-13: 978-1466571433