Sunday, March 20, 2016

How to expose flawed seed axioms at the root of deeply entrenched geocentric paradigms exist in any scientific discipline even in the 21st century?


More than 2000 years ago mankind justifiably concluded that “the Earth is static (at the center)” is a self-evident fact. For the next 1500 years mankind’s knowledge evolved by relying on this so called self-evident fact. This resulted in a deeply entrenched complex paradoxical paradigm, which later named as geocentric paradigm. The resultant conventional wisdom (supported by countless concepts and observations) and perception of reality is illustrated by the figure-1 in: http://real-software-components.com/more_docs/epicyles_facts.html

How to expose the flawed seed causes for such paradoxical paradigms, If such deeply entrenched paradoxical paradigm exist in any scientific discipline even in the 21st century?

Let me illustrate causes for such paradoxical paradigm using a real example: Software researchers concluded 50 years (during 1960s) that software is unique and different is a self-evident fact. That may be justifiable conclusion at that time, when assembly language is widely used programming language and FORTRAN was leading-edge programming language.

Based on this conclusion (i.e. so called self-evident fact), few researchers proposed definitions for software components without any basis in reality or fact, but based on their desire to increase re-usability. The tacit implications (or assumptions) of above conclusions (i.e. so called self-evident facts) include, tacit belief such as (i) it is impossible to invent real-software-components that are equivalent to the physical functional components, even if it were possible to discover accurate description (i.e. essential properties) for the physical functional components and (ii) it is impossible to achieve real CBSD (Component Based Design for Software), where real-CBSD is equivalent to the CBD of the physical products, even if it is possible to discover accurate description (i.e. essential aspect) of the CBD of physical products.

During the 1970s, thousands of software researchers started researching to invent so called software components around the world by relying on the so called self-evident facts, which resulted in countless research publications and concepts. During the 1980s, tens of thousands of researcher try to advance our knowledge by relying on the widely accepted concepts and observations (e.g. including experience reports). Likewise, tens of thousands of researcher around the world published countless research papers for concepts and experience reports during each of the successive decades (e.g. last decade of 20th century, first decade of 21st century).

Saying the truth “the Sun is at the center” offended then deeply entrenched common sense 500 years ago. It was impossible to find even single concept or observation that supports the Truth, while one could find countless concepts and observations to either to support the lie “the Earth is static” or to discredit the Truth. The chronology of events illustrate the complexity and highly hostile environment existed to expose such error at the root: http://real-software-components.com/forum_blogs/BriefSummaryOfTruths.html#Chronology. How any one can expose the error in the seed axioms (i.e. concluded to be self-evident facts) at the root of any such paradoxical paradigm?

All the greatest minds (e.g. Newton, Max Plank or Einstein) born during past 400 years couldn’t have made any lasting meaningful contribution to the mankind’s scientific knowledge, if the error at the root of geocentric paradigm were not exposed. It is impossible to make any other kind of meaningful contribution to the geocentric paradigm (even to the greatest scientists and philosophers), except validating and/or discovering the erroneous untested and undocumented tacit assumption (i.e. the earth is static) at the root of the geocentric paradigm.

Trying to advance any such paradoxical paradigm is huge waste of time and fool’s errand. Only lasting contribution, one could possibly make is exposing the error at the root of such paradoxical paradigm. But unfortunately each of the researchers in the scientific discipline must have made many contributions such as many researcher papers and observations/experience reports. I am sure they have used impeccable reasoning and sound logic to derive each of the concepts and observations proposed in the research papers. Even the retrograde motions and epicycles are irrefutable facts, if the Earth is static. Any one can observe the retrograde motions by standing on so called static Earth, but now we know what went wrong. For example, each of the research papers published in 21st century relied on and referred to countless research papers widely accepted in the 20th century.

The figure-4 illustrates the existing perception of reality, which is heliocentric paradigm. But any concept or observation in the heliocentric paradigm contradicted dozens of widely accepter concepts and observations of geocentric paradigm. Hence it makes it impossible to have any productive debate or discussion, if the researchers are not willing to look at the facts objectively with open mind. It is impossible to see the Truth form the prism of geocentric paradigm.

