Dear Friends,
Trying to advance any scientific or
technological discipline by relying on unproven belief (even if the belief is
perceived to be a self-evident truth), is a well-established violation of
scientific processes, principles or rules. Software researchers have been
trying to advance CBSD (Component Based Software Design) for 50 years by
relying on such unproven beliefs, myths or fantasy. That is, existing flawed
CBSD paradigm is rooted in unproven beliefs (that were perceived to be
self-evident facts 50 years ago) and has been evolving for 50 years, without
knowing or realizing the huge violation of basic scientific processes, principles
or rules. That is, existing CBSD paradox (i.e. flawed of perception of altered
reality) is result of over 45 years of passionate hard work and efforts of tens
of thousands of researchers at any time.
Any scientific or technological
research diverts into a wrong path (away from right path), as soon as it relies
on a flawed belief (e.g. by erroneously assuming it to be an accurate fact).
The well-established scientific principles and process forbids any real
scientist from ever relying on a belief (e.g. an assumption), except for
theoretical experimentation and exploration to see if the path leads a useful
discovery. Hence it is absolutely essential to document any belief (that the
belief is just an assumption, that is not yet proven), until the belief is
proven to be a fact beyond any doubt.
If and when the belief is proven to
be a demonstrable and repeatable fact, the proof must be clearly documented, so
that the proof can be independently validated and could be falsified, if the
fact is flawed. Anything that is not proven beyond any reasonable doubt must be
treated and clearly documented as a belief. No belief can be treated as a fact
until the proof is provided openly and independently validated. The proof must
be in open domain for anyone to validate or to falsify. Such proven belief may
be considered as a fact only as long as the proof cannot be falsified by
anyone.
Most of the definitions and/or
concepts at the root of existing CBSD paradigm are made out of thin air, based
on wishful thinking and pure fantasy, such as, building software products by
assembling COTS (Commercially Of The Shelf) components from third party component
vendors, as computer hardware engineers design and build computers by using
standardised reusable ICs (e.g. CPU or DRAM) and other parts such as Hard
Drive, CD-player or network-card etc. It is a pure fantasy and fiction, in
light of reality and design of any other physical products (e.g. cars or
airplanes), which can’t be competitively differentiated by using software OS
and applications: http://real-software-components.com/CBD/main-differences.html
The researchers violated the basic
scientific principles and rules by relying on beliefs. If they considered that
the beliefs are facts, they violated the scientific process and principles by
not documenting the proof, so that others can validate the proof independently.
Also allows the future generations to falsify the proof, if and when new
discoveries or technological advancements make it possible to invalidate the
proof. In real science, it is impossible to find any widely accepted fact
having no proof. That is, it is not a real science, if it relies on unproven
belief, which were considered to be a fact (without having well documented
proof, which is open for independent validation). Anyone who can’t understand
this very simple reasoning or basic scientific principles or processes is not a
real scientist. It is not wrong to rely on beliefs, but it is violation of
scientific process to not clearly documenting the beliefs as assumptions.
I am sure any good collage student
of science can understand this logic. I have no idea, why the most brilliant
computer scientists have problem accepting these facts and logic. Instead they
feel that it is a heresy, if I mention that it is wrong violate such basic well
established scientific processes, principles and proven rules.
Isn’t it the stupidest violation in
history of science, many times stupider than the flawed belief that was lead to
the geocentric paradigm? It is not hard to understand why mankind few 1000
years ago concluded that “the Earth is static” is a fact. But how any one can
possible understand the foolish definitions at the root of CBSD such as
reusable and/or standardised parts are components, and using such fake
components is CBSD.
As per these foolish definitions, parts
equivalent to highly standardised and reusable ingredient parts such as 53
grade cement, TMT steal, paint, plastic, metals, silicon wafers or alloys are
components (and using them to build houses is CBD). On the other hand, software
parts equivalent to the highly customised components (that are neither reusable
nor standardised) used in designing and building one-of-a-kind physical
products (e.g. prototype of a next generation jet-fighter or experimental spacecraft)
are not components, and using such parts is not CBD. Isn’t it these beliefs (that
are at the root of existing CBSD paradigm) many times more foolish than the 2000
years old belief “the Earth is static”?
The belief “the Earth is static” evolved
for 1000 years into a complex altered perception of reality depicted by FIG-1 –
doesn’t it look like a huge spaghetti code? The FIG-4 depicts the exiting
perception of reality described by Kepler’s laws – So simple and elegant
(compared to FIG-1): http://real-software-components.com/more_docs/epicyles_facts.html.
Existing CBSD paradigm evolving for
nearly 50 years by relying of flawed beliefs and it looks 10 times uglier than the
FIG-1. When the flaw at the root of existing CBSD is exposed by using facts,
real CBD for software will be simple and elegant as illustrated by FIG-2 at: http://real-software-components.com/CBD/CBD-structure.html
and FIG-4 at: http://real-software-components.com/CBD/City_GIS.html
Best Regards,
Raju Chiluvuri