Hi:
I have a novel idea "Digital Twin applied to Software". See attached
slides.
It points to the future of improved programming productivity and
reliability.
Let me know what you think.
Abstract��
Digital Twin applied to Software
Aik-Siong Koh
askoh.com
There has been a major dichotomy in computing right from the
beginning: Statically Typed vs Dynamically Typed programming
languages. The former languages produce fast executables but are
inflexible to program. The latter are just the converse. This
dichotomy has been frustrating to programmers who always feel they
have to make sacrifices when making a choice. It also often leads
to futile language wars. The Digital Twin concept was introduced
in engineering where a physical system is modeled digitally in
geometry, simulation and other information. The concept has proven
so successful that it is being applied to almost everything in
engineering from simple mouse traps to complex whole cities. It
occurred to the author that this concept can be extended to
software too. For example, execution in C++ is famously fast. But
development in C++ is notoriously difficulty because of language
complexity and long build times. A flexible digital twin can be a
program written in Smalltalk which is famous for live programming.
"Development at the speed of thought" is the motto and is real.
What is gained by this duplication? Firstly, the flexible twin can
be use to explore new algorithms, features, solutions and fix bugs
quickly. Only desired codes are translated to C++ manually or
automatically. Secondly, the two programs can check each other so
that bugs are reduced significantly. These two gains will define
future programming productivity and quality. The Digital Twin
concept will also drive the automatic translation of the flexible
language to the fast language.
Bio
Dr Aik-Siong Koh has a PhD from The University of Texas at Austin
where he programed in FORTRAN to simulation mechanical systems.
While teaching at Texas Tech University and Nanyang Technological
University, he developed interest in Multibody Dynamics. To
develop his own Multibody Dynamics simulator, he researched for
the most productive programming language and discovered Smalltalk.
The live programming capabilities of Smalltalk permitted him to
build a successful simulator which he then proceeded to
commercialize. His later experience with C++ at Mechanical
Dynamics and MathWorks gave him the idea of Digital Twin for
Software.