Only question 500 years ago is, which planet is at the center? Likewise, the questions now must be: (1) Is it possible to discover essential properties uniquely and universally shared by each and every known physical functional components? (1) Is it possible to discover essential aspects uniquely and universally shared by each and every known CBD of physical products? If answers are yes, why is it not possible to invent real-software-components that are equivalent to the physical functional components (by sharing the essential properties) for achieving real CBSD, which is equivalent to the real CBD of physical products (by sharing the essential aspects)?

Sorry for long background. I feel, one must understand the seed causes for creation and process of evolution of complex paradoxical paradigm to answer my question. Saying “the Sun at the center” offended common sense. Today saying, many researchers feel offended, when I say that the definitions for so called software components have no basis in reality/facts and flawed. Many experts refuse even talk to me, but few who may be kind enough to talk to me insist that, I must refer to long list of papers published during past 30 years.

Others insist that I must read books such as “The Structure of Scientific Revolutions” by Thomas Kuhn, or “What Is This Thing Called Science?” by Alan Chalmers. Although I read many of such books and research papers, do I need to know the contents of all the books on philosophy of science and research papers on software components ever published to say that the seed axiom was never tested and validated?

Best Regards,

Raju Chiluvuri

Saturday, November 28, 2015

If computer science is not real science, can researchers of computer science/engineering pretended to be scientists/engineers?

  
Software researchers are blinded by their prejudice and confirmation bias. They refuse to consider the possibility that definitions based on their flawed assumptions about the essential property and nature of the physical components might be wrong (e.g. nature of components is not reuse). One can even convince a devote priest, a possibility that there is no God. But one can’t make software researchers to see the obvious reality and investigate Truth: http://www.researchgate.net/publication/284167768_What_is_true_essence_of_Component_Based_Design

I contacted hundreds of researchers and they used every possible excuse in the world to avoid their obligations and sacred duty, which is to investigate the Truth and Reality. Pursuit of absolute truth is not only an obligation of real scientists but also a sacred duty. They made up their mind and not open to rational reason or investigating Reality. Simply they are refusing to know reality to investigate Truth. This is how members of any cult behave.

It would send shockwaves across research community of any mature scientific disciplines, if one of the basic discoveries or axioms (considered to be self-evident fact) at the root of a major sub-discipline of any mature scientific disciplines has never been tested and might be flawed. The software researchers justify their relying on untested axiom by saying that the computer science is not real science and/or software engineering is not real engineering. If that is true, why do they pretend that they are scientists, researchers and/or engineers? Instead of blocking the progress of knowledge, they must have integrity to allow real scientists to investigate the reality. If computer science is a religion they must be priests. If computer science is a cult they must be cult leaders.

Even the basic sciences were not real science until a flawed axiom (considered to be self-evident fact) at the root was exposed. Saying that the Sun is at the center (500 years ago) offended common sense and deeply entrenched conventional wisdom. The philosophers (scientists referred to as philosophers) blinded by their prejudice and confirmation bias, choose to impression Galileo for life rather than investigate reality by looking through his telescope.

If the philosophers were wrong (i.e. a cult) for relying on untested axiom (i.e. the Earth is static) until 500 years ago, software researchers and scientists were also a cult for relying on axiom that were never tested. No one can name, who discovered and who proved the definitions for so called software components and CBSE. If I am wrong, where can I find the documentation for the proof? Defending and relying on untested axioms (by insisting the axiom is self-evident Truth requires no validation) is not science but a cult.

History proved that no real science can ever be created by relying of an untested flawed myth (by concluding that the myth is self-evident truth requires no validation). How any one can pretend to be scientists/researchers, if they insist that there is nothing wrong in relying on untested fundamentally flawed axiom for advancing the our knowledge (e.g. when there is no evidence exists to show any one ever validated the axiom)? Furthermore almost every one admits that existing concepts and definitions for CBSE contradict reality we know about the physical components and CBD of physical products.

