Respectful requesting help of experts in this noble effort for exposing Errors & Proving Facts

Wednesday, October 5, 2016

Researchers of
computer science have been refusing to use scientific methods for acquiring
knowledge essential for solving outstanding problems. For example, the infamous
software crisis is a huge problem, which could have been solved decades ago, if
researchers of computer science used scientific methods for gaining knowledge about
things such as the nature and true essence of CBD (Component Based Design) of
physical products and nature and essential properties of physical components.

The reason for
the software crisis is infamous spaghetti code. Software crisis can be solved
by eliminating such spaghetti code. The true essence of the CBD is eliminating
spaghetti code. Except design and development of software products, no other
product in the world is affected by the spaghetti code, because the designers
of physical products employ true CBD, which uses only true components. For
example, particularly design & development of new one-of-a-kind products
such as experimental spacecraft or fully tested pre-production working models
of next generation jet-fighters.

The essential
properties of physical components imply the set of properties uniquely and
universally shared by each and every known physical functional component. If
the essential properties are discovered (by using proven scientific methods),
it is a trivial task to invent real-software-components having the essential
properties, where the real-software-components are capable of achieving real
CBSD (CBD for software), where real-CBSD can eliminate software crisis by
eliminating the spaghetti code. I invented this and I can provide irrefutable
proof backed by evidence.

This proves that it is not only possible to use scientific methods
to gain essential missing parts of knowledge but also such missing knowledge is
essential for inventing solutions for each of the outstanding and unsolved
problems of software. Such missing knowledge can only be acquired by using scientific
methods. But software researchers refusing to use scientific methods by employing
frivolous arguments such as computer science can’t use scientific methods for
gaining knowledge for theoretical foundation, because computer science is a
branch of mathematics (and not a branch of science).

Even a honey-bee
can manoeuvre many times better than most advanced fighter-jets in the world. We
might build emulators for brains of many kinds of animals (as chip designers
build each ASIC to address unique problem). We might have had the capability to
emulate many kinds of such small insect or even animal intelligence and natural
instincts for years, if we used scientific methods for acquiring necessary
pieces/parts of knowledge such as discovering the nature, properties and
functioning of neurons and neural networks. Mathematical methods are not
designed and incapable of gaining such missing pieces/parts of knowledge about
nature and properties of physical things and processes/phenomena. On the other
hand, scientific methods are designed and have proven track record for acquiring
such knowledge.

The research
effort for discovering necessary pieces of knowledge for inventing
real-software-components for achieving real-CBSD, needed no costly resources,
equipment or diverse expertise (except common sense, access to internet and
rational reasoning). Of course, continuous critique of many experts prevented
my research path from deviating too far away from the reality. I am being a
software engineer since 1988, I needed no other costly resources, equipment or
diverse expertise for investigating nature and properties of physical
components/CBD for acquiring necessary BoK (Body of Knowledge) for inventing
real software components.

