banner banner  
 

Abstract (The Mission of this Website)

The primary mission of this website is (i) to prove that there exits a factual and unambiguous objective answer to each of the following 2 important questions and (ii) to help scientists of computer science and researchers of software engineering discover the answers (i.e. the Truths).
1 What is CBD (Component-Based Design) for complex physical products?
2 What are the essential properties uniquely and universally shared by the physical functional components (e.g. what are the properties that are essential for the physical functional components for achieving such real CBD)?
The answers (i.e. Truths) to above questions exposes one of the greatest errors committed by mankind since discovering the Truth that the Sun (and not the Earth) at center 500 years ago. The flawed assumption (i.e. the Earth is static) sidetracked and derailed scientific progress for centuries (until the error was exposed by discovering the Truth). The discovery of Truth (i.e. the Sun is at center) put scientific progress on right tracks, leading to one of the greatest scientific revolutions.
After discovering the answers to the above questions, it is not hard to invent real software components (having the essential properties) for achieving real-CBSD (CBD for complex software applications), where real-CBSD is equivalent to the CBD of complex one-of-a-kind physical products. We can demonstrate real software components that are capable of achieving the real CBSD, which provides irrefutable empirical evidence for exposing the fundamental flaws in the existing knowledge and deeply entrenched conventional wisdom of existing software engineering paradigm.
Existing software engineering paradigm has been evolving since 1960s by relying on flawed and baseless definitions and concepts for so called software components and so called CBSE (Component-Based Software Engineering). Today there exist many kinds of so called software components, where each kind of software components is nothing but a kind of software parts either (a) havening a given set of properties (e.g. reusable or standardized), or (b) conforming to a so called component model. Any of the existing definitions for software components absolutely have no basis in reality or fact. Then each kind of CBSE is blindly defined as using one or more kinds of so called components. These flawed assumptions sidetracked computer science and software engineering for decades, which is no different from the flawed assumption “the Earth is static at center” sidetracked progress of basic sciences for centuries (until error was exposed by discovering Truth).
Discovering the truth (i.e. the Sun is at the center) 500 years ago exposed error in the root axiomatic assumption (i.e. the Earth is static center) of then deeply entrenched geocentric-paradigm, which was a paradoxical conventional wisdom comprising an intricate web (or matrix) of interdependent concepts and observations such as retrograde motions and epicycles. It required the most contentious and complex Gestalt shift (in the history of science) to replace old intricate web of concepts (evolved from a lie) by a new intricate web of concepts (evolved from Truth). Likewise, discovering the truth (i.e. essential properties uniquely and universally shared by the physical functional components) exposes error in the baseless definitions for the existing so called software components (i.e. because no part can be a component without having the essential properties).

How could greatest minds of software engineering accepted flawed definitions such as any kind of parts (e.g. just because they are reusable or standardized) is a kind of software components and using such so called components is a kind of CBSE? Don’t we (i.e. mankind) know the reality about, what the physical components are, and what is CBD for the physical products? Since mid 1960s, software researchers defined many kinds of software components (without any basis in reality/fact, & no one ever tried to discover truth/reality), and none of the known so called software components are equivalent to the physical functional components for achieving real-CBSD.

