Today there exists many kinds of software components, where each software component is nothing but a kind of software parts either having a given set of useful properties (e.g. reusable or standardized) or conforming to a so called component models. Likewise, there exist many kinds CBSD (Component Based Design for Software), where each kind of CBSD is blindly defined as using one or more so called software components. To get genuine orange juice one must squeeze the juice from the real oranges. Likewise, a genuine CBSD require using real software components.
The definitions for so called software components exist today have no basis in reality/fact. In fact, many of the concepts for so called software components are in contradiction to the reality. For example, in the physical world, many kinds of physical parts (e.g. ingredient parts such as cement, steel, plastic, alloys or silicon) are highly standardized and reusable across many product families, but they are not components. And using such fake components (e.g. ingredient parts) is not CBD (Component Based Design).
Why software researchers choose to define properties of software components without ever even trying to investigate the reality? May be software researchers assumed that it is impossible to invent real software components (e.g. software is different or unique), 50 years ago when they were developing software in assembly language or FORTRAN. But are such assumptions still valid?
Today mankind is building complex one-of-a-kind physical products (e.g. experimental spacecraft, supercomputers or an experimental jet-fighter) by assembling components (as an hierarchy of replaceable components – that is free from spaghetti code). It is not necessary that even a single large functional component in the hierarchy to have any of the properties erroneously attributed to the so called software components. What are the properties that are enabling the physical functional components such CBD-structure http://real-software-components.com/CBD/CBD-structure.html, which eliminating the cognitive dissonance for each of the components (i.e. allowing to redesign each component free from spaghetti code)?
Over 97% of the features and functionality of each of these complex physical products are implemented in the components, where designer of each of the large functional component can disassemble his component and redesign the component (and test it) individually outside of the product, without ever seeing even a single line of code (i.e. internal design) of any other component. That is, design of each component is 100% free from cognitive dissonance (i.e. spaghetti code). Likewise, nearly 97% of the design of the product is free from spaghetti code (i.e. cognitive dissonance), since 97% of the functionality and features are implemented in the components (i.e. the product left with bare frame/skeleton, if all the components are disassembled, one component at a time).
These are some of the irrefutable facts (and reality) about the physical functional components and CBD of physical products. Is there any valid reason that forced the design of software products from this reality? What are the ‘first principles’ at the root that forced the researchers to deviate from this reality? They may be valid 50 years ago (when FORTRN is the leading language), but are the still valid?
It is not impossible to prove that, there exists one and only one accurate description (i.e. absolute Truth) for the physical functional components. Even if it is not possible to discover the absolute Truth (i.e. accurate description), it is certainly possible to discover an accurate description (that is close enough to the absolute Truth) for the physical functional components. My research effort spanning years resulted in discovery of an accurate description (that is close enough to absolute Truth for most of the practical purposes) comprising a set of essential properties uniquely and universally shared by each and every physical functional component known to mankind.
Henceforth the term ‘real-software-components’ implies a very special and unique kind of software parts (or modules) that are equivalent to the physical functional components by having the essential properties, where the essential properties (or characteristics) means the set of essential properties uniquely and universally shared by each and every known physical functional components.
It is not impossible to prove that, there exists one and only one accurate description (i.e. absolute Truth) for the CBD of the physical products. Even if it is not possible to discover the absolute Truth (i.e. accurate description), it is possible to discover an accurate description (that is close enough to the absolute Truth) for the CBD of the physical products. My research effort spanning years resulted in discovery of an accurate description (that is close enough to absolute Truth for most of the practical purposes) comprising a set of essential aspects uniquely and universally shared by each and every CBD of the physical products known to mankind.
Henceforth real CBSD (CBD for software products) implies a special and unique kind of CBSE/CBSD that is equivalent to the CBD of physical products by having the essential aspects, where the essential aspects means the set of essential aspects uniquely and universally shared by each and every known CBD of physical products.
Just like mankind’s scientific knowledge about many of the physical beings (or spices) and phenomena, each of the above accurate descriptions can be iteratively improved to advance our knowledge about the physical functional components and the CBD physical products closer and closer to absolute Truths.
I believe, the assumptions (made 50 years ago) that resulted in the existing definitions (or descriptions) for so called software components and so called CBSE are fundamentally flawed. That is, they are no longer valid. If I am right, one should know the consequences of not investigating the Truth at: https://www.researchgate.net/publication/271854739_What_is_at_stake_if_one_of_the_first_principles_is_fundamentally_flawed
https://www.researchgate.net/post/How_many_experts_researchers_know_answer_and_or_agree_with_my_answer_to_this_question_What_is_the_greatest_scientific_contribution_of_Copernicus
Article What is at stake, if one of the first principles is fundamen...