In the dynamic realm of software systems and services, few individuals possess the visionary insight and transformative impact of Vinay Kulkarni. A TCS Fellow at Tata Consultancy Services, Vinay leads the charge in pioneering research that spans digital twins, model-driven software engineering, multi-agent systems, and learning-native software systems. His journey into engineering and computing began with a twist of fate, propelling him into the captivating realm of electrical engineering. Through this interview with the IEEE Computer Society, we delve into Vinay’s journey, revelations, and remarkable contributions that have reshaped software engineering paradigms.
What Inspired You to Go into Electrical Engineering and Computing?
I grew up in small towns and cities in India. In those days, medicine and engineering used to be de facto careers for those good at studies. I got admitted for both courses, but had to wait a year to join medical school. So, I joined engineering school as a stop-gap arrangement. However, an introduction to electrical engineering, electronic circuits & devices, and advanced mathematics got me hooked, and I stayed with engineering, which I thought provided a large canvas for doing something new and useful.
Apart from computer science and engineering, electrical engineering requires a good grasp of mathematical abstraction. Introduction to Control Theory brought out various applications of mathematics and how a problem can be solved by mapping it to conformal domains such as time and frequency. Introduction to microprocessors taught me how to automate a solution programmatically. The culmination of all this led to me pursuing a master’s degree specializing in control systems, with a thesis in robotics.
Two of us developed an intelligent robot entirely from scratch – mechanical, electrical, electronic, and programming aspects. This was truly a learning experience for me because it got me hooked on programming and system design. I knew computing was the space for me. This was also the time when computing was picking up fast everywhere in the world, especially in India. For people like me, it presented a unique opportunity to make an impact while staying in India.
Working with Tata Consultancy Services Research, I was fortunate to get a steady stream of challenging real-world problems to work on and a long enough rope to come up with novel yet pragmatic solutions. In the process, we developed first-of-a-kind-anywhere technology and applied it to solve several business-critical problems across industry verticals. I think this was applied research of a rather good quality.
In short, I always wanted to help create real-world impact through my work and was fortunate to be able to create the same.
What in Your Career Has Surprised You the Most? Are There Any Challenges You Overcame?
Many times, I have seen that the actual problem is not where it manifests or the way it manifests. You ought to have the right lens for looking at the problem to unravel its true nature, and this lens tends to differ from one class of problems to another. Also, coming up with the right solution approach is not sufficient; you need to put in the necessary effort to introduce the solution in as friction-free a manner as possible. Let me share an example.
When Tata Consultancy Services decided to develop a banking product, two prototypes were developed, one using C language and the other using C++, of which the former was five times faster than the latter. We, from TCS Research, were brought in to check why it is so and make the C++ prototype equally efficient. After discussing with the prototype development teams, we realized the real problem lay elsewhere. Those were the days when object orientation was just gaining roots, and not much was known about developing large industry-scale software using OO techniques.
Moreover, distributed computing architecture was gaining ground, which required the three tiers, namely database access, service implementation, and user interface, to be integrated using Online Transaction Processing (OLTP) machinery. These two were the real reasons behind the poor performance of the prototype developed using OO technology.
Our background in language processing helped view the issue as a compilation problem, which called for the system to be specified at a higher level of abstraction from which it can be compiled to a specific choice of user interface, programming language, relational database, and OLTP monitor. This approach not only facilitated divide-n-conquer through separation of concerns but also enabled the same specification to be retargeted to different choices of user interface, programming language, relational database, and OLTP monitor. To ensure smooth adoption, we worked as part of the business team, facilitating quick redressal of teething troubles with the technology so that challenging product deadlines were met. For the last twenty years, TCS has had a sizable business around this technology.
What Resources/Skills Did You Find Most Helpful When Moving Up in Your Career?
It’s important to choose the right problem to work on. I have always preferred real-world problems where the luxury of modifying the problem to suit your pet theory is unavailable. Plus, you get validation for the solution from those facing the problem. I think this is a must for a solution to be truly impactful.
While a formal degree helps, attitude and aptitude matter far more. As applied research is all about navigating an uncertain space, you need to be able to operate even when things are ambiguous. This is an attitude issue. Moreover, you need a problem-solving aptitude to discover the best fit-for-purpose solution.
While maintaining some distance from the problem is necessary, especially in the problem formulation stage, an applied researcher should not shy away from soiling hands when required. This is the best confidence-building measure available for an applied researcher.
What Is a Typical Day like for a Distinguished Chief Scientist, Software Systems and Services at TCS Research?
Typically, we have five or six research streams active at any point in time. Part of my time goes into ensuring the research progresses smoothly. Some time goes into exploring possible applications of this research in the real world, which involves meetings, presentations, talks, etc.
Then, there is time to be kept aside for communicating results through publications, community service to be performed in terms of reviews, event organization, etc.
As ongoing research matures, I am able to devote more time to think of future research with a 3–5 years horizon of applicability. This involves being abreast of the latest research, technology development, and analyst predictions.
People form the most important part. Part of my time goes into facilitating that my team can operate at its most efficient level while enjoying the work.
This is my first (and probably the only) job, so I won’t be able to comment on how applied research is conducted elsewhere.
One of Your Top-Cited Articles Is Separation of Concerns in Model-Driven Development. How Has MDD Changed Over the Last 20 Years?
Faced with increased volume and diminishing window of opportunity, enterprises across business verticals started adopting IT systems to automate their business processes to the extent possible. The high cost of computing emerged as one of the top concerns preventing smooth adoption of computing by industry practice. The advent of Unix-based mini-computers and the distributed computing paradigm went some distance in bringing down the cost of computing. However, it also led to the plurality of computing platforms with multiple choices of database management systems, programming languages, operating systems, user interface channels, and transaction processing monitors. While this plurality enabled the most appropriate choice of computing platform, it led to an enhanced burden on developers who needed to know these technologies in the necessary detail.
Moreover, the rapid rate of advance of these technologies presented an additional challenge of keeping pace with this advance. Meeting this new set of challenges relying solely on human expertise was turning out to be difficult. Model Driven Development (MDD) was a solution to overcome these challenges by shifting the focus of software development to a higher level of abstraction (i.e., models) where the models can be automatically checked for completeness, consistency, and correctness, thus catching errors early in software development life cycle (SDLC).
Also, models can be automatically transformed into a purposive implementation on the desired computing platform. Furthermore, by keeping models independent of computing platform-specific concerns, the software system can be easily retargeted to a different computing platform. Thus, MDD offered enhanced productivity, uniform quality, and platform independence – a significant benefit over manual code-centric software development.
However, MDD is a technology, too, and brings in its own set of problems. Models need to be expressed in a formal language, which domain experts find too high a mountain to climb. Moreover, modeling is not taught in schools/colleges and remains more of an art. Finally, MDD community focused solely on software development as the canvas to demonstrate utility and efficacy of MDD.
Though a powerful concept leading to several downstream benefits, the construction of purposive models has remained a time-, effort- and intellect-intensive endeavor. With domain expertise in short supply and hence highly in demand, there is a need for technology to construct purposive models faster, better, and cheaper. We integrate model-driven development technology and Generative AI technology in a symbiotic manner such that the advantages of one are used to overcome the limitations of the other. We have validated this integration in several business-critical situations, leading to highly significant improvement over the state of the art. We are convinced this is the road ahead for MDD.
Modern enterprises are fast evolving into a complex system of systems operating in a dynamic, uncertain environment, wherein they need to respond to unforeseen changes in an ever-shrinking window of opportunity. Erroneous response could be prohibitively expensive, and there is little room for later course correction. Arriving at the right adaptive response is even more challenging, as the available information is typically partial and uncertain. Therefore, decision-making in the face of uncertainty has emerged as one of the principal problems faced by modern enterprises. To address this problem in a pragmatic manner, we have built further upon proven ideas from modeling & simulation, artificial intelligence, and control theory. At the heart of this approach is the concept of Digital Twin – a purposive virtual machine-processable representation of reality. This approach and supporting technology have been validated on several business-critical decision-making problems across business verticals. TCS has brought out business offerings around this research.
Just arriving at the right decision is not enough. It needs to be effectively implemented too. We build further upon proven ideas from model-driven development and adaptive architectures to design and develop software systems and business processes that are adaptive “by design.” TCS is bringing out business offerings around this research.
Can Modeling Help Address Societal Problems That Typically Exhibit Complex Interactions?
So far, the MDD community has focused on modeling software systems, and that too for the objective of automatic generation of implementation from specification. However, the model concept has far greater applicability. In essence, the model is a purposive representation of reality that’s amenable to rigorous machine processable analysis. Therefore, a suitable model can enable rigorous analysis “in silico,” which is either impossible to perform in real world or at exorbitant cost. We have taken this point of view to support the concept of Digital Twin. It was gratifying to use digital twin technology to help predict and control the Covid-19 pandemic in the Indian city of Pune where I am based out of. More importantly, we were able to do so in a fine-grained and locality-specific manner, which was beyond typical statistical models that were used for the prediction of COVID-19 pandemic.
Encouraged by this experience, we are now addressing other societal problems such as smart transportation, smart energy, agriculture & horticulture, flood control for a river etc.
How Did You First Come To Learn about and Get Involved with IEEE, and Specifically, IEEE Computer Society?
I came to know of IEEE during my college days as a forum discussing and deliberating the future of electrical and computer engineering. The relationship was strengthened as TCS actively supports engagement with IEEE. I have published regularly at several IEEE conferences and have had the good fortune to give keynote addresses at some IEEE conferences.
More About Vinay Kulkarni
Vinay Kulkarni is a TCS Fellow at Tata Consultancy Services, where he heads Software Systems & Services research. His research interests include digital twins, learning-native software systems, model-driven software engineering, and multi-agent systems. At present, he is exploring the feasibility of continuous adaptation of enterprises through innovative integration of proven ideas from modeling & simulation, AI, and control theory. Prior work that focused on making software development an engineering endeavor has been used in industry for the past several years and found its way into international standards, three of which Vinay contributed to in a leadership role. Fellow of Indian National Academy of Engineering, Vinay is an alumnus of Indian Institute of Technology Madras and serves as a Visiting Professor at Aston University Birmingham, Middlesex University London, and Indian Institute of Technology Jodhpur. Primarily a trekker, long-distance runner, and cyclist, Vinay also dabbles in Hindustani classical music and water colour painting.
The post Robots to Digital Twins – Journeying Software Innovation with Vinay Kulkarni appeared first on IEEE Computer Society.
0 Commentaires