Mankind already wasted 30 years by relying untested axiom (i.e. myth) and willing to waste rest of their life by relying on the myth rather than investigate the Truth and Reality. If this kind of flaw is discovered in basic sciences such as physics or botany, wouldn’t it send a shockwaves? Unfortunately software researchers justify this by saying computer science is not a real science and yet they consider them selves scientists and researchers.

How can they consider themselves scientists and engineers, if they insist computer science is not real science and software engineering is not real engineering? If computer science is real science, can they rely on untested myth (by insisting that it is self-evident fact that needs no validation)?  Don’t they need to have an irrefutable proof for the basic facts on which they have been relying for advancement of knowledge? If the basic fact on which they have been relying is flawed, isn’t every concept derived most likely be flawed?

They made up their mind and not open to rational reason or investigating Reality. This is how members of any cult behave.  Not only they are wasting their time by relying on untested myth, they are teaching the myth (as if it is self-evident Truth) to brainwash impressionable students to expand the cult. If one ready to accept software is not real science/engineering rather than investigate Truth, how can he consider himself a scientist/researcher?

Can any real scientist ignore reality and continue to rely on unproven myths (by refusing to investigate reality), even after acknowledging that the myths were never validated, and has no basis in reality but in fact contradict reality? http://real-software-components.blogspot.in/2015/11/each-researcher-has-obligation-to-know.html

Best Regards,

Raju Chiluvuri

Wednesday, October 21, 2015

How to explain simple facts to the smartest researchers or scientists, who are brainwashed or deeply influenced by conformational bias?


It reminds me Will Smith’s dialogue in iRobot (smartest dumb person), when an expert refuses to verify simple fact that contradicts his paradoxical paradigm, where the fact is otherwise simple and obvious to even a layman.

How can any one say some thing is impossible without ever even trying or even knowing what it is? No software researcher knows the answer to a simple question (i.e. what is CBD) and yet blindly insists that it is impossible, without ever even trying to know what it is (that he is insisting is impossible). How could any one conclude that it is impossible without ever even trying?

The question is: What is meant by the CBD (Component Based Design) for the large physical products? That is, what is the true essence of the CBD? For example, what are the striking aspects or characteristics uniquely and universally shared by each and every known CBD (Component Based Design) of large physical products?

In other words, what are the striking aspects 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. cell-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.

In software, we deal with 100s of product families ranging from compilers, OSs, Word, Spreadsheets, Games, Browsers, RDBMS, Hadoop, search engines, PDF and ERP etc. The design of most software products is more like designing of one of a kind product such as an prototype of an experimental jet-fighter rather than the design of a model in a crowded product family such as cell-phone, where software (e.g. OS and apps) are used for competitive differentiation but not the core components (e.g. DRAM, Screens or Flash memory).

Even in mature and crowded product families such as automobiles, the core components (e.g. engine or gear-box) are custom designed for each model for competitive differentiation. A mature product family means, first model of the product invented decades ago, while crowded product family means, hundreds of new models belong to the product family is under design by dozens of product makers each year.

Let me define “what is real CBD” (e.g. true essence and striking aspects): Implementing about 90% of the features and functionality in replaceable components (i.e. real functional components), where each component can be disassembled to redesign it individually and test it outside of the product. Once the component is made as best as it can be, it can be re-assembled to make sure it fits perfectly and performs as expected.

Every year mankind is trying to invent and design 100s of new kinds of physical products. Kindly allow me to give a simple example for real CBD. Please watch this short 3 minute video either at: http://www.real-software-components.com/CBD/CBD_of_new_product.html or at you tube https://www.youtube.com/watch?v=hc5e5cYdshI – This shows the reality of CBD of physical products, where no core component is reusable or standardized.

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 engineering is ability to look, feel and 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 fit perfectly and properly collaborating with other parts, and (b) all the components are fulfilling their respective roles as intended for proper operation of the container product.

