Tuesday, March 15, 2016

Can you believe that a modern scientific discipline has been evolving by relying on untested myth and violating scientific principles/processes?


            It is a clear violation of well established scientific processes and proven principles to rely on untested and unproven assumptions (as if the assumptions are self-evident facts) for advancing our scientific or technological knowledge. If the untested or undocumented tacit assumption at the root of any scientific or technological paradigm is flawed, the whole paradigm is nothing more than science fiction and a paradox, even if the paradigm evolved for decades or even centuries and comprising countless concepts and observations created painstakingly by tens of thousands of respected researchers.

Mankind tried to advance scientific knowledge for 1000 years by relying on tacit assumption that “the Earth is static”. No one ever tried to validate this assumption (by insisting that it is a self-evident fact that requires no validation), while most philosophers don’t even aware that it was an assumption. 

Likewise, software researchers have been tiring to advance scientific and technological knowledge by relying on tacit assumption such as it is impossible to discover accurate description for physical functional components (or CBD of physical products) and even if it is possible, it is impossible to invent real software components equivalent to the physical functional components for achieving real CBD for software, where real CBD for software is equivalent to the CBD of physical products. No one ever tried to validate these tacit assumptions and most researchers don’t even aware that these are the assumption at the root of existing software engineering paradigm.

Most researchers feel offended, if I say the assumptions at the root of software engineering never tested and flawed. Unfortunately many resorted to personal attacks and insults, by assuming that I am offending their common sense. There are two ways to resolve this debate (1) prove me wrong: If they feel, I am wrong, they can show me who validated the assumption that it is impossible to discover accurate description for physical functional components (or CBD of physical products)? If it is possible to if it is possible, it is impossible to invent real software components equivalent to the physical functional components for achieving real CBD for software, where real CBD for software is equivalent to the CBD of physical products. 

If such proof exists, I don’t believe that it is a top secret and known only to select few researchers. Unfortunately many experts feel offended, when I asked for proof to show that such axioms are not assumptions but facts.

The other way for resolving this debate is (2) give me an opportunity and validate my proof with open mind. I provided comprehensive proof at http://www.real-software-components.com and articles published under my research-gate account. This rational reasoning is backed by my invention of first ever GUI-API to build real-software-components for allowing COP (Component Oriented Programming) for achieving real CBD (Component Based Design):

Of course, COP requires ability to build real-software-components. Likewise, COP requires discovering and knowledge of essential characteristics (uniquely and universally shared by each and every known physical functional components) to positively identify functionality and features that can be implemented as real-software-components. Using our GUI-API even junior Java programmers can create real-software-components and assemble them to build component hierarchies for achieving real CBD: https://www.researchgate.net/publication/292378253_Brief_Introduction_to_COP_Component_Oriented_Programming

Unfortunately most researchers insist that, no such proof needs more than 45 minutes and 9 slides. Furthermore, many of them insist or feel offended, if any of the concepts of new paradigm contradicts accepted concepts or so called facts (e.g. epicycles or retrograde motions) of existing deeply entrenched paradigm. They grossly underestimate the complexity of a paradigm shift. It took more than 100 years for such paradigm shift, which is illustrated by chronology of events: http://www.real-software-components.com/forum_blogs/BriefSummaryOfTruths.html#Chronology

Few undocumented assumptions (such as software is different and/or unique) were made in the 1960, when computer science and software engineer were in infancy (when assembly language was widely used for programming language and FORTRAN was cutting edge language). Structured and Object oriented languages were just beyond imagination. Unfortunately the assumptions were not documented, even though such assumption might be justifiable or considered self-evident facts at that time. If the assumptions were documented, they would be on the radar of the successive generation of researchers, for example, for validation when and if technology advances sufficiently.

Tens of thousands of researchers around the world created countless concepts for advancing our scientific knowledge and software engineering during 1970s by relying on such untested and tacit assumptions made in 1960s. During 1980s, countless new concepts, experience reports and observations were created by tens of thousands of researchers relying on the concepts and knowledge created during 1970s. Likewise, during 1990s, countless new concepts, experience reports and observations were created by relying on the concepts and knowledge accumulated since 1960s, and so on.

I am sure most of these accepted concept and research papers were created by sound logic and impeccable reasoning, which further rigorously vetted by community of independent researchers before being accepted. I am not questioning the validity of these research papers or their brilliant contributions, but I am questioning the validity of hidden (and now unknown) assumption at the root of these complex paradigm. The retrograde motions and epicycles are irrefutable facts, if the hidden seed assumption “the Earth is static” is True. Anyone can observe retrograde motions and epicycles by standing on so called static Earth, but now we know what went wrong.

Unfortunately many researchers feel that I am questioning their reasoning and logic, when my concepts or statements contradict the concepts presented by their research papers. It is wrong. I am only questioning the validity of forgotten or unknown assumptions at the root of existing software engineering paradigm. If the seed assumptions at the root are flawless, each of the concepts derived by relying on them by using sound logic and irrefutable reasoning must be flawless. Just because any one can observe them, the retrograde motions can’t be scientific fact. Likewise, accurately describing observable phenomena in isolation can’t make a concept a scientific fact. I am sure, each of the papers was rigorously vetted (e.g. based on long list of references provided at the end) before accepting the concepts and experiences presented in the paper.

The software researchers, who are writing papers now in 2010s may be relying on knowledge of existing paradigm evolving for past 45 years and consistent with countless concepts accumulated during past 45 years. For example, every concept and observation accepted up until 500 years ago were consistent with the perception of reality illustrated by the FIG-1 in this webpage: http://www.real-software-components.com/more_docs/epicyles_facts.html (FIG-4 illustrates the perception of reality exists today).

It is impossible to see a new paradigm form the prism tainted by old paradigm. It is illegal circular logic to defend egocentrism by relying on retrograde motions.  So the researchers must ignore all the accumulated knowledge and focus on validating the seed assumption at the root. I can expose the errors in the seed assumptions at the root, if the researchers willing to look at the evidence with open mind (i.e. non-tainted prism).

If the researchers insist there is nothing wrong with the existing paradigm, they must answer why do we need new/different and strange definitions for software components and CBD for software, which are in clear contradiction to the reality we know about the physical functional components and CBD for physical products? https://www.researchgate.net/publication/285345329_Software_researchers_practising_bad_science_by_relying_on_untestedunproven_flawed_conceptsdefinitions

Best Regards,
Raju Chiluvuri