I have made such
simple discoveries for accumulating missing pieces/parts of Knowledge by using
scientific methods. An elaborate documentation for the BoK for real-CBSD is
openly provided in my web-site http://real-software-components.com and in my ResearchGate
account. We (i.e. http://pioneer-soft.com) built first and only GUI-platform
in the world for building real-software-components to help even junior Java
developers to practice real-COP (Component Oriented Programming) paradigm for
achieving real-CBD for software. It provides irrefutable empirical evidence to
prove that knowledge acquired using scientific methods can solve unsolved
problems.

I don’t have the
resources or expertise to make necessary observations and conduct experiments
for investigating nature, functioning and properties of neurons and neural
networks to invent natural or general intelligence (or real AI - Artificial
Intelligence). It requires a team having diverse skills and expensive equipment
for conducting experiments. But I am sure thousands of software companies and
government research organizations around the world have the necessary resourced
for assembling such teams having necessary expertise and recourses to do
research for acquiring necessary BoK for inventing real-AI (by using scientific
methods).

To invent
solutions for solving such outstanding problems, it is essential for the
researchers of computer science to acquire knowledge by using scientific
methods. Certain problems (e.g. real-CBSD, which I already invented; or real-AI,
which I don’t have resources to address) can never be invented without filling
many missing pieces of essential knowledge, which can only be acquired by using
scientific methods. But the community of software researchers have been
stubbornly refusing to use scientific methods (having proven track record) to
gain missing pieces/parts of knowledge essential for makings such inventions.
Isn’t it foolishness, if not a fraud?

Please kindly
remember this: Any real truth (e.g. discovery of objective reality/fact for
scientific or engineering BoK) can withstand even the most rigorous validation
and prevail. In fact, any real discovery of Truth/reality would shine brighter
and brighter when put under bright lights of rigorous scrutiny or validation.
But how such truth/reality can prevail if every respected researcher tries to
cover-up by using every possible excuse to hide Truth/reality in dark (by
refusing to see the evidence)?

How can we
emulate real CBD or neural networks without acquiring BoK such as nature, properties
and description for functioning (or phenomena) of such system? Mathematics is incapable of providing
such knowledge. Such knowledge can be acquired only
by using scientific methods. Isn't common sense: If one needs to draw a
picture of something, for example XYZ, doesn't he at least try to know what is
XYZ and how does XYZ look like? For example, how could anyone draw a picture
(or painting) of an elephant, without ever even seeing or without having basic
knowing, whether the elephant is a tree, animal, bird or a landmark? If one
needs to paint (or emulate) anything, shouldn't he try to know what it is and how
it works or looks like?

Summary: It is
impossible to solve certain huge unsolved software problems without acquiring missing
pieces of essential knowledge, which can only be acquired by using scientific
methods. Software researchers refusing to any use other methods (except mathematics)
for acquiring knowledge to expand the theoretical foundation in order to
facilitate software inventions for solving unsolved problems. Refusing to use
scientific methods for gaining such essential knowledge is shocking and scandalous.
How to compel researchers of computers science to use proven scientific methods
for acquiring knowledge essential for addressing unsolved problems?

Sunday, September 11, 2016

The
scientific method evolved for centuries and comprises of comprehensive
mechanisms for testing, validation or correction of any theory or assumption
(or hypothesis). The researchers of sciences use scientific method for
acquiring knowledge, which is elaborately explained in this wiki: https://en.wikipedia.org/wiki/Scientific_method

The
scientific method comprises of powerful mechanisms for validation and
correction such as falsifiability: https://en.wikipedia.org/wiki/Falsifiability.
Such mechanisms for correction or validation are extremely valuable for gaining
deeper and deeper insights and wisdom about the ultimate objective reality.

Relentless
efforts to advance each of the (scientific or engineering) disciplines, competition
between researchers, and having mechanisms for validation, whose test every
theory must withstand or fail. This would expose accepted theories or published
conclusions that are result of sloppiness, bad luck and even fraud; and swept
away by the advances of the field. In fact, we can gain more wisdom and deeper
insights from exposing such flawed theories.

The
researchers of mathematics have comprehensive mechanisms for testing,
validation or correction of any theory or assumption (or hypothesis). For
example, researchers of mathematics (or logic) rely on set of axioms to build
axiomatic systems. If there is an error in any of the axioms, the research
results lead to contradictions or inconsistencies. The axioms are corrected or
replaced to eliminate contradictions or inconsistencies. Even of the
contradictions may not detect the flawed axiom, the contradictions are a clear
indication of a flaw in one or more of the axioms (or theories or hypothesis).

Mathematical
methods (or logic) have in-built mechanisms for detecting flawed axiomatic
assumptions, theories or hypothesis. For example, if an axiom is flawed,
applying series of steps (that are strictly in complacence with established
mathematical methods) by relying on such flawed axiom sooner or later leads to
glaring contradiction or unacceptable inconsistence (e.g. such as 0 = 1). The
flawed axiom can be detected by retracing the steps (by making sure each step
is correct and strictly in complacence with established mathematical methods),
which certainly leads to the source of the contradiction or inconsistence. This
knowledge and insights are used to make necessary corrections or discord the
flawed axiom.

Computer
science can never be a real science and software engineering can never be a
real engineering, without mechanisms for correction or validation. How do we
know the validity of each of the accepted theories or published conclusions
(e.g. definitions for components, CBD or neural networks) in the BoK (Body of
Knowledge) for computers science and/or software engineering?

Unfortunately,
researchers of computer science (software) made no effort to device such
corrective mechanisms, even in cases where such corrective mechanisms are
readily available. My years of effort to propose objective facts and mechanisms
for correction or validation have been not only ignored but also I have been
snubbed and insulted.

Isn't
fraud, if mechanisms for correction or validation are ignored even when such
mechanisms for correction or validation are available (or proposed)? For
example, no error (e.g. in axiom, theory or hypothesis) can ever be detected,
if there are no mechanisms for correction or validation. If any discipline that
is not using (by choice/ignorance or it is impossible to use) scientific methods,
it is a Pseudoscience: https://en.wikipedia.org/wiki/Pseudoscience

Many
soft sciences (https://en.wikipedia.org/wiki/Hard_and_soft_science)
try to use scientific methods, even if it is not possible to strictly conform
to the scientific rigor. It may be impossible to strictly follow methods for
validation in certain disciplines. Isn't it fraud, if researchers refuse to use
any methods for validation, even such methods are available (e.g. proposed) and
possible to gain valuable knowledge for substantial advancement of the
discipline (or field)?

Monday, January 25, 2016

Progress of any
scientific discipline side tracks into a wrong path and end up is a scientific
or technological crisis, if there are errors in seed axioms of the scientific
discipline (or a branch of a scientific discipline) and researchers try to
advance the scientific discipline relying on the untested axiom by assuming
that the untested axiom is self-evident Truth.

For example, erroneous axiom “the Earth is static” side
tracked scientific progress into a wrong path for 1000 years and resulted in
one of the greatest scientific crisis known to mankind. It resulted in deeply
entrenched geocentric paradigm and conventional wisdom. Countless researchers
and philosophers wasted their life time efforts on advancing geocentric
paradigm.

The assumption
“the Earth is static” was made more than 2000 years ago. Many great ancient
philosophers such as Aristotle and Ptolemy believed that the Earth is static.
They started observing the heavens to understand the paths of planetary motions
and try to understand the nature and reasons that affecting the movement of
planets and stars. They realized that the movement of planets and starts was
not random, but definitely an inexplicable pattern (e.g. comprising of retrograde
motions and epicycles, see FIG-1 in http://real-software-components.com/more_docs/epicyles_facts.html)

This assumption (i.e.
the Earth is static) neither tested nor documented, so no one even aware that
it was untested assumption. So researchers between 500AD and 1500AD have no
idea they were wasting their efforts by going in the wrong direction and not
aware that they have no chance of making any meaningful progress. How can we
prevent repeat of this kind of huge waste in the 21st century (and
even greater lost opportunity costs)?

Many of the
researchers or scientists certainly could make substantial contribution to the
advancement of scientific and technological advancement, if the scientific
progress were not sidetracked into wrong path. Instead they end up wasting
their hard work and life time effort in a wrong path having no possibility of
making any meaning full contribution, due to the undocumented error committed by
earlier generations.

Who should be
held responsible for such huge waste of research effort? Ancient philosophers
such as Aristotle and Ptolemy for not documenting their assumption “the Earth
is static” is not yet proven? The researchers between 500AD and 1500AD, who
were trying to advance mankind’s knowledge by relying on earlier works, without
questioning and ascertaining the validity of the earlier works?

Since these
researchers wasted their effort and lost their valuable time, so I feel and they
are also victims, so must not be held responsible. I believe, any researcher
making a genuine mistake must not be blamed. If the mistakes made were genuine
(e.g. unavoidable due the best known knowledge available at that time), so it
is unfair to blame any one.

But if similar
error were to repeat in 21st century, I am sure certain researchers must
be held responsible for wasting valuable research efforts of researchers and
blocking scientific and technological progress. How any researcher would feel, if
he wastes his valuable time in the wrong path (due to the negligence of earlier
generations). They could have made major contributions, if the research is
moving in the right path? Newton
and other made significant contributions to Heliocentric model, since the error
was fixed paving the way in the right direction. But Newton and others were to
born 100 years earlier, what kind of contribution he or others could make to
geocentric model?

Isn’t it a pity,
if a great scientist or researcher end up wasting his effort in wrong path, who
could have made great contribution when invested in the right path? Imagine, if
a major scientific discipline sidetracked due to such error and ended up in a
crisis and stuck in wrong path for 3 to 4 decades. How many great scientist or researcher
could not contribute to technological progress due to the error (otherwise could
have made huge contributions).

This kind of
mistake must not be repeated in the21st century. This kind of mistake can’t
repeat, if proven scientific processes and rules are followed. Any mistake can
be acceptable, if it is genuine or done without knowing (and while not being negligent).
However certain researchers must be held responsible, if the error was made or sustained
due to their negligence. How do we define negligence? How can we determine, who
are negligent?

Isn’t it
negligent, if a scientist and researcher knowingly violates or continue to
violate proven scientific processes and rules, even after being made aware of
untested axioms at the root? Today in 21st century, can a scientist
in a position of influence plead ignorance to basic scientific processes and
rules? Can he justify violating proven scientific processes and rules by using baseless
or unsubstantiated excuses (e.g. using invalid or unproven chain of reasons)? I
feel, the researchers and scientists must accept responsibility, if they ignore
clear warnings and information (e.g. proof of violation of scientific process
or rules) due to their prejudice or by giving unsubstantiated excuses.

I feel, it is
sacred duty of any researcher and scientist to investigate Truth and strictly
fallow proven scientific process/rules. Can we accept that it is a genuine
mistake, if they ignore or evade their sacred responsibility to investigate
truth, when clear and convincing evidence is openly presented to them? Is it
acceptable, if they justify violations of basic scientific processes/rules by
giving excuses (e.g. a chine of invalid or unproven reasons)?

Mustn’t they
share the blame, if they continue promote prevailing possible flawed paradigm
by ignoring the information and evidence bring to their notice? Can they refuse
to prove the validity of untested axioms at the root of the prevailing possible
flawed paradigm? Can they refuse to investigate the evidence provided to expose
flawed axioms at the root of prevailing flawed paradigm?

If that is the
case, don’t they have obligation to also disclose the information and evidence
bring to their notice, when they are teaching the prevailing paradigm to next
generation of students or researchers (e.g. future Newtons), who might end up
wasting their future research effort? Shouldn’t they provide the information to
the students and future researchers, so that, each of the student can make
educated choice, which way he/her wish to do research?

I feel, we must
do everything to prevent the same mistake in the 1st century. It was
a genuine mistake thousand years ago. But can similar error be a genuine
mistake in the 21st century? One way to prevent repeating similar
mistake (and associated huge waste and lost opportunity costs) is to assign
blame to researchers, whose mistakes are not genuine (but negligence).

My objective is
to prevent repeat of similar mistake and waste in the 21st century. Hence
what kinds of mistakes are no longer genuine in the 21st century based
on the valuable lessons mankind learned during past 2000 years? Who should be
held responsible for similar scientific crisis in 21st century and
resultant sustained waste of the efforts of thousands of researchers and
scientists (and lost opportunity costs)? I am sure, no one wants future Newton’s
waste their life time effort for advancing Geocentric paradigm.

Thursday, November 19, 2015

What is the reality of CBD of
physical products? What is the true essence and nature of Component Based
Design? For example, what are the properties or aspects that are uniquely and
universally shared by every known design of physical products, including the
design and development of one of a kind physical products such as an
experimental spacecraft or prototype of a next generation Jet-fighter? Why
almost every software expert insists that it is impossible to invent real CBSD
(CBD for software), without even knowing what is real CBSD? Mankind designing
and building hundreds of newly invented products using CBD. For example, let’s
see an example that illustrates the reality of CBD: https://www.youtube.com/watch?v=hc5e5cYdshI

Please pay attention to 15
seconds bit starting at 1 minute 55 seconds. Let me paraphrase the 15 seconds
bit, as I understood it: Essential purpose of the real CBD or engineering is
ability to look, feel and test each component independently to tweak and optimize
individually for making each component as best as it can be. Periodically bring
the components together to build product for making sure that (a) each of them
properly collaborating with other parts, and (b) all the components are
fulfilling their respective roles as intended for proper operation of the
container product.

Let me define my understanding
of reality of true essence and essential aspect of ideal CBD: Implementing over
95% features & functionality in physical replaceable components. The term
replaceable component imply any component that can be un-plugged (or
disassembled), for example to redesign and test individually outside of the
product and re-plugged-in (or reassembled) into the container component/product.

Each replaceable component is
100% free from spaghetti code (or design), because each replaceable component
can be redesigned (e.g. even little-by-little) or refactored and tested individually
(e.g. to make it as best as it can be and/or to fit exactly and function as
expected when assembled into product) without any need for seeing even a single
line of internal code (or design) implemented for any other component or
container application/product. Over 95% of the code (or design) of the product
is free from spaghetti code, since over 95% of the features and functionality
of the application or product is implemented in such replaceable components.

Hence true essence of the CBD
is eliminating spaghetti code (or design). Over 90% of the features and
functionality of almost every known large physical product is implemented in
physical functional components, where each component is designed and refined
individually (free from spaghetti code/design). It is not necessary that even a
single large functional component in the physical product is reusable, standardized
or conformed to any component model attributed to so called software components.

Most experts insist software
is unique and/or different, without giving any valid reason or explain why and
what manner. Designers of every new product need to tweak most of the parts (i.e.
functionality and features) continuously and/or frequently until prototype is functioning
and performing as expected. So it is not unique to software products. The
difference is designers of physical products are doing the tweaks to over 90%
of the functionality and features free from spaghetti code/design. Only
designers of software unnecessarily burdened with the spaghetti code/design.

No software expert can answer
what is the true essence of CBD, but almost every one insist that real CBD for
software is impossible. Why is it not possible to achieve real CBD for
software, if real CBD for software is to implementing 90% of the functionality
and features in such replaceable components? No replaceable component (including
the necessary communication code for allowing collaboration between this component
and other parts of the application) requires more than 3 to 5 lines to plug-in
and removing the 3 to 5 lines must effectively remove the component.

It is impossible to find a
valid reason why it is not possible to achieve real CBSD. On the other hand, I
can demonstrate hundreds of replaceable components and hierarchies of
replaceable components to prove that real CBSD is possible. Almost every researcher
and scientist I contacted refuse to see proof to know the reality/Truth. Any scientific Truth/reality or engineering
invention (if it is real) can withstand rigorous validation and prevail, but
how a scientific Truth can prevail, if everyone try to ignore, try to cover-up or
evade necessary validation by giving every possible excuse?

We created the first and the
only GUI-API that is capable of creating replaceable GUI components for
building complex hierarchies of replaceable components to achieve real CBD for
software. So even junior Java programmers can achieve real CBSD for RIA (Rich
Internet Applications) with little or no help from us. Achieving real CBSD for
RIA help designers gain experience and knowledge about the innate nature and essential
properties uniquely and universally shared by each and every known physical
functional component, for example, to positively identify features and
functionality that can be implemented as equivalent replaceable software components
for achieving real CBSD for non-GUI applications as well.

Monday, November 2, 2015

Reality is immutable and never
changes. Duty of scientists is pursuit of absolute Truths for discovering the
reality (a set of Truths and laws of nature that are proven). Mankind’s perception
of reality changed many times. For example, several thousand years ago mankind
believed that the Earth is flat. Later 2000 years ago mankind believed that the
Earth is static. Until 500 years ago this flawed axiom (i.e. “The Earth is
static” considered self-evident truth) shaped our perception of reality (a
paradoxical paradigm), which was altered reality filled with retrograde motions
and epicycles.

Philosophers
had no problem accepting untested axiom (a Lie: the Earth is static) as
self-evident Truth (even though they have no evidence any one ever validated
it). But it had taken over 100 years to accept the Truth “the Sun is at the
centre”. This Truth faced huge resistance and undergone most rigorous validation.

Let
me introduce reality of CBD (Component Based Development) using a small
example. Mankind each year inventing and building 100s of new kind of products
around the world. For example, one example is trying to create artificial
kidney in this video: http://real-software-components.com/CBD/CBD_of_new_product.html.

Please kindly pay attention to
15 seconds bit starting at 1 minute 55 seconds. Let me paraphrase the 15
seconds bit, as I understood it: Essential purpose of the real component-based design
is ability to look, feel & test each component independently to optimize
individually for making each component as best as it can be. Periodically bring
the components together to build product for making sure that (a) each of them
properly collaborating with other parts, and (b) all the components are
fulfilling their respective roles as intended for proper operation of the
container product.

Please notice the reality of
CBD: There is no spaghetti code. Each component can be refined individually and
tested outside. Over 90% of the features and functionality is implemented in
such components. Any component can be refined and tested individually free from
spaghetti code. That is, without any need to see internal design or single line
of code of any other component. Hence over 90% of the design is free from
spaghetti code. Each component is custom designed to fit perfectly in just one product
model, so no component is reusable, standardized or conform to any of the so
called component models erroneously attributed to the software components.

Any true scientific fact,
concept or discovery must satisfy two conditions (1) it must not contradict the
reality we all know in the real world and (2) it can’t be falsified, while
being highly falsifiable. In light of these observations, let me define the
reality of ideal CBD (Component Based Design) for large physical products: The
reality of an ideal CBD for physical products is implementing over 90% of the
functionality and features in replaceable components, where each component can
be refined and tested individually (free from spaghetti code). The physical
product is evolved (or redesigned) by evolving (or redesigning) a set of
replaceable components.

Nether complexity nor
uniqueness (e.g. of a one of a kind product such as an experimental spacecraft or
prototype of a next generation jet-fighter) can prevent designers from
achieving 90% modularity. That is, the reality of CBS is implementing 90%
features and functionality in replaceable components, where each component is
free from spaghetti code (i.e. designer of any component never forced to see
even a single line of code implemented inside another component). It is not
necessary that even a single component in the product is replaceable,
standardized or conform to any so called component models (erroneously attributed
for software components).

Unfortunately the perception
of reality for software components and CBD for software has been shaped by
fundamentally flawed definitions and interpretation of the reality: When
Douglas McIlroy proposed building products by assembling COTS (Commercially off
the Shelf) parts as we build computers, it was just a proposal – a desire or
wishful thinking. It is not a scientific discovery (like the Sun at the
centre). There is no evidence any one ever tested its validity. But researchers
in late 1960s considered that it is a self-evident truth, and today software
researchers have been relying on this as if it is proven fact. Dr. Brad Cox
proposed software-ICs in 1980s.

Because of this altered
perception researchers completely lost their ability to even see obvious facts
and apply reason to discover the reality. It is nice to have software-ICs, but
is software-ICs possible or reality? Inventing cold fusion is nice, but can we
discover laws of nature that can make it reality? I don’t know about the cold
fusion, but I am sure that software-ICs as intended can never be a reality.

I requested many researchers to
investigate the reality. Is Software-ICs reality? Is it possible to achieve
Software-ICs for any other kind of physical product (e.g. automobiles or
Airplanes), where it is not possible to use software and applications for competitive
differentiation from competing products? The physical products such as cars
must use core components (e.g. engine, gear-box or powertrain) for competitive
differentiation from competing products.

For example, the makers or
cars, jet-fighters or other products custom design core components for
competitive differentiation. For example, even when they are relying on third
party component vendor for a component, they work closely with the component
vendor to custom design the part to perfectly fit juts one product model. For
example, Boeing works closely with Rolls Royce or Pratt and Whitney to build
custom engine. Likewise, Honda company works closely with makers of various
non-core components such as break-pads to custom build the break-pads (to
perfectly fit just one model). One can notice this kind of reality of CBD
everywhere all around us.

Software researchers argue
that software is unique, different and must undergo constantan changes. Why is
it any different from the above example for Artificial Kidney? They must also
constantly change each of the components until the whole product works. Only
difference is, they don’t have spaghetti code. That is, designer of any
component can refine and test his component individually, without being forced
to see even a single line of code implemented internally for any other
component.

Another reality is: The automobile
engineers just deal with many product models within just one product family
(automobile product family). Likewise, hardware engineers deals with many kinds
of product models within just on product family (i.e. families such as computer
or smart-phone). In software, we deal with hundreds of product families ranging
from compilers, OS, Video games to MS-Office. It is impossible to reuse core
components (e.g. engine or gear-box) for automobile product family can’t be
reused in any other product from another product family (e.g. PC or AC).
Likewise, core components for compiler product family can’t be used in any
other product from another product family such as Video games.

This kind of reality about the
CBD of physical products is everywhere all around us. All I am asking is to
investigate such simple and obvious facts to discover the reality. Isn’t is
obvious that it is impossible to achieve Software-ICs, where it is not possible
to use OS and applications for competitive differentiation? Can we invent COTS
that allow us to build new products (e.g. Artificial Kidney) that is not yet
invented? Is such COTS (e.g. Software-ICs) for not yet invented physical
products or that can be readily reusable across hundreds of families of
physical products?

Often, designing each new
software product is more like inventing a new physical product such as designing
one of a kind spacecraft. It is desirable to eliminate the spaghetti code,
because the features and functionality must be constantly changed until each of
the components and the whole product satisfies the unique and exact
requirements. Furthermore, this product must be changed many time in the future
to make each successive release. Over 90% of the cost, time and complexity can
be eliminated for making large changes by eliminating the spaghetti code.

What is the reason for spaghetti
code, even one need to satisfy unique and exact needs by iteratively changing each
of the parts little-by-little (e.g. see Artificial Kidney)? Nothing in the
reality of CBD for physical products can prevent software designers from
implementing 90% of the features and functionality is replaceable components
for achieving real CBD for software. Unfortunately every software expert
insists that it is impossible to achieve real CBD, without knowing what it is.

How can anyone insist
something is impossible, without knowing absolutely nothing and clueless about
it? It is impossible to find evidence that any one even ever tried to
investigate, what is the true essence of CBD for physical products, such as
what is the most useful and striking aspect that is uniquely and universally
shared by every known design of large CBD product in the world.

In other words, what are the
striking aspects that are unique to the CBD of physical products and
universally shared not only by the designers of product models of mature
product families (e.g. automobiles) and countless models of crowded product
families (e.g. smart-phones), but also the designers of one-of-a-kind product
models such as an experimental spacecraft, prototype of next generation
jet-fighter or a new kind of fuel-cell or nuclear powered locomotive. It is
impossible to find any evidence that any one ever even tried to investigate for
answers to this question. But every one insists it is impossible to achieve
real CBD for software, without even knowing what it is. Also most of them
bluntly refusing to even know what it is.

I am sure, it is possible to
achieve the goal of implementing 90% of the features and functionality in
replaceable components for any software application. I am openly offering first
GUI library that allow anyone to create real software components for achieving
real CBD for software. The experience and insights gained while building GUI
applications by assembling real software components help software designers
discover the truth by experiencing reality. Also I believe, this reality will
be more useful than software-ICs, especially for building large software
applications.

How do we know and mankind
proved, the axiom “the Earth is static” is wrong and the axiom “the Sun is at
centre” is correct? Because the second axiom helped us to make subsequent
discoveries that include Universal gravity and Newton’s three laws of motion.
The three laws of Kepler and Universal gravity with the help of Calculus
allowed mankind to create a consistent mathematical model.

These and many other
unexpected discoveries (e.g. discovery of the Pluto due to inexplicable perturbations
in the orbit of Uranus) conclusively proved that our understanding of reality
is progressing on the right path. Of course, many other discoveries such as Theory
of relativity shaping our understanding of reality, which hopefully taking our
understanding closer and closer to the absolute Truth.

In software, we need to
discover reality to define the realistic goals. Achieving Software-ICs is not
realistic. On the other hand, it is impossible to find a valid reason why it is
not possible to achieve 90% modularity. Today not even 10% of the features and
functionality of any large software application is modularized as the way real
physical functional components modularize the design of that large physical
products.

Wednesday, August 12, 2015

In real science, anything not
having conclusive proof must be considered as no more than an assumption. A
real proof requires irrefutable rational reasoning backed by predictable and repeatable empirical evidence.

The
root cause of one of the most famous scientific crisis resulted from evolving mankind’s
knowledge by relying on flawed untested assumption ‘the Earth is static at the centre’.
This axiom or postulation was considered self-evident fact needs no proof. No
one considered that it is an assumption and no one consciously aware (and could
have named it ) that this axiom was at the root of mankind’s perception of
reality (i.e. About 500 years ago, this reality was a complex paradoxical paradigm
comprising countless concepts backed by meticulously documented retrograde
motions and epicycles constructed for over 1000 years).

Of
course, root cause was untested and unproven axiom “The Earth Was Static at the
Centre”, which was widely accepted as self-evident Truth 2000 years ago. Can
this kind of thing happen in 21st century? Of course, I am sure there
could be other such scientific crises in existence even in 21st century?
Many experts feel that this kind of thing can’t happen today, because mankind’s
scientific knowledge, processes and expertise advanced substantially during
past 500 years. I disagree.

I
discovered such root cause for scientific crisis in the field of computer science.
An important sub-field of computer science is CBSE (Component Based Software Engineering).
At the root of CBSE there exists such axioms or postulations, which were
considered self-evident Truths 50 years ago (so required no proof or even documenting
for future generations to know for validation). That is, 50 years back software
researchers assumed that it is impossible to invent real-software-components equivalent
to the physical functional components for achieving real CBSD (Component Based
Software Design for Software Products), where real CBSD must be equivalent to
the CBD of physical products (e.g. one–of-a-kind experimental jet fighter or prototype
of a spacecraft).

It
was a reasonable assumption when leading edge programming languages were
assembly languages and FORTRAN. Structured programming languages were a distant
dream. Things like Object-Oriented Programming languages and GUI components
(that are more conducive for real-CBSD) were beyond imagination. So they
started using the term ‘software components’ as an alias to useful software
parts. In other words, they defined each kind of software components is a kind
software parts either having certain useful properties (e.g. reusable or standardised)
or conform to a so called software model.

Today
no one even aware of the root cause (e.g. axioms) for such definitions for
software components. Today if you ask any one, why do we need many different
and strange descriptions for software components and CBD for software products,
they give excuses such as software is unique and/or different, without giving
any proof or justification for why and what manner software design is deferent from
the design of one–of-a-kind products such as experimental jet fighter or prototype
of a spacecraft.

Why
can’t we invent software components that are equivalent to the physical functional
components for achieving real CBSD, where real CBSD is equivalent to the
physical products?

To
invent real software components (that are equivalent to the physical functional
components) requires discovering (i) accurate description for the physical
functional components and (ii) accurate description CBD of physical products
(e.g. for achieving the real CBSD that is equivalent to the CBD of physical
products). Best way for defining an accurate description for any physical being
(e.g. a specie) is by finding a set of essential properties uniquely and
universally shared by each and every specimen belong to the specie (e.g. to positively
identify each of the specimen, weather the specimen belongs the specie or not).
Likewise, accurate description for CBD of physical products requires finding
essential aspects uniquely and universally shared the CBD of each and every
known physical product.

Many
experts come up with strange excuses, when I ask why we can’t invent that software
components that are equivalent to the physical functional components by
discovering the essential properties of the physical functional components.
Mankind’s scientific knowledge comprises accurate descriptions for countless complex
and physical beings or species that are 20 time more complex than physical
functional components, such as in fields ranging from biology, zoology or
scientific discipline of microbiology such as virology, mycology, parasitology,
and bacteriology. They insist that it is impossible to find such essential
properties for physical functional components, without ever trying or showing
any evidence that any one ever tried.

If one deeply investigates the
root cause of each of the scientific crises, he end up finding a hidden flawed axiom
at its root, which in past considered self-evident truth and no one ever tried
to validate. Seeds for a scientific crisis would be sowed when researchers pick
an axiom based on their senses or instincts, without either documenting or
finding valid scientific proof. Mankind followed their collective senses, when
they assumed that the Earth is static. Researchers followed their then
collective instinct, when they defined each kind of useful software parts are a
kind of software components. It was beyond their wildest imagination 50 years
ago that it might be possible to invent software components that are equivalent
to the physical functional components for achieving real-CBSD, where real-CBSD
is equivalent the CBD of physical products. Even structured programming was
distant possibility 50 years ago and Object oriented programming and GUI
library was not even contemplated.

This paper provides the root
causes for any scientific crisis. This also provided a proof that kind of error
could possible even in the 21st century. It is the responsibility of
the research community to investigate the Truth, if any lone researchers discovers
a root axiom and no one can find any evidence that the root axiom was
validated. Insulting or snubbing the lone researcher for questioning the
validity of such axioms is not called for and unbecoming of a scientist or researcher.
In real science, no axiom is self-evident Truth until the axiom is tested and
validated.

Who discovered that ‘’the
Earth is static’? Ans: No one. There is
no proof and no one tried to proof it. Who discovered that the Sun is at the centre?
Ans: Copernicus. Who discovered any kind of useful parts is a kind of
component? And: No One. They why researchers have been blindly defending the so
called software components?

Sunday, June 7, 2015

Is it a blasphemy to ask respected researchers to
discover objective facts about the quintessential nature of the large physical
functional components (e.g. essential properties uniquely and universally
shared by each and every known physical functional component) and essential
aspects uniquely and universally shared by any CBD (Component Based Design) for
one of a kind physical products such as building a working prototype of a next
generation Jet-fighter, nuclear powered locomotive engine or spacecraft?

It is shameful and scandalous that even in 21st
century modern scientific and engineering disciplines (originated just about 50
years ago from mid 20th century) are rooted in myths, wishful
thinking and fantasies (e.g. that forced researchers to practice 21st
century alchemy).

Mankind believed until 500 year ago that “the Earth
is static (at the center)”. Mankind evolved a complex paradox (altered reality)
for thousands of years by relying on this unproven myth (e.g. by considering
that it is an inalienable Truth).

Which planet is at the center? Who made the great
discovery “the Earth is static”? Who verified this discovery, before accepting and
relying on it as an inalienable Truth for advancing the mankind’s knowledge for
1000 years? No one asked this simple question: Is there any proof to show that
“the Earth is static”?

Who discovered software parts having useful
properties (e.g. reusable or standardized) are real components for software for
achieving real CBD (Component Based Design) for software products? Obviously
this is in clear contradiction to our knowledge facts and the reality we know
about the physical functional components and CBD of new and one of a kind
physical products (e.g. experimental spacecraft and prototype of a next
generation jet fighter).

But no one asked this simple question such as: Is
there any proof to show that it is a Truth before relying on this myth and
wasting several decades? What are physical functional components (e.g. what are
the essential properties uniquely and universally shared by each and every
known physical functional component)? What is CBD for physical products (e.g. what
are the essential aspects uniquely and universally shared by each and every
known CBD of physical products)?

Any one ever proved that it is impossible to find
such properties/aspects? If the answer is no, any one ever proved that it is
impossible to invent true software components (having the essential properties)
equivalent to the physical functional components? To prove that such newly
invented components are real, they must be able to achieve real CBSD (CBD for
software products), where the real CBSD must share the essential aspects of real
CBD for physical products?

Today it is even impossible to find any one even ever
tried to discover such properties/aspects. When computer science was in infancy
50 years ago, a committee decided that reusable software parts are software
components (without any basis and reality). The committee set the goal for the
CBSE is to build software products by assembling reusable components from 3rd
party component vendors as mankind has been building the computers by assembling
COTS (Commercially Off The Shelf) components by ignoring the countless
realities. For example, computer engineers deal with just one product family
(i.e. computers) and use software for competitive differentiation, while
software engineers need to deal with numerous and ever expanding product
families such as OSs, compilers, Games, MS-Office, ERP or browsers etc.

Mankind wasted many centuries by relying on untested
myth that “the Earth is static”. We all know that, no one proved that it is
‘the Earth is static’. It was just a myth originated thousands of years ago and
passed on to each of the successive generations.

Mankind already wasted few decades by relying on
hidden untested and undocumented myths by using baseless excuses such as
software is unique and/or different. How many more decades mankind can afford
to waste by relying on such baseless myths created in the formative years of
computer science and passed on to each of the successive generation of
researchers, who are forced to practice 21st century alchemy?

Is it possible to invent reusable (i.e. COTS)
physical functional components for build not yet invented or new one of a kind
physical product by assembling such COTS? Then how is it possible to invent
such software components to build software products for ever expanding software
product families? Isn’t it equivalent to the 21st century alchemy?

The discovery that “the Sun is at the center”
resulted in a radically different reality, which comprising countless concepts
that are in clear contradiction (e.g. diagonally opposite) to previously
undisputed geocentric paradox. Now we know that it was foolish to use widely
accepted concepts of geocentric paradox to discredit the Truths that were basis
for then fledgling new heliocentric paradigm.

Likewise discovery of Truth (e.g. the essential
properties/aspects) would result in a new radically different reality, which
would comprise of countless concepts that will be in clear contradiction (e.g.
diagonally opposite) to existing undisputed CBSE paradox. It is foolish to use
widely accepted concepts of existing CBSE paradox to discredit the Truths that
are at the root of fledgling paradigm that can be evolved by relying on the
Truths.

Since the existing CBSE paradox evolved from myths
(e.g. such as it is impossible to invent real software components equivalent to
the physical functional components), no concept of the existing CBSE paradigm
can be used to contradict the Truths (if the truths are in contradiction to the
myths at the root of the existing CBSE paradox). It is an invalid circular
logic to use the concepts of the existing CBSE paradox to defend the myths at
the root of the existing CBSE paradox (e.g. to discredit the Truths of new
proposed fledgling paradigm).

Galileo Galilee … I do not feel obliged to believe
that the same God who has endowed us with sense, reason, and intellect has
intended us to forgo their use.

Computer science needs scientists not yet forgo sense,
reason, and intellect. How and where can I find such experts? I can understand
why the 16th century scientists believed that the “Earth is static”.
Because they lived all their life on the Earth and not only themselves but many
generations found no reason to suspect that “the Earth is moving (around any
planet)”. But what reasons software researchers have to blindly defend the
myths conceived 50 years ago about the software components and CBSE. Many
experts not only blindly following the myths but also ferociously defending the
myths conceived 50 years ago, even though countless concepts related to the
software components and CBSE are in clear contradiction to the reality we know
about the physical functional components and CBD of physical products.