Designer of no physical functional component needs to deal with spaghetti code/design, because it can be disassembled for redesigning to make it “as best as it can be” (e.g. refining little-by-little by finding and fixing its shortcomings) and testing it individually. Designer of no physical component needs to deal with spaghetti code, because he is never forced to see even a single line of code implemented within any other part. Each and every large physical product is free from spaghetti code, because 95% of the features & functionality is implemented in such replaceable components, which are free from spaghetti code.

Therefore, the striking aspect of the CBD of physical products is – no spaghetti code/design – about 90% of the features and functionality is implemented in replaceable components, where a replaceable component means a component that can be disassembled for redesigning it individually and re-assembled after testing in outside of the product.

Therefore, a real CBD for software can be defined as: implementing over 90% of the features and functionality in replaceable components (or real software components that are equivalent to the physical functional components). How can we invent real software components that are capable of achieving real CBD for software? One way is to discover the sticking characteristics uniquely and universally shared by each and every known physical functional component. Unfortunately every software researcher insisting that it is impossible to achieve real CBSD by refusing to learn the simple truth, which is otherwise obvious.

The software researchers have been pursuing fantasy and goals that are impossible to achieve such as software-ICs, reusable or standardized components for 50 years. Designers of no physical product achieved the goal such as software-ICs, except computers and cell-phones because they are using not the core components (e.g. CPU or DRAM) but the software (e.g. OS and apps) for competitive differentiation. How do they imagine that it is possible to build software by assembling COTS (Commercially off the Shelf) components, when designers of no other physical product (where software can’t be used for competitive differentiation) ever achieved such fantasy?

On the other hand, no large physical product failed to achieve real CBD, where real CBD can be defined as, implementing over 90% of the features and functionality in replaceable components. Either complexity or uniqueness (e.g. such as one-of-a-kind prototype of a spaceship or a new kind of experimental jet-fighter) can’t prevent the designers from achieving the real CBD. Each replaceable component is free from spaghetti code, because it can be disassembled to redesign individually and test it independently outside of the product. Since 90% of the design/code is implemented in such components, over 90% of the code/design is free from spaghetti code/design.

Many experts insist that it is impossible to achieve real CBD for software, without ever even trying. In fact, no one even knows or ever heard what real CBD is, but blindly insists that it is impossible. No one ever tried to define what real CBD is or try to achieve real CBD for software. If they tried, they would have achieved within a short time. If anyone disagrees, I respectfully request him to show me proof, if any one ever even tried to define what is meant by CBD for the physical products, for example, what is the true essence and essential aspects uniquely and universally shared by design of any known large physical product.

The DEMO pages in our website (e.g. www.pioneer-soft.com) demonstrates many real-software-components and sample applications, if they want to see the proof that it is possible to achieve real CBD for software. In fact, any one can create real-software-components and hierarchies of replaceable components using our GUI library. And yet many researchers refusing to verify the proof, by insisting that it is impossible to achieve real CBD for software.

The software researchers erroneously concluded decades ago that CBD is using reusable or standardized components and pursued wrong goals such as software-ICs for many decades, but not seceded and will never succeed. So they concluded that it is impossible to invent real CBD for software. Now they are not only insisting that it is impossible to achieve real CBD but also refusing to know the truth about the real CBD (i.e. accurate definition for real CBD).

The well known and irrefutable fact is, for real CBD (e.g. of the artificial kidney or an experimental spaceship), it is not necessary that even a single functional component is reusable, standardized or conforming to any so called component models attributed to so called software components. Their own conformational bias is preventing them from seeing even such simple facts, which are otherwise obvious to even the laymen.

