Saturday, April 4, 2015

An irrefutable proof to show that the existing CBSD is a paradoxical paradigm resulted from relying on undocumented flawed assumptions.


In real science, anything not having proof (or not proven) is an assumption and such assumptions must be documented before relying on them to create definitions/concepts. Progress of any scientific discipline would be sidetracked into a wrong path and end up in a crisis, if there are errors in basic assumptions and if researchers relied on such erroneous assumptions for creating definitions or concepts and for advancing any scientific filed by relying on such definitions or concepts. No meaningful scientific progress is possible until the scientific progress is put on right path by exposing errors in such basic assumptions.

Why CBSD (Component Based Design) for software needs different and new description (i.e. definitions and/or essential properties) for software components and CBSD? These new and different description, properties, and concepts for so called software components and CBD for software products are in clear contradiction to the reality (i.e. facts, concepts and observations) we know about the physical functional components and CBD of large physical products (having at least a dozen physical functional components).

There exists no proof to show that any effort was ever made to discover reality about the physical functional component and CBD of physical products before creating the definitions and concepts for so called software components and concepts. The definitions and concepts at the root of existing CBSD (Component Based Design for Software) were made up out of thin air, without documenting the reasons or first principles (i.e. assumptions) that compelled to create such definitions and concepts that are in contradiction to the reality.

When I inquired for reasons, I heard many unsubstantiated assumptions, such as software is unique/different and/or it is impossible to invent real-software-components that are equivalent to the physical functional components (by discovering accurate description for the physical functional components and inventing real software components that satisfy the accurate description). In real science, anything not proven is an assumption and such assumptions must be documented before relying on them to create definitions/concepts. No text book for introducing software component or CBSE/CBSD listed such assumptions. No research paper or publication listed such assumption at the root of existing CBSD paradigm, which has been evolving for nearly 45 years by relying on such unsubstantiated definitions and concepts made out of thin air..

When any scientific discipline was in infancy, researchers are forced to make assumptions. For example, assumption "the Earth is flat" was a reasonable assumption 4 to 5 thousand years ago. Likewise, the assumption "the Earth is static" was a reasonable assumption 2000 years ago. But documenting such assumptions would avoid huge pain and suffering such as: http://real-software-components.com/forum_blogs/BriefSummaryOfTruths.html#Chronology. It is not hard to prove that, if the error at the root of geocentric model was not yet exposed, no meaningful scientific progress would have possible during past 500 years. As science and our knowledge expends, we can create tools to validate such assumptions, if they are documented and well-known.

All I am saying is, it is not wrong to make assumptions but it is wrong to not-knowing and forgetting (e.g. by not documenting) the assumptions at the root of our scientific knowledge, such as concepts and definitions for software components/CBSD. In real science, any thing that can’t be proved is an assumption. It is an error to rely on any such unproven assumption (without clearly documenting the assumptions) to derive concepts or definitions.

For discussion sake, let’s assume that the basic assumption was: “it is impossible to discover a set of essential properties uniquely and universally shared by each and every large physical functional component for inventing equivalent software components (having the essential properties)”.

This is highly falsifiable first principle (i.e. basic assumption at the root of software components and existing paradigm for CBSD), so it can be (and must be) proved false, if this basic assumption is flawed.

Likewise, if the assumption was: “it is impossible to invent a set of essential aspects uniquely and universally shared by each and every CBD of large physical product for achieving equivalent CBD for software products (having the essential aspects)”.

This is highly falsifiable first principle (i.e. assumption), so it can be proved false, if it is flawed. May be such assumptions could not be proved wrong (when such assumption was made and relied up on) 50 years ago, but they could be proved wrong when technology advances sufficiently for validating each such assumptions in the future (if such undocumented assumptions are flawed).

All I am saying is, it is wrong to NOT document such assumptions before relying on such assumptions for making up definitions for so called software components (out of thin air without any basic in reality, but based on wishful thinking). If there are errors in such undocumented first principles (i.e. basic assumptions), they sidetrack the scientific progress into a wrong path and scientific discipline end up in paradox.

If such assumptions were documented, I am sure 1000 researchers would have proved each of them wrong in past 50 years. But toady no one even know the assumptions to prove them wrong, if they are wrong. Such unsubstantiated assumptions were completely disappeared from our collective consciousness to even question their validity in light of technological and scientific advancements.

