Dear Friends,

I have been struggling for many years to educate software researchers about two simple facts (i) there are two kinds of engineering paradigms, which are Component-based and non-Component-based as illustrated at: http://real-software-components.com/raju/TwoKindsOfParadigms.pdfand (ii) today engineering discipline for Civil, Chemical or Software not employing Component-based paradigm. I shall not relent until the unknown fact (i.e. today software engineering is not employing Component-based paradigm) is understood and accepted.

Until the above unknown fact is known, no one in software industry will try to invent tools, methods and technologies essential for transforming software engineering paradigm from (a) complex, inefficient, and error-prone non-Component-based paradigm (that is infested by notorious spaghetti code) to (b) Component-based paradigm that is ten-times more efficient (e.g. by eliminating the notorious spaghetti code from design and development of each large or complex software product).

History of industrial engineering proves that Component-based paradigm can increase manual productivity, quality and agility (where the agility can reduce total cost of ownership such as maintenance and redesign) by ten times: http://real-software-components.com/raju/Briefs/BenifitsOfRealCBE.pdf.

Today each large software product (i.e. an excitable code) is built as a big monolith as illustrated by FIG-1, which is certainly not a Component-based-paradigm. Today software experts insist that FIG-1 represents Component-based paradigm, since it uses reusable parts or modules that are composed but are not assembled. Please refer to figures in the attached PDF.

Essential condition for Component-based paradigm is building each product by assembling multiple modules or components as illustrated in FIG-2, which requires invention of real software components that can be assembled, and essential tools and mechanisms for plugging-in all the components to build the software product.

For example, even in case of Civil engineering, it is possible to increase manual productivity by ten times (by employing even a rudimental and primitive Component-Based paradigm) such as: https://www.youtube.com/watch?v=AhLk7L1B_fE. But such component-based paradigm requires very expensive material or components.

That is, Civil engineering has a huge drawback – Cost or material for building all the components is 5 to 7 times more, which increases the total cost of each building 3 to 4 times (compared to existing method that uses cheaper material cement, bricks, concrete, sand and steel). The cost of material is about 80% of the cost of the building.

In case of software, over 90% of the cost is spent on manual effort for designing and building large code base of each software product, which includes design and development of code for each of the modules/parts used in the software product and more code for integrating the modules/parts to build the product. In fact, cost of material (i.e. code) to build each module is much cheaper in case of software products that are designed and built by employing real-Component-based paradigm.

The following three inventions are essential for achieving effective CBE-paradigm for software and we already secured patents for the 3 inventions: http://real-software-components.com/raju/pdfs/PatentedInventions.pdf

1. Simple and effective methodologies for partitioning each large software product in FIG-1 into multiple self-contained modules or components in FIG-2,

2. Inventions of missing technologies or tools necessary for creating and using self-contained modules or components in FIG-2 for building the product, and

3. Inventions of tools and mechanisms that can automate various tasks and activities to create, redesign, and manage communication code that is essential for allowing communication between the modules and components.

In summary, it is not hard to prove this simple rule: If an engineering paradigm that designs and builds large or complex products (without using Component-based paradigm), it is not hard to increase manual productivity by ten-fold for designing and building each large or complex product, by transforming the engineering paradigm to Component-based paradigm: http://real-software-components.com/raju/Briefs/BenifitsOfRealCBE.pdf.

Software engineering is most certainly not an exception to above rule. But no one in the software community is willing to explore the possibility of transforming software engineering to Component-based paradigm (as illustrated in FIG-2), since everyone falsely concluded that software engineering already employing components and Component-based paradigm.

Therefore, I am forced to expose this unknown heretical fact that, software engineering is not employing Component-based paradigm: http://real-software-components.com/raju/Briefs/InventionBriefly.pdf

Best Regards,

Raju Chiluvuri

More Raju Chiluvuri's questions See All
Similar questions and discussions