Is there any evidence that exists to prove seed axiom for CBSE is valid? If any one has tried to test the validity of seed axiom, kindly provide evidence?
The origins of seed axiom for existing CBSE (Component-Based Software Engineering) is usually attributed to 1968 NASA conference on software engineering. Dr. Douglas McIlroy’s speech in ‘1968 NATO software engineering conference’ on “Mass produced software components” is widely credited for launching research on ‘software components’ and CBSE.
One of the stated goals was to build software products by assembling components (i.e. COTS- Commercial Off The Shelf) from 3rd party vendors as hardware engineers build computers by assembling COTS. This goal is unrealistic, because hardware engineers deal with product models belonging to one product family while software engineers dealing with products belong to hundreds of product families (e.g. compilers, games, OS, MS-Word, PPT or ERP etc).
Please kindly understand physical components are very special kind of parts (having very unique properties), so no other kind of physical parts can be components. Today term ‘component’ (in software engineering) is used as synonym to ‘useful parts’ or ‘parts conforming to a useful model’. For example, many kinds of so called software components were defined, where each kind of component is either a software part having a given set of useful properties (e.g. reuse or standardized) or conforming to a kind of so called component model.
Isn’t it an error to define physical parts (e.g. cement, TMT-steel, plastic, metal alloys or semiconductor wafers), just because each of the parts needs complex process to make and standardized or highly reusable across many product families. The existing definitions for so called software components may be acceptable in the formative years in 1960s of software engineering, when primitive programming languages such as FORTRAN or COBAL are cutting edge technologies. Are such definitions for so called software components still valid today, since there are huge advancements in programming languages and our knowledge or expertise in software engineering and computer science?
Aren’t these baseless assumptions (originated in the early formative dark ages of software engineering) preventing us from searching for real software components that are logically equivalent to the physical functional components for achieving real CBSD (CBD for software) for large software products, where real-CBSD must be logically equivalent to the CBD (Component-Based Design) of large one-of-a-kind physical products (e.g. prototype of a new kind of spacecraft or an experimental jet-fighter)?
Of course, there is no need to search for such real software components, if there is an irrefutable proof to show that it is impossible to discover such real software components for achieving real CBSD. In the absence of such proof, relying on flawed seed axiom for advancing CBSE is insidious because such errors in seed axiom certainly sidetracks progress & eventually ends up in crisis.
The longer such error in seed axiom goes undetected the harder it would be to discover Truth for exposing the error. Relying on seed axiom (having undetected error) for advancing any branch of science or engineering (by working very hard for many decades or centuries) leads to altered reality and results in evolution of deeply entrenched paradoxical paradigm.
P.S: The geocentric paradigm evolved from the assumption that “the Earth is static at the center”, so this assumption was seed axiom for geocentric paradigm. The heliocentric paradigm evolved from the assumption that “the Sun is at the center”, so this assumption is seed axiom for heliocentric paradigm. Existing paradigm for CBSE evolved from untested definitions for so called software components, so the definitions are seed axiom for the existing CBSE paradigm.
Getting wrong answer to root question “which planet is at center” side tracked scientific progress and resulted in a scientific crisis. Likewise, if there exits an accurate answer to root question “what is a component (i.e. accurate definition or unambiguous objective description for the components)”, getting wrong answer to the root question certainly side tracks progress of CBSE paradigm and results in software engineering crisis.
Is there any evidence to prove that, it is impossible to find right answer to this root question for the CBSE paradigm? Many software researchers insist that no right answer could exist for the root question, but no one ever showed any proof to indicate that any one ever even have investigated to find right answer.