For example, this kind of assumption (i.e. it is impossible to discover such essential properties for the physical functional components) contradicts almost every thing mankind knows today. Let me define a universal rule: There exists an accurate description (e.g. a set of essential properties) for every known kind of a physical being or specie and the accurate description (e.g. a set of essential properties) can be used to positively identify each specimen belong to the being or specie. That is, the essential properties for any kind of physical being or specie can be used to positively determine weather a given specimen belongs to the physical being or specie.

Physical functional components can’t be an exception to this universal rule, since it is impossible to find any exception to this universal rule: It is possible to find an accurate description (e.g. essential properties) for each and every kind of a physical being or specie. Mankind’s scientific knowledge comprises accurate descriptions (e.g. essential properties) for millions of physical beings or species. There are millions examples to prove this universal rule, but impossible to find an exception to this universal rule (e.g. to falsify this rule). Every scientific discipline comprises accurate descriptions (e.g. often defined by a set of essential properties) for physical beings or species (to positively identify each specimen belong to respective kind of being or specie).

For example, isn’t essential for the field of zoology to acquire and accumulate the knowledge of accurate description for animals? Isn’t essential for the field of botany to acquire and accumulate the knowledge of accurate description for plants? The same is true for various sub-fields of microbiology such as virology, mycology, parasitology, and bacteriology. Likewise, accumulating knowledge of accurate description of atoms, molecules, compounds or elements is an essential for each sub-field of chemistry such as organic, inorganic or bio chemistry. No proof exists to show that the physical functional components are exception to this universal rule. It is impossible to find any one ever even tried to prove that the physical functional components are exception to this universal rule.

Once the set of essential properties uniquely and universally shared by each and every physical functional component is discovered, why is it not possible to invent equivalent software components having the essential properties? Although we can’t articulate the essential properties of the physical functional components, when any physical functional component is shown, it is not hard for any expert to positively identifying that it is a physical functional component. Likewise, it is not hard for any expert to positively identifying that it is not a physical functional component, if he is shown any other kind of physical part (that is not physical functional component).

This expertise of positively determine any given physical part whether it is a physical functional component or not a physical functional component, can be leveraged to discover essential properties uniquely and universally shared by each and every large physical functional component. Once the essential properties are discovered, it is a trivial task to invent real software components having the essential properties for achieving real CBSD, where the real CBSD must share the essential aspects uniquely and universally shared by each and every known CBD of large physical product (having at least a dozen physical functional components).

In fact, I can help any engineering expert or researcher to discover the essential properties uniquely and universally shared by each and every known large physical functional component. Likewise, I can help any engineering expert or researcher to discover the essential aspects uniquely and universally shared by CBD of any physical product (having at least a dozen physical functional components). It must not take more than couple of weeks to train any expert to gain this kind of expertise for positively identifying multiple real software components (equivalent to the physical functional components by having the essential properties) in any software application for achieving real CBSD (equivalent to the CBD of physical products by sharing the essential aspects).

Both teachers and books teaching concepts and definitions of so called software components and CBSE to impressionable students by forcing the students to learn definitions either to pass the exams or solve problems using the definitions and concepts. Without having proof, if it is right path or wrong path, we are pushing the impressionable students to well traveled (but wrong) path. Instead of teaching them (i.e. brain washing them),

We must ask impressionable students to investigate truth, instead of brainwashing then and pushing them into wrong path by teaching flawed definitions and concepts (derived by relying on undocumented assumptions). Please kindly read this interesting article, how reality can be distorted: https://www.psychologytoday.com/blog/pieces-mind/201208/few-the-many-ways-we-distort-reality. One can find so many examples that show, how reality can be distorted and end up in a paradox.

After graduation and gaining 10 years hands on experience on so called software components and CBSE (living in paradox of such distorted reality), obviously any CBSE expert thinks I am crazy (arrogant or disrespectful) for saying reality/facts such as, ideal CBD requires over 97% code must be implemented as CBD-structure (free from spaghetti code), but it is not necessary that even a single large component in the hierarchy need to have any properties we erroneously attributed to so called software components.


No comments:

Post a Comment