Using fake physical components is not CBD for physical products. Except components, no other kind of physical parts (e.g. steel, cement, plastic, metals, alloys or silicon wafers that are highly standardized and reused across many product families) are capable of achieving component hierarchy. Likewise, it is a huge error to define CBSE is using so called software components, which is kind of like defining flopping fake wings is flying. Relying on the flawed assumption “the Earth is static” sidetracked scientific progress for centuries. Likewise, relying on flawed definitions for software components and CBSE sidetracked the progress of software engineering for decades.

 
1. Background for our discoveries & Objectives
Today software engineering and computer science is moving in a wrong direction (by relying on flawed scientific concepts/facts and knowledge). Our mission is putting the progress of computer science and software engineering on the right tracks by exposing huge errors in the basic concepts. Making a small step in right direction is scientific progress. Slowing the momentum in wrong direction is scientific progress. Stopping momentum in wrong direction is a huge scientific accomplishment (e.g. helping few researchers make even small step in right direction can lead to scientific revolution). That is what Copernicus did by discovering the Truth, which resulted in reversing the momentum from geocentric to hiliocentric paradigm, so the greatest scientific revolution is known as Copernican revolution. All Copernican did was to make few scientists take small steps in the right direction.
1 Wrong direction: existing untested definitions for software components are made out of thin air. It is impossible to find any evidence that the definitions are not made out of thin air.
2 Right direction: discovering the reality/truth about the physical functional components and CBD of complex one-of-a-kind physical products for deriving definitions of software components and concepts for CBD of software by relying on the truths and by applying reason and logic.
Every useful concept and invention of engineering or applied science (i.e. engineering, chemical, pharmaceutical, medical, biotechnology or biological inventions) known to mankind is rooted in scientific facts/reality. The knowledge of scientific facts and reality forms the foundation to the inventions and concepts of engineering and applied sciences. Each engineering invention or concept is derived from a set of facts (i.e. selected from a large and increasing base of scientific knowledge) by applying sound reasoning and logic. No such invention could work and any engineering concept (or invention) ends up in crisis (or flawed), if there are errors in any one of the facts and reasoning or logic. Except software engineering, it is impossible to find any discipline of engineering or applied science relying on untested definitions or concepts that are made out of thin air (after year 1900).
The untested definitions for software components made out of thin air are:
1 Each kind of software part or module either having certain characteristics (e.g. reusable or standardized etc.) or conform to a so called component model is defined as a kind of a software component.
2 Using one or more kinds of such so called software components is defined as a kind of CBD for software.
The exiting definitions for so called software components and CBSD have no basis in realty. Hence they are pseudo-facts and relying on them inevitably results in a paradox & a pseudo-reality. The researchers of software engineering have been relying on the erroneous definition (by assuming the pseudo-facts are proven facts) for over 45 years for advancing the software engineering.
If researchers of any discipline rely on pseudo facts (or pseudo reality) for advancing any science or engineering discipline, the discipline centrally ends up as pseudo-science or pseudo-engineering (i.e. a paradox of altered perception of reality). It is impossible to find even a single exception to this rule in the history of any discipline of science or engineering since year 1900.
Therefore there is no wonder, software development (i.e. computer science and software engineering) ended up in crisis? It would be the first scientific miracle, if computer science and software engineering were not ended up as pseudo-science and pseudo-engineering respectfully.
Just because no one questioned or suspected the validity of definitions of so called software components for nearly half century, in my humble opinion, the definitions can’t be considered well-founded reality? If that is the yardstick, the premise "the Earth is static at the center" was considered a well-founded reality for nearly 2000 years. If there are errors in any definitions or axioms, any concept derived by relying on the definitions/axioms can't be considered a valid concept. The software engineering is stagnated for decades because it was sidetracked into wrong direction due to the erroneous definitions for software components.
I am sure, almost every researcher would agree with me to a very high degree (that my discoveries are in the right direction to reverse the momentum from wrong direction), if he acquires tacit knowledge about reality such as the nature and essential properties of physical functional components and sufficient practice in identifying equivalent software components (by having the essential properties). Of course, there will be always a huge room for improvements in the right direction.
Please let me explain, what I meant by ‘researchers would agree with me to high degree’: Kepler agreed with Copernicus to a very high degree for making a step in the right direction. Newton agreed with Kepler’s laws and Galileo’s experiments to make a big step in the right direction. Einstein agreed with Newton to very high degree for making another big step in the right direction. That is, Newton discovered the facts closer to the truths (in the right direction), and Einstein advanced the facts (in the right direction) further closer to absolute truths (and there is still huge room for improvement, even today).
On the other hand, Copernicus opposed the geocentric model to very high degree. Copernicus’s discovery of heliocentric model is still a reality. Kepler’s laws are still a reality. Gravity is still a reality (a big step in the right direction), and Einstein provided a better explanation (another big step in the right direction). Yet mankind is very far from discovering absolute truth (e.g. singularity), so there is still huge room improvement. On the other hand geocentric model is no longer a reality, and research effort relying on geocentric model only pushed concepts and reality further and further away from truths (in the wrong direction). That is, research effort relying on pseudo-facts/reality sidetracks momentum into wrong direction and applying brute force to advance in the wrong direction only pushes further away from reality/facts (results in stagnation and scientific crisis).
 
