As the director of industry marketing, Dr Sameer Prabhu, MathWorks, manages a worldwide team of marketing managers who lead the effort to foster the adoption of MathWorks products for technical computing and model-based design across vertical industries.
Dr Prabhu has over 20 years of experience applying MathWorks products in various application areas and, prior to joining MathWorks, has engaged in the R&D of complex control systems through his work at Visteon, Caterpillar, and Tata Motors.
In this exclusive interview with Pradeep Chakraborty, Dr Prabhu touches upon the level of exposure students in India get toward gaining practical know-how in regard to tools like Matlab and Simulink, and how MATLAB and Simulink for verification and validation can be used throughout the development process. Excerpts:
AUGUST 2012: Are you satisfied with the level of exposure students in India get toward gaining practical know-how in regard to tools like Matlab and Simulink? If not, how do you think it would be possible to improve the situation?
While engineering education in India has evolved over the past few years, there is still a considerable skills gap when it comes to industry requirements. According to the National Employability Report (NER) 2011, while India produces more than five lakh engineers annually, only a miniscule 3.51 per cent are appropriately trained to be directly deployed on projects.
Further, only 2.68 per cent are employable in IT product companies, which require greater understanding of computer science and algorithms. One of the main reasons for this is lack of exposure to industry standard tools and software. The current curriculum places considerable emphasis on theory, rather than practical technological applications in industry. Limited interaction between industry and academia is also an important factor.
India is fast turning into a hub for high-end engineering projects in areas such as aerospace and defence, automotive, energy, telecom, computing and medical devices. The Indian education sector needs to keep pace with industry’s requirement for a talent pool of employable graduates to sustain R&D needs.
Universities and colleges need to move from a theory-based curriculum to courseware that is a blend of theory and practical applications thereby providing students with the necessary exposure to real-world scenarios.
In the auto industry, for example, technology is evolving rapidly to meet increasingly stringent industry norms and fast-changing customer perceptions and demands. Typically, graduates wishing to make a career in automotive engineering will have an edge if they have gained exposure to automotive industry-standard software tools and technologies as part of their courseware. This will ensure that they are productive from day one in an industry as competitive and dynamic as the automotive industry.
As an organization with a strong user base in the industry and academic sectors, MathWorks is uniquely positioned to foster collaborations between both sectors. We believe strongly in the need for industry-academia collaboration and student access to industry standard tools and software to plug this gap.
MathWorks is a keen proponent of active learning techniques such as project-based learning where students can see, hear, and touch what would otherwise be very abstract. In order to facilitate this, we make available a host of classroom resources such as links to videos, code, models, books, courseware for a range of disciplines and other resources for classroom instruction or individual learning on the ‘Academia Section’ section of the MathWorks website. MathWorks also supports faculty members in curriculum development.
Earlier this year, we signed on Manipal Institute of Technology (MIT) for a campus-wide license for the MATLAB and Simulink product families. With this implementation, MIT’s students will gain hands-on, practical experience with software used widely in industry, and MIT’s faculty can engage in research and devise curriculum based on their experiences with these tools.
Following are some examples of programs supported by MathWorks in India, to encourage high quality technical education:
Support for Student Competitions: MathWorks provides free software, training and mentoring for student design competitions across a multitude of real-life challenges to facilitate practical exposure in technical education and encourage project-based learning.
MathWorks Book Program: MathWorks supports authors interested in writing books based on MATLAB and Simulink by providing publisher referrals, access to new versions of MathWorks products, and promotion of the book on the MathWorks Web site. Many of these books serve as courseware and reference material to aspiring engineers and scientists.
MathWorks Academia Seminars: MathWorks regularly conducts free seminars across several India cities to familiarize engineering faculties in the use of MATLAB and Simulink for teaching and research, and guiding instructors on ways to incorporate project-based learning in courseware.
How would you rate the educational field in India when compared to other developing countries, say China or Korea?
As mentioned above, the industry-academia skills gap is a major area of concern in India. As a result, the research landscape in Indian universities is also at a nascent stage.
By comparison, universities abroad, including China and Korea, have realized the need to tie-up with industry to provide students access to latest technology, thereby improving the scope for better and commercial viable research. Universities in India have only recently come to realize the need and value for such tie-ups.
Indian universities, therefore, still have to go some distance before they can catch-up with counterparts in other geographies.
Is there any platform provided by MathWorks where students can test their skills on a global level?
MathWorks sees value in enabling students worldwide to test and demonstrate their proficiency with our software product families, MATLAB and Simulink, because this helps us serve our customers in both academia and industry. Through such proficiency tests, students can calibrate themselves, and demonstrate to both their professors and ultimately the companies interested in hiring them, how their skills are progressing and when they have reached particular levels.
We continually consider new and innovative ways to enable students to test and demonstrate their proficiency. Two such ways exist today, both of which were made publicly available within the past year:
* MathWorks Certification Program.
Cody is an open, online platform designed to enable anyone with Internet access (but especially students) to expand their knowledge of MATLAB by solving challenges at their own pace. As a web service provided to the community, Cody helps people sharpen their programming skills by working alone or by interacting with other members of the community.
The MathWorks Certification Program is open to anyone who would like to take our exams, for a fee. Our exams are rigorous in order to be truly meaningful, can yield certification at two levels today (Certified MATLAB Associate and Certified MATLAB Professional), and are currently administered in English at MathWorks facilities in North America, Germany, the United Kingdom, and Australia.
How is MathWorks fostering adoption of MATLAB and Simulink for technical computing and Model-based Design across verticals?
There is a supplier-OEM relationship between verticals in some cases and the product development process can be made even more efficient if both supplier and OEMs’ use models to communicate across the supply chain.
Even in cases where such a relationship does not exist, different verticals can learn from each others experiences in adopting MATLAB and Simulink. Hence, MathWorks is committed to fostering adoption of MATLAB and Simulink across verticals to support our mission of accelerating the pace of engineering and science.
The MATLAB Expo in India is a good example of one way in which MathWorks is fostering this. Engineers and scientists from different verticals will have the opportunity to hear from their peers in the industry and also MathWorks personnel about Technical Computing and Model-Based Design advances and implementations.
MathWorks conducts these conferences across many different locations around the world to facilitate knowledge sharing and peer to peer networking. Further, there are also virtual conferences that MathWorks organizes which provide such a forum for learning and sharing across countries and physical locations.
As they say, wisdom is the sum of learning through the ages. Smart organizations learn from their own mistakes. The wise ones learn from others’ mistakes. Working with major corporations and governmental agencies over the years, we have seen many successes and a few mistakes as these organizations transitioned to Model-Based Design and Technical Computing.
We gather and publish best practices so our customers can learn from others and avoid the common pitfalls encountered when evolving to a Model-Based Design culture. Further, based on these lessons learned, we also offer consulting advisory services so customers can assess their current state of adoption and develop plans to further enhance their product development process. This is another way in which we foster adoption across verticals.
How can MATLAB and Simulink for verification and validation be used throughout the development process? Why wasn’t it done before?
With traditional development processes, engineers relied on physical hardware to optimize designs and to verify and validate new concepts. Products that are being developed today are more complex and perform more functions than ever before, and embedded software is becoming the key to integrating various functions in a typical product such that overall performance is maximized.
With the increase in electronics and embedded software in a typical product, system complexity has further increased, which in turn makes designing an optimal product a difficult task. This increased design complexity exponentially increases the time and cost to test different design possibilities, and makes it difficult to know when enough testing has been done to completely verify system performance.
This difficulty is further compounded by the fact that product development process today requires an intense collaborative effort of engineering teams that span multiple disciplines, numerous geographically distributed locations, and several companies in the supply chain.
The further a design error makes it through the development process, the more costly it is to fix. For this reason, catching errors early in the process, before prototypes are built and products are shipped, is becoming more important.
This realization is driving the need to simulate the entire system in an integrated environment such as MathWorks’ MATLAB and Simulink environment which can cover multiple domains such as electronics, controls, mechanical, etc. Prior to such an integrated environment, the tools used to be domain-specific which made it difficult to assess the interactions between the various systems, significantly limiting the system performance verification that can be achieved without hardware.
Because, engineers create and use models in the early design stages instead of relying on paper specifications the models serve as executable specifications of the system that enable engineers to validate and verify specifications against the system requirements early in the process. Engineers also use the models to communicate specifications in an unambiguous manner with their colleagues who may be working just down the hall or at another company across the globe. Further, these multi-domain models allow the designer to evaluate the complex interactions between controls, electronics, mechanics, and other physical phenomena.
Designers can perform rapid design iterations to make system level tradeoffs between various design parameters and optimize overall system performance. This enables engineers to try innovative ideas and concepts for improving system performance without the significant investment in time and resources that hardware-focused development processes require.
Further, because the MATLAB and Simulink environment allows linking product requirements to the model, test cases can be defined corresponding to the requirements and the simulation results can be used to determine if the system meets requirements or not. When the models are instrumented and linked to requirements, simulation results can be used to formally verify system behavior against documented requirements.
Once the engineers have verified and validated the model specification, they can implement the design by automatically generating code in a range of languages including C, C++, HDL, or Structured Text for PLC implementation.
The use of models makes it easy to separate the data and implementation attributes from the core algorithms, e.g., when switching from an embedded processor to a PLC, the software code can be quickly regenerated from the same model using the appropriate data and implementation attributes for the PLC.
Thus, the model serves as the golden reference for the software and can be reused across product lines and development programs, which further improves the efficiency of the development process. Once the production software is automatically generated, the test cases and system models can also be reused for testing the generated code via software-in-the-loop, processor-in-the-loop, and hardware-in-the-loop simulations.
By enabling rapid evaluation of innovative concepts and designs, MATLAB and Simulink help teams find and fix errors early in the process, when the cost and effort needed to fix them is lowest. Re-using the models throughout the development cycle through capabilities such as automatic code generation reduces errors introduced during hand coding, shortens product delivery times, and improves the efficiency of the development process.
How can one design, tune, and analyse a closed-loop control system for a real-world applications?
Real-world applications involve a significant amount of complexity, which makes developing and implementing control systems for these applications a difficult task since multiple interacting loops and dynamics need to be accounted for. Further, as we discussed earlier, before designing and tuning systems for the first time on actual hardware makes it expensive both in terms of the time required and also in terms of the cost of rework as errors are found later in the design process.
In order to address these issues, developing a model of the system being controlled, referred to as a plant model, is a key first step.
The plant model allows the entire system, plant plus controller, to be simulated to evaluate the performance of the system and verify that it meets system requirements before the hardware is built. MathWorks’ products provide the capability to both automatically tune the controller to meet performance criteria specified across time, frequency, and cost criteria. If test data from the real system is available, the plant models themselves can be validated to ensure the accuracy of the plant models.
This further increases the confidence that the control system will work as designed when we move to hardware implementation.
After, the entire system has been simulated, software code can be automatically generated in a range of languages including C, C++, HDL, or Structured Text for PLC implementation. As the controller implementation hardware changes, the software code can be quickly regenerated from the same model using the appropriate data and implementation attributes for the appropriate controller hardware.
The test cases and plant models can be reused for testing the software code running on the controller hardware, via software-in-the-loop, processor-in-the-loop, and hardware-in-the-loop simulations. This ensures that the final controller implementation meets system performance requirements and minimizes the amount of rework involved in developing control systems for real world applications.
Design-flow discontinuities are becoming increasingly disruptive and expensive. How is MathWorks combating this?
It is true that as system designs get more complex, across a variety of industry segments from automotive to medical devices, the engineering teams are paying a heavy price every time they run into design flow discontinuities. Design flow discontinuities typically manifest as rework, recoding, or restarts, and increase the time and money that companies spend on product development.
For example, a system design that is originally modeled in C/C++ needs to be recoded in VHDL or Verilog for implementation in an FPGA or an ASIC.
In a typical system design flow, there are potential discontinuities between Requirements and Specifications, Specifications and System Models, and Floating Point and Fixed Point Models. System simulation models may themselves be disconnected from C/VHDL/Verilog code, prototypes, MCU/DSP/FPGA/ASIC hardware, test and measurement equipment, etc.
At a fundamental level, MathWorks has been committed to addressing all these major discontinuities through the development of a Model-Based Design methodology. Model-Based Design with MATLAB and Simulink platforms provides integration and streamlined design flow from Requirements to Executable Specifications, and connecting the various stages of the design flow, modeling, simulation, fixed point conversion, C and HDL code generation, rapid prototyping, and integration with downstream tools such as integrated design environments (IDEs), simulators, and MCU/DSP/FPGA/ASIC hardware.
By integrating the system design environment with external test and measurement equipment as well as automating the verification, validation, and test processes, Model-Based Design addresses not only design flow discontinuities but also significantly accelerates design verification as well.
How have advances in solid-state power electronics enabled engineers to develop equipment that modulates and converts higher power ranges? What is MathWorks doing in the area?
Power electronic switching is modulated by a control system, involving both supervisory and feedback algorithms. Testing and verifying the control system on actual equipment poses risks and expense.
Finding problems in the control system during hardware testing can cause damage to prototypes and test systems and significantly delay time to market.
MathWorks offers Model-Based Design for Power Electronics Control, a solution that lets the control engineer develop the power electronics control system using desktop and real-time simulation to design and verify the control strategy. Our software can model the switching electronics and control strategy. Using desktop simulation allows developers to explore different supervisory and feedback controller configurations and introduce faults and scenarios difficult to test on hardware.
From the desktop simulation, engineers can generate code for both the control algorithms and the balance of the system (power electronics, load). Code for the controller can be ported to a real-time computer or the actual controller processor to help test the timing aspects of the controller against actual hardware or a real-time simulation of the power electronics and load. These latter aspects of simulating the power electronics and load in real-time can significantly reduce the risks and costs of testing on actual hardware, particularly in higher power equipment.
What are your future plans? Please elaborate.
One of the trends that we are going through right now is what is referred to as the ‘data deluge’, the ever increasing amount of data being generated by the billions of electronic devices around the world and that is projected to grow by orders of magnitude in the upcoming years.
The data comes from a multitude of devices generating data, from mobile device usage to sensor networks to satellite imagery and remote sensing to web traffic statistics to telemetry data in products such as aircraft, automobiles, and more and more consumer devices. However, projections show that number of engineers and scientists will grow by two orders of magnitude less than the rate of data growth.
Clearly, technology, and technical computing, will be critical to being able to analyze all of this data. At MathWorks we are committed to providing the sophisticated technical computing tools that allow engineers and scientists to mine and analyze all of this data to make inferences and drive business, scientific, and research decisions.
A related aspect is that with the advent of multi-core, GPU, cluster, and cloud computing, you have more computing power at your disposal now and MathWorks has been investing in technical computing software for 28 year and counting that allows you to take maximum advantage of all this computing hardware.
As mentioned before, the number of devices with embedded processors is increasing significantly and the market demands that these devices be more intelligent and more sophisticated, which means these devices need to have more math and algorithms on them, and that math and those algorithms need to be programmed. This translates into an explosive increase in lines of code embedded in these devices.
Further, these devices and systems are being integrated into larger ‘systems of systems’ that are even more complex systems themselves and this poses a significant challenge in terms of designing all these complex systems and writing the required software. At MathWorks, we have enabled Model-Based Design with our technology to deal with this issue over the past 20 years.
Going forward, our focus is on making it easier to simulate these large scale, complex, multi-domain systems before building hardware to enable a systematic approach to design exploration, optimization, and refinement, and further enhance the reuse of models across the development process and across organizations with capabilities for systematic verification and validation from requirements to implementation. This is consistent with, and in support of, the MathWorks mission to accelerate the pace of engineering and science.