Isn’t it a classic example for extremely smart expert behaving like a dumb person? How can I get through him and make him validate the truth – physical evidence. We can provide any help he needs to build hierarchies of replaceable components (e.g. http://www.real-software-components.com/CBD/City_GIS.html) on his own to experience the truth firsthand. I made this offer countless times to hundreds of researchers.

Let me conclude this long post by quoting Galileo’s famous letter to Kepler:  "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."

            I can’t understand, why smartest and accomplished scientists and researchers even in 20th century, behaving not much differently from the principle philosophers (i.e. scientists were referred to as philosophers) in the dark ages.

Best Regards,

Raju

Tuesday, July 28, 2015

Why Software Engineering & Computer Science ended up in Crisis


            Software researchers and Scientists forgot a simple scientific fact/rule: In real science, anything not proven is an assumption. When any scientific field is in infancy, researchers have no choice but to make few educated assumptions (e.g. first principles). The researchers and scientists rely on such assumptions for advancing makings knowledge. Unfortunately the scientific progress side-tracks and derails (i.e. end up in crisis sooner or later), if there are fundamental errors in the first principles (or assumptions) at the root of the scientific field.

It is essential to document the assumptions to avoid or minimize the harm caused by such first principles that are fundamentally flawed. Unfortunately computer science and software engineering has such fundamentally flawed assumptions at the root. It is not wrong to make assumptions 50 years ago (when software engineering was in infancy) and rely on such assumptions to advance our knowledge. But it is wrong and violation of scientific process/principles to rely on such undocumented or unknown assumptions.

I am sure thousands of researchers would have exposed such fundamentally flawed assumptions, if the assumptions at the root of software engineering were documented. For example, there are many baseless assumptions at the root of software engineering such as software components are different or unique. and it is impossible to invent software components that are equivalent to the physical functional components (by having essential properties uniquely and universally shared by each and every known physical functional component) for achieving real CBSD (CBD for software), where real CBSD is equivalent to the CBD (Component Based Design) of one-of-a-kind physical products (e.g. an experimental jet-fighter or prototype of a new kind of spacecraft).

For example, 500 years ago it was considered blasphemy to question validity of then undocumented assumption ‘the Earth is static’. Mankind relied on this undocumented assumption for centuries and created a complex paradoxical paradigm (i.e. altered perception of reality), and over the period this assumption at the root and the paradoxical paradigm deeply entrenched into the collective wisdom of mankind.

Today it is considered arrogant and disrespectful to question the validity of the definitions for so called software components and so called CBSD/CBSE. Mankind relied on such undocumented fundamentally flawed assumption for half-a-century and created a complex paradoxical paradigm (i.e. altered perception of reality), and over the period this assumption at the root and the paradoxical paradigm deeply entrenched into the collective wisdom of software researchers. Not documenting such untested assumptions is tantamount to considering them to be inalienable laws of nature, which would become impossible to question over time as they deeply entrenched into collective conventional wisdom. It might be impossible to even imagine invalidating such assumptions 50 years ago, but not documenting them is kind of like assuming that no one can ever find flaw in such untested assumption in million years.

Such untested assumptions must be documented in the first chapter books on software components and CBSD/CBSE, so that they will be always on the collective consciousness of students. Documenting such assumptions allow researchers to either validate or invalidate each assumption as and when mankind’s scientific advanced sufficiently. Since such assumptions are not documented, persons like me have to endure insults and disdain to even mention possible error. Is it really impossible to find real software components (e.g. for achieving real CBSD) even in a million years. If it is not impossible to invent such real software components, such assumptions must be documented, so that, future generations have a fighting chance (without facing insults and disdain) to invalidate such flawed assumption for putting the scientific and technological progress on right tracks.

If mankind were to acknowledge the possibility that, the Erath might be moving just like any other planets, I am sure, many researchers would have discovered that the Sun must be at the centre. After all, there are just 9 known planets including Moon (e.g. to test the hypothesis by putting each planet at the centre). But it was inconceivable 500 years ago the possibility that the Erath is moving around any other planet. I am sure anyone can discover real software components within weeks, if they acknowledge possible error and try to investigate truth. How complicated it is to discover the essential properties uniquely and universally shared by each and every known physical functional components? Based on my experience, it just takes couple of weeks. Unfortunately discovering the truth is not real problem, but the problem is questioning the validity of the flawed first principles (i.e. assumptions) at the root, which is real cause for any software field to end up in crisis. This struggle gave me unique perspective of why and how any scientific field end up in crisis (and how exposing the errors lead to scientific revolution by putting progress on right tracks).

Best Regards,
Raju


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.


Sunday, November 2, 2014

Why it is craziest thing to present facts, proof openly and requesting to investigate for discovering Truth?


If one says, he saw aliens or flying saucers from outer space, I am sure there are millions of people in the world believe him by giving him benefit of doubt. If any one says he has seen Elvis, Angle, Big-foot or Ghosts, I am sure there are millions of people believe him by giving him benefit of doubt. If he says he has proof and offer to show proof, many people and even press would show up to verify the Truth. Millions of people out there, who are willing to give benefit of doubt to even such craziest claims. For example, look at popularity of cults, fake gurus and terrorists dreaming of a place in the heaven by committing heinous acts against humanity and the God.


But no software researcher is willing to verify the truth (openly published in our website) that software parts equivalent to any other kind of physical parts such as ingredient parts (e.g. Cement, steel, plastic or silicon wafers) can’t be components for achieving real CBD for software. Just because each kind of parts needs complex process to create, is highly standardized and reusable across many product families, such parts can never be components and can never achieve CBD-structure (i.e. hierarchy of replaceable components).


How can I make them come out of their cult following of erroneous definitions for software components (made nearly 50 years ago and resultant paradoxical paradigm of software engineering) and investigate the simple facts for discovering the Truth?  Don’t they have any confidence in their own ability to reason and competency to verify simple facts for discovering the Truth? Where can I find such competent people who have confidence in their own ability to reason, intellect and competency to validate facts?


Let’s have some fun :-). What’s funny is, the USPTO granted multiple patents for our craziest inventions and ideas, which are treated (by most experts) less credible than sighting of Elvis or Ghosts. Many Silicon Valley investors boost that they prefer to invest in craziest idea or invention. If that is true, we have the craziest invention, which most experts feel crazier than sighting of Elvis or Ghosts. I am sure they can’t offer any proof to their crazy claims, but we put irrefutable proof (e.g. facts and reasoning) openly in our website for any one to investigate for discovering the Truth (but no one is willing to give us any benefit of doubt). If any one is willing to give us benefit of doubt, we are willing and delighted to demonstrate hundreds of real software components capable of achieving CBD structure. Unfortunately, Truth is snubbed even in the 21st century, so not much changed from the dark ages.