2.  Basis for Our Discoveries: Brief Statement on Primary Mission of this Website
It is a huge error to blindly rely on any unsubstantiated seed postulation for advancing any scientific or technological field, since scientific progress would be derailed, if there is an error in such unsubstantiated seed postulation. Until the error is exposed, no meaningful scientific progress would be possible (even if it takes decades or even centuries to expose the error). For example, the axiomatic assumption that “the Earth is static at the center (or Geocentric-model)” derailed scientific progress for centuries, and exposing this error in this seed postulation resulted in one of the greatest scientific revolutions (and first ever most complex Kuhnian paradigm shift), which transformed the basic science from pseudo-science (based on unsubstantiated axiomatic assumptions or postulations & myths) to real science (based of facts & reason).
There is a huge error in seed postulations of computer science and software engineering, but it is impossible to find any evidence that any one ever even suspected such possible error (simple proof even for a high school graduate). The primary objective is to make the researchers and experts aware of such error (which already cost trillions of dollars to the world economy), which obviously makes the researchers realize the paramount importance of substantiating each and every seed postulations, that logically results in exposing each of the errors leading to scientific and technological revolutions in computer science and software engineering (which would be first most complex Kuhnian paradigm shift), for example, transforming computer science from pseudo-science (based on baseless assumptions or postulations & excuses/myths) to real science (based of facts & reason).
Let’s summarize Software Engineering’s Horrific Record (known as software crisis):
According to 1995 studies, the US alone spend over $250 billion/year on developing IT applications
1   $81 billion spent on canceled software
2   31% of projects fail to complete
3   53% of projects cost 189% over estimates
4   16% come in on time & within budget - (9% in large companies/projects!)
5   Cost of bugs $59.5 billion to end users in 2000 (According to NIST.gov)
The worldwide lost-opportunity costs are not measurable, but could be in Trillions of dollars.
The above statistics were collected from respected organizations. For example, the last item is from respected US government organizations for standards. The data was not projections but highly reliable statistical measurement of losses in previous years based on a very large set of valid data points, so they are more reliable than future projections. But data is 12 to 18 years old respectively, and software is more complex today and the size of worldwide software industry for software products, IT applications and services is over a trillion dollars today.

"You cannot teach a man anything;
you can only help him discover it in himself.”
--- Galileo Galilee

