|
Brief Summary of Truths for Real Components & Real CBD
|
|
Truth-1: There exists a set of essential properties uniquely and universally shared by each and every known physical functional component. That is, it is impossible to find a physical functional component without having the essential properties. No physical part can be a component without having the essential properties. These essential properties can be discovered (i.e. factual and unambiguous objective answer to the 2nd question in the preamble at the top of this web page).
|
|
It is possible to invent equivalent (i.e. real) software components that are having all the essential properties (or characteristics). Hence it is a flaw (or error) to define any other kind of software parts is a kind of software components – Existing software engineering paradigm and so called CBSE (Component Based Software Engineering) has been evolving since mid 1960s by relying on this kind of flawed (and baseless untested) definitions for so called software components.
|
|
Truth-2: Likewise, there exists a set of essential aspects uniquely and universally shared by each and every known CBD (Component-Based Design) of one-of-a-kind physical product (e.g. prototype of a spacecraft or experimental jet-fighters). The essential aspects can be discovered (i.e. factual and unambiguous objective answer to the 1st question). So, similar reasoning can be used to define that real-CBSD (Component Based Design for Software) must satisfy the essential aspects.
|
|
We can tie these 2 individual (or independent) discoveries to complement & support/prove each other. The fact is, except physical components, no other kind of parts can achieve real CBD. No other kind of so called software components (not having the essential properties), except real software components (having the essential properties) could be able to achieve real-CBSD (that can satisfy the essential aspects of real-CBD such as hierarchy of replaceable components). How can fake components achieve real-CBD? Can orange juice be squeezed from fake/plastic oranges?
|
|
The real software components and real-CBSD are two mutually independent discoveries that complement and support each other. For example, Kepler’s laws were extremely useful not only to make but also to support Newton’s discovery of Gravity. The discovery of gravity provided sound scientific explanation for Kepler’s laws. So Gravity and Kepler’s laws are mutually independent (i.e. stand-alone or individual) discoveries that complemented and supported (e.g. proved) each other.
|
|
Of course, each of the individual discoveries was independently supported by reality (i.e. facts, observations and empirical evidence) and/or impeccable reasoning (e.g. mathematical calculations). Likewise, real software components and real-CBSD are individually supported by reality/facts and impeccable reasoning (in this web-site). Furthermore they compliment and support (i.e. prove) each other, which is another supplementary proof or compelling reconfirmation of proof.
|
|
Those who fail to learn from history (or ignorant of history) are doomed to repeat it
|
Chronology of events for on of the most contentious and controversial scientific discovery in the history of science (that put scientific progress on right tracks leading to a huge scientific revolution by exposing a fundamental error that sidetracked scientific progress for centuries):
|
1 |
Copernicus wrote the "Commentariolus" proposing Heliocentric theory some time before 1514 (500 years ago) and circulated copies to his friends and colleagues. |
2 |
In 1533, Johann Albrecht Widmannstetter delivered a series of lectures in Rome outlining Copernicus' Heliocentric theory. |
3 |
Copernicus published the mature version in 1543 in his landmark work, De revolutionibus orbium coelestium (On the Revolutions of the Heavenly Spheres). |
4 |
Beginning in 1593, Giordano Bruno was tried for heresy (i.e. advocating Heliocentrism) by the Roman Inquisition. The Inquisition found him guilty, and in 1600 he was burned to death. |
5 |
Johannes Kepler published his first two laws about planetary motion in 1609. |
6 |
In 1610, Galileo complained in his famous letter to Kepler that the philosophers (i.e. Scientists were referred to as philosophers) who opposed his discoveries had refused even to look through his telescope (to discover light of truth):
Galileo Said: "My dear Kepler, I wish that we might laugh at the remarkable stupidity of the common herd. What do you have to say about the principal philosophers of this academy who are filled with the stubbornness of an asp and do not want to look at either the planets, the moon or the telescope, even though I have freely and deliberately offered them the opportunity a thousand times? Truly, just as the asp stops its ears, so do these philosophers shut their eyes to the light of truth." |
7 |
Galileo's writings on heliocentric model was submitted to the Roman Inquisition in 1615. |
8 |
In 1616, an Inquisitorial commission unanimously declared Heliocentrism to be "foolish and absurd in philosophy, and formally heretical since it explicitly contradicts in many places the sense of Holy Scripture".
The decree of the Congregation of the Index banned Copernicus's De Revolutionibus and other heliocentric works until correction. Bellarmine's instructions did not prohibit Galileo from discussing heliocentric-model as a mathematical fiction. |
9 |
Kepler's 3rd law was published in 1619, which is indispensable for the discovery of Gravity. |
10 |
Galileo had alienated one of his biggest and most powerful supporters, the Pope, and was called to Rome to defend his writings in September 1632. |
11 |
He finally arrived in February 1633 and was brought before inquisitor Vincenzo Maculani to be charged. The sentence of the Inquisition was delivered on June 22. |
12 |
Galileo was forced to recant his writing on Heliocentric theory under threat of death sentence. His sentence was commuted to life after Galileo agreed that "the Earth is static at the center." |
In 1533, Johann Albrecht Widmannstetter delivered a series of lectures in Rome outlining Copernicus' theory.
In 1633, (a full 100 years later), Galileo was forced to abandon Truth and agree (under a threat of death sentence) to this lie: "the Earth is static at the center". |
I am hoping software researchers learn from the dark chapters in the history of science and prevent repetition of such dark chapters in progress of computer science and software engineering, by discovering the truths. The above truths can put a stop to blindly relying on myths or fiction, to pursue this kind of alchemy in 21st century: Inventing software components for building one-of-a-kind or not yet invented software products by assembling 3rd party (COTS-Commercially Of The Shelf) reusable components, as hardware engineers design and build wide range of computer product models belong to mature and crowded computer product family (by ignoring reality).
|
|
|
The geocentric paradigm evolved from the assumption that “the Earth is static at the center”, so this assumption was seed axiom for geocentric paradigm. The heliocentric paradigm evolved from the assumption that “the Sun is at the center”, so this assumption is seed axiom for heliocentric paradigm. Existing paradigm for CBSE evolved from erroneous definitions for so called software components, so the flawed definitions are seed axiom for the existing CBSE paradigm.
|
|
Getting wrong answer to question “which planet is at center” side tracked scientific progress and resulted in a scientific crisis. The answer to such "root question" is "seed axiom" for respective paradigms. Likewise, if there exits an accurate answer to root question “what is a component (i.e. unambiguous objective description for the components)”, getting wrong answer to the root question certainly side tracks progress of CBSE paradigm and results in software engineering crisis.
|
|
Finding proofs for the following proves beyond any doubt that the existing definitions for so called software components and paradigm for so called CBSE are fundamentally flawed: Does there exist a set of essential properties (e.g. 'S' and 'R') uniquely and universally shared by each and every known physical functional component? That is, no physical part can be a physical functional component without having the essential properties and it is impossible to find a physical functional component without having the essential properties ('S' and 'R'). I could not find any evidence that any one ever even tried to find such essential properties of the physical functional component.
|
|
If it is possible to discover such essential properties for the physical functional component, why isn’t it possible to invent real software components having the essential
properties ('S' and 'R') that are logically equivalent to the physical functional component? This website provides an irrefutable proof that (i) there exists such essential properties for physical functional components, (ii) it is possible to discover the essential properties, and (iii) it is possible to invent real software components (having the essential properties)
that are capable of achieving real CBSD (CBD for Software), which is logically equivalent to the CBD of large one-of-a-kind physical products.
|
|