It is beyond my comprehension, that millions of people have no problem giving benefit of doubt to even craziest ideas, but why software experts stubbornly sticking to a lie and snubbing the Truth. I am sure even a layman can see the simple Truths, such as (i) no other kind of parts could achieve real CBD-structure (e.g. Hierarchy of Replaceable Components) and (ii) no design of a product can be CBD (Component Based Design), if the product doesn’t contain components and component hierarchies.

It is frustrating to here baseless excuses to rationalize obvious contradictions (i.e. in existing paradox of CBSE) and refusing to provide any support to such baseless excuses. What happened to commonsense and reason? Why are they obsessed with reusable components (- a complex fiction) but choosing to be ignorant about simpler realistic goals such as achieving hierarchy of replaceable components? If software researchers chose to achieve hierarchy of replaceable components for large software applications, I am sure, software industry could achieve that goal in couple of years.

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 
-- Galileo Galilei


P.S: If heaven and hell exist, it must be a pleasure to see the look on the face of each of the terrorists (dreaming of heaven) when he is told (after his suicide mission) that he is doomed to hell for his heinous acts against humanity and the God (by blindly following cult leaders without using his ability to reason, which is endowed to mankind by the God).

I do believe in the God (I choose to have this blind faith - my personal subjective choice since many years), because this faith gives me some peace of mind during bad times. I am absolutely sure that the God gave me sense, reason and intellect to not forgo their use. I rarely bother the God (by praying :-) him) when I have no problems.


Sunday, October 26, 2014

Brief Summary of Truths for Real Components & Real CBD


Truth-1: There exists a set of essential properties uniquely and universally share 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 our web site).

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 share 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 and support (or prove) each other. The fact is, except physical components, no other kind of parts can achieve real CBD. Hence, 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 (by satisfying the essential aspects of CBD, such as, containing hierarchy of replaceable components).

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 (e.g. prove) each other, which is another compelling additional confirmation or supplementary proof.