The primary objective is to humbly request and help scientists of computer science and software engineering researchers to investigate and discover truths (and hidden errors). The truth shall prevail, if enough competent experts (e.g. heroes of our field having intellectual curiosity, true love and passion for our beloved computer science) aware of possible error, and decided to validate each of the unsubstantiated basic postulations on their own. This website has compressive collection of substantiated facts, observations, dozens of GUI-applications (i.e. real CBD-applications) created as hierarchies of replaceable real-software-component (conclusive empirical evidence) and sound reasoning accumulated for over a decade of my passionate research, which would be invaluable for any researcher or scientist to investigate and discover truths quickly & easily on his own.
We believe, there are two kinds of enemies to open honest exchange of ideas and debates, which are essential for scientific progress. We don’t want to be one of such kinds, who publicly clime a discovery and use excuses to hide the scientific proof. Hence one or more WebPages in this website provides irrefutable proof for each of the basic aspects (e.g. facts, observations and concepts) essential for exposing the error. Depending on the background of the readers, our comprehensive proof for each of the aspects could err on the side of either too much or too little. That is, some readers might feel each proof is too long and boring, while others may feel little short or incomplete. Considering the wide range expertise and background of target readers, we decided to err on the side of too long.
Any Scientific & Technological Process & Progress Requires 2 Essential Steps:
Step-1: Basic scientific research for discovering irrefutable facts (having no error); and
Step-2: Engineering research to invent useful things by relying on the facts discovered in step-1.
It is impossible to make a successful invention by relying on erroneous facts. Unfortunately software researchers ignored the essential first-step by blindly relying on unsubstantiated axiomatic assumptions (having errors) as facts for inventing useful things in step-2.
Exposing errors in seed postulations of computer science shall have far reaching implications on software engineering. It is a huge error to expect an apple tree by erroneously planting seed of any other tree. Any set of assumptions, decisions, goals & paths chosen (e.g. parts of genetic DNA) by any field in its early formative years determine outcomes (including success or failure). Such axiomatic assumptions that are at the root & basis (i.e. still part of basic DNA) of any mature paradigm referred to as “seed postulations”. For example, a goal chosen in formative years during mid 1960s of software engineering was: building software as we build computers by assembling reusable components from third party vendors. Even a quick analysis of obvious facts & simple observations conclusively prove that it is impossible to achieve such a fantasy.
Each goal chosen must maximize benefits (based on facts/reality), but not an impossible fantasy. So, we chose a goal of achieving hierarchy of replaceable real-software-components (i.e. CBD-structure) by using custom RSCCs (Replaceable Self-Contented Components), where the CBD-structure is an essential aspect uniquely & universally shared by CBD (Component-Based Design) of any known physical product built by assembling real-components. Also, we discovered that 'Replaceability' and 'Self-Contained' are essential properties that are uniquely & universally shared by each and every physical functional-component, so RSCCs (Replaceable Self-Contented Components) are logically equivalent to the real physical functional-components. After creating hundreds of such hierarchies of RSCCs (i.e. real- software- components), we can’t find any valid reason for, why any complex and even one-of-a-kind software can't achieve the CBD-structure.

3.   Basis for Our Inventions: Real Component-Based Design (CBD) for Software

Almost every software expert agrees that designers and developers of large software products experiencing unique set of problems and complexity, which are not experienced by designers and developers of any other large complex and/or unique/one-of-a-kind physical products such as experimental jet-fighters, supercomputers or spacecrafts, even if each of the complex one-of-a-kind physical products is 10 to 100 times complex. These unique set of problems being endured by the software designers and developers, where the problems are popularly known as software crisis.
It is impossible to find a valid reason why designers of complex software products alone must experience such complexity (i.e. software crisis). It is an error to assume that designing software products is unique and different without investigating and finding valid reasons, why and what manner (or aspects) the designing of software products is different. This must be accomplished by objectively analyzing known facts and easily verifiable observations about the real physical components and real CBD (Component Based Design) of the physical products (that are built by assembling physical components, & such products are referred to as CBD-products).
Although there are few differences (e.g. in needs and motives) between the software products and physical CBD-products, absolutely there is no valid reason why it is not possible to invent real software components (that are equivalent to the real physical components) for achieving the real CBSD (CBD for Software) for securing comparable benefits, where the real CBSD is equivalent to the CBD of physical products (for securing equivalent benifits).
What is Real CBD (Component Based Design)?
What are real Components for Achieving the Real CBD?

The objective of this web-site is to help software researchers/experts in discovering the accurate answers to the above 2 absolutely essential questions (with respect to the physical products). Discovering these objective facts about to the physical components and CBD of physical products not only expose errors in the basic seed postulations of software engineering but also immensely helpful in inventing equivalent real software components and real CBSD.

“All truths are easy to understand once they are discovered;
the point is to discover them.”
--- Galileo Galilee

Today there are so many misconceptions and errors in the basic concepts of software components and CBD for software, which were injected 45 years ago (when computer science was in its infancy - kindly investigate brief history of software components). It is an irrefutable fact and an error: Today the term ‘software components’ is used as a synonym to the much broader term ‘many kinds of useful software part’, where software parts of each kind is defined by a given set of properties (i.e. each of the software parts of the kind must have the properties).
Kindly allow me to illustrate the obvious error using a simple analogy: The ‘dog’ is a specific kind of ‘pet’, so isn’t it an error to use the term ‘dog’ as a synonym to much broader term ‘pet’ (that includes many kinds of pets including a specific kind of pet – ‘dog’). Toady, if one goes to any large trade show, exhibition for the software components or reads best selling books on CBSD, he can find many kinds of useful software parts, except the real-software-components (i.e. essential for achieving the real-CBSD). It was like going to trade show or exhibition for 'dogs' and finding about 45 kinds of cute pets (e.g. birds, cats or fish), except the dogs. Of course, each kind of pet may be cute and fun in a specific manner, but it doesn’t change the fact that none of them are dogs (if one wants a pet that loves unconditionally and is friendly, playful and intelligent).
It is a fact that, no other kind of pet can be a dog. The fact is, except a very special kind of physical parts (referred to as components) having certain unique properties (by innate nature), no other kind of physical parts can achieve real-CBD. No other kind of physical-part (no matter how useful it is) can be a component for achieving the real-CBD. It is an error to assume any other kind of software part can be a component. We must invent real software components by discovering unique properties (that are uniquely and universally shared by each & every physical component) to offer specific benefits (only the physical components have for achieving the real-CBD). Today no other existing/known kind of software parts (wrongly referred to as software components) can offer the benefits (that are innate or essential nature of the real components).
At any time, since 1970, tens of thousands of scientists and engineers of computer science and software engineering have been working hard with passion to advance this field, without ever even doubting or trying to validate the erroneous assumptions made in 1960s (without realizing that term ‘software components’ is erroneously used as a synonym to ‘certain kinds of software parts’). The passionate hard work (e.g. brute force) to advance the field spanning 45 years resulted in the evolution of a paradigm comprising complex ecosystem of overlapping layers of matrices of interdependent concepts, where the paradigm and its concepts deeply entrenched in to collective wisdom/conscious of scientists and researchers over the decades.
It is impossible to find evidence that any one else ever expressed doubts on the validity of the erroneous seed postulations (i.e. certain kinds of useful software-modules are components) of this complex paradigm. Understandable (but erroneously) each new generation of researchers depended on works and concepts of earlier well established paradigm to advance software engineering. If there are errors in seed premise (or postulations) of a scientific field and scientists apply brute force to advance the field without detecting the errors for decades, the scientific field end up creating a complex paradox comprising many epicycles and retrograde motion.
Many known facts or observations about the physical components and CBD of physical products contradict most of the existing concepts related to the software components and CBSD. Today software experts and scientists justify these contradictions by erroneously insisting that software is different or unique, without ever even investigating to find why or what manner they are different. Many pages in the website provide evidence to expose one or more errors.
It is very important to notice that, none of the facts and observations about the physical components or CBD of physical products presented in this website are new (or unknown) in the context of physical CBD-products, for example, to find accurate answers for the two basic questions in the preamble of our website. I am sure, any product design expert or engineer must already know most of the facts and observations, and rest (if any) can be easily confirmed by conducting simple enquiry or investigation in the context of the physical CBD-products.
It is impossible for any expert to deny the fact that today the term ‘software components’ is used as a synonym to ‘certain kinds of useful parts’, except giving baseless excuses to deny/defend this error. Isn’t it an obvious error, especially in light of irrefutable proofs in this website to prove 2 basic Truths or Facts: (1) It is possible to discover accurate description, which comprising a unique set of properties that are uniquely and universally shared by each and every physical component, & (2) It is possible to invent real software components that are equivalent to physical components (i.e. to achieve real-CBD for software by having the unique set of properties).
Any competent engineer of any basic engineering or scientist of any basic sciences must not have any problem validating the facts, reasoning and proof in this website. It is not necessary to know any thing else about software or computer science, except a firm confirmation about the known descriptions or definitions for many kinds of software components and CBSD exist today. It is impossible to find any evidence that any one else ever questioned validity of the baseless definitions, which are seed postulations of the existing paradigm. This paradigm have been evolving for decades, resulting in creating network of numerous interdependent seminal works and widely accepted concepts by relying on unsubstantiated axiomatic assumptions  (having errors) as facts, which are deeply entrenched into the collective wisdom/conscious of scientists & researchers.
   
  Leading the Software Engineering Revolution
Copy Right © 2013 SPPS Systems Pvt.Ltd. All Rights Reserved.
This Website presents patented and patent-pending Inventions and Discoveries