The Art of Abstractions “How-To” for Unified Robotic Systems
M.E. Fayad, PhD
Full Professor and Entrepreneur
Computer Engineering Department
Charles W. Davidson College of Engineering
San José State University
One Washington Square, San José, CA 95192-0180
(408) 924-7364 (phone)
(408) 924-4153 (fax)
Pacific Southwest Consulting Group, Inc.
2909 E. Hermosa Vista Dr., Mesa, AZ 85213
(480) 540-3282 (phone)
Every field of knowledge depends on ABSTRACTIONS. Currently we are doing very poorly on abstraction process and the type of abstractions because it is based mostly on tangibility and ignoring other type of abstractions. 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.
This tutorial uses and illustrates SSM for “How-To” generate unified abstractions for robotic systems with the following properties: Self-Adaptable, Self-Scalable, Stability, Self-Manageable, Easy Extensible, Self-Configurable with Unlimited Applicability and Reuse [7, 8, 9]: 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.
- Overview of Software Stability Model (SSM)
- Illustrate 3 types of abstractions based SSM
- “How-To” to develop Unified and Stable “Systems of Patterns” with many examples
- “How-To” Unified true and understandable requirements
- “How-To” to identify unified non-functional requirements of any abstraction
- Using Knowledge Maps, Stable Analysis Patterns, Stable Design Patterns, and “Unified Software Architecture on-Demand”
The advantages of SSM
- 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
- SSM creates products and components that machine and platform independent
- SSM creates unlimited reuse of unified software architectures on Demand (USA on-Demand).
- SSM generates assets that stable over time and have high return on investments.
- SSM represents the core knowledge [7, 8, 9] of unlimited applicability that is self-adaptable, Self-Scalable, Stability, Self-Manageable, Easy Extensible, Self-Configurable with Unlimited Reuse.
- 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.
A Pamphlet of 40-50+ pages will be submitted upon acceptance and will handed to the participants which contains this summary, lecture notes, 4 columns, and 2 short papers.
Target audience (introductory, intermediate, or advanced): All
- 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
- M. E. Fayad. “Stable Analysis Patterns for Software and Systems” Boca Raton, FL: Auerbach Publications, Taylor & Francis Catalog #: K24627, May 2017. ISBN-13: 978-1-4987-0274-4
- M. E. Fayad. “Stable Design Patterns for Software and Systems” Boca Raton, FL: Auerbach Publications, Taylor & Francis Catalog #: K24656, September 2017. ISBN-13: 978-1-4987-0330-7