You know it's a video where you can and if you find the MIT and you miss the delete from Stanford. Well actually it is a trustee of a massive technology leadership. You know I think we're very fortunate to have Jack here to talk about innovation this is a welcome thank you. It's what my talk this morning is called innovation in systems perspective the A model based design. The car. You may have driven here this morning in the airplanes that you travel around for vacation your smartphone you might have in your pocket. These are all systems. OK systems that we use every day there are also complex systems that you may not realize it but virtue all the systems were designed by teams using model based design that you know the car you have is millions of lines of code in the engine control units and those are that code was automatically generated by the Simulink software system from the math works. And so in the end this is all about model based as I wrote you all the companies that make these products these consumer products have adopted model based design sometimes we call it. N.B.D. review. Over the last ten years in order to innovate and speed up their product development. It's really it's really been a revolution in terms of how products are developed in the industry and it's actually not that well known in education these techniques are not quite quite as well understood and used in education as they are are in industry. So anyway so what I mean by model based design. Well. Model based design is on I'll talk about today's. It's both a methodology and it's a tool set for system level product design and it uses a model throughout all phases of the product development is what characterizes this intensive use of models. So my talk today. Is most about model based design but I'm going to start with with two smaller topics and start with a little bit on the economy and a little bit on you know my microphone is not on top of it. There we go. And so a little bit on the economy a little bit on innovation megatrends I'll talk about how those tie to model based design. So as you know we're currently recovering from a recession right now in the U.S. economy and the worldwide economy and there's a lot of gloom in fact about the state of the economy. People talk about the new normal. Here's a quote from McKinsey and Company and there's there's some thought of it being different than other recessions. You know a restructuring of the economic order. Quote from Steve Balmer C.E.O. of Microsoft he talks about the new normal. A Brookings talks about the new normal. And he talks about need to talk about new normality being a period of lower household debt. Higher personal savings less consumption. OK So the big question then is how long is this going to last. OK so Michael Mandel is an economist with Business Week. And and this is his viewpoint viewpoint of want to Coniston I don't want to say it's not so you can't all economists I'm sure they all disagree but here's the point of one economist and how long the New Normal might last. He's pretty gloomy too. He says consumer demand will stay saw for years because it's going to take us a long time to dig out of the. The deficit. OK. Whoever he also goes on to say without innovation it's a slow slog. OK so and so point he's making is innovation is the wild card but we have all these factors lining up against us in the economy. Innovation is the way out new products will will boost support to end supply create jobs and innovation is the missing ingredient towards getting the economy growing again. OK So let's approach this from a different way. Let's look at this innovation with different way. This is the gross domestic product per person over the last eighty years for the United States now. I like to think of the Gross Domestic Product as kind of imagine the United States was a single company comprised of of a roll up a company was rolled up of all the companies in the United States every single you know. Education Institution corporate thing you put all those together every restaurant and you add up all the revenues. That's really what the G.D.P. is OK and this is the G.D.P. per person and it's increased six fold over the last eighty years. So so the of that business amount of revenues in constant dollars per person increase it for. That's an enormous number. OK So why did that happen. I like to suggest that a lot of it happened starting in the eighteenth hundreds. When fundamental discoveries were made by scientists in the areas of chemistry physics and biology to to to determine the underpinnings of science and then in the late eighteenth hundreds and in one thousand nine hundred engineers turned that science into innovations into concepts into inventions practical things radio T.V. computers farming equipment automobiles airplanes and this amazing one hundred years ago. You know we'd be riding around on horses most of us would be farmers. OK it's true. Extraordinary how far the world has come. In a hundred years and in terms of the terms of that and you know I think we owe it all to scientists and engineers scientists for figure out engineers for turning these things into these innovations that have led to this growth in output per person of lead to us be able to sit in air conditioning rooms and you know have leisure time to be able to travel where we want the world and so forth. OK so so so so this is you know arguably this is what's what's going on with in terms of innovation driving the growth in the G.D.P. and the economy. OK so what types of innovations. Well here's an here's an interesting list this is a list from the National Academy of Engineering where they've taken a position on what the twentieth century is greatest engineering achievements are and look at this list. You know number one is electrification. You know what the automobile computers. Look the Internet's thirteen. You know we all think the Internet is the. You know the bee's knees or whatever the latest thing and it's only thirteenth on this list relative to the significant innovations of the of the twentieth century. OK. The. But so that what one of them is missing from the list that would be my personal vote for the most important one is the transistor and I know that there are when we went through the year two thousand there were a number of people that said the transistor was the most fundamental invention of the innovation of the of the twentieth century century that you know the transistor has been has enabled computers electronics telephones spacecraft Internet all these things that's a huge enabler. Did you know that every year there were sixty sixty million transistors manufactured for every person on the planet. OK So these these trends that you're just going to hugely impacted on on all these other mega trends. OK. So that's that's. Twentieth Century. OK. What I'd like to suggest now is to make the trends that we see to to make a trans happening now happen over the last ten fifteen years here that are affecting us now currently that I want to talk about. And so the first major new mega-trend I want to talk about is what I'm going to call software and everything. OK And we can illustrate this with this with this chart. If you look at the bottom of the chart that color line near the bottom. That's the number of computer microprocessors that are being manufactured every year for computers like this or desktop computers for use in standard you know running Windows or Linux or something like that the mac. And that's growing dramatically but knows that it's dwarfed by the embedded processors on that top curve. OK. And. Which That which that in two thousand and eight last year for which you have data there were there were ten billion shipped. OK And this this process of these imbedded processors are really put the process of putting software into everything around us. OK So and it's a dramatic change right now of getting software in consumer products all around us. But here's an example look at the in the one nine hundred eighty S. Here's a typical automobile no airbags you know knowing like brakes you had a cassette tape for your radio. OK. Aside from the radio was there even a transistor in the car. You know I I don't think there was and verified that but so in the radio is probably the dominant source of transistors so and that was all it was just thirty years ago. Let's fast forward to today. Today's automobile. Well it has software controlling power train systems software controlling the chassis. Transmission brake system traction control things like that software controlling safety systems airbags crash avoidance and so. And software controlling a convenient systems things like climate controls windows things like. OK And phenomenal amount of software in fact I've heard numbers between fifteen and twenty percent of the cost of a car is software. If you buy a car. OK if you've been out of real estate but a car is probably the most money you'll ever spend on software in your life you might think you know buying games and things like that is software it's not compare not even close to what you spend when you buy a car you don't think of cars and software product but increasingly it's the differentiating factor determines why you choose one car over another. If you like you like some of the features they have in electronics they like brake system traction control something like that will get you to buy. The M P. You know the M P three connector or whatever you know there's a lot of stuff in there. OK so. So that's an example of a place that's tremendously. But more generally software is appearing in virtually every consumer product out there and and this brings me to number two it's not just software in everything. It's more math and algorithms and things. OK more math and algorithms and consumer products and this is good for you guys universities who were full algorithms and full of mathematics and those conceptual ideas years ago it was very difficult to get that mathematics actually used in things. Now with software everything. It's much easier you can come up with an idea. You know software sort of liquid innovation you come up with an idea of an algorithm. You could make it work in software. OK you know take something like you know the i Phone the i Phones using all rooms all the Multi Touch. There's mathematics behind all the Multi Touch actions you do on the i Phone communication systems and things like that a digital camera. Obviously the autofocus systems. But there is you know lots of features in there there's features in there for recognizing smiles and knowing when to take the picture to get everybody in the group smiling it's you know image processing and you know the pattern recognition and things like that so increasingly algorithms in the systems. And these are often put on chips. When you put the albums on a. Chip within these systems. However it can be more complicated than this IT systems level. Sometimes are very often these subsystems are put in larger systems in up with systems of systems that have multiple subsystems with their own separate designs and and these are all in some cases being linked together you. Well OK but overall the systems are smarter they can have active systems rather than the past the systems you had in the past systems that don't have a human in the loop. Collaborative systems that work together well to function systems so huge trends towards increasing algorithmic complexity really over the last ten or fifteen years in terms of this being deployed in the software area. Well OK so how are we going to make how we're going to design these systems. How are we going to make the software in these systems. This is the place where there's been a really big change but I want to talk about the traditional process that was used. Maybe ten years ago in industry before model based design came along and here's sort of a process workflow for making this it starts with requirements and specs which were done in paper form paper specification for what YOU for the algorithms. Then there was a design phase which often involved physical prototype to try things out on. Then you wrote code where a bunch of code and then after was kind of all done you tested it to see if it would work that was the traditional process. However because of the increasing complexity there began to be a whole host of problems the industry was noticing it was becoming fantastically expensive to develop this stuff and they were failures. Probably the most spectacular and the most famous software bug ever. Is it that at least and that I've heard of is the maiden flight of the area on a five launch vehicle people know about this. Just curious myside it's a couple hands. OK so this was the first. Launch of this launch vehicle was Flight five zero one. And about twenty seconds after liftoff. There was a malfunction software malfunction and they had to had to destroy the. The launch vehicle cutaways was going to come down hit them. I guess or something like that. OK And so what happened in twenty seconds afterwards is there is an integer overflow. OK so the energy overflowed and they did a you know a fault now so the whole event but the energy flow flows in the guides and control system that was controlling the vectoring of the nozzles OK And what happened was they had taken the guidance and control system they used on the area on four and they put it on the area on five. OK And it was. And and so but what happened twenty seconds after lift off is the Horan's all of a lot because it was an error in flight was a larger rocket the horizontal velocity of the whole platform was larger than had been expected or had been modeler and so that horizontal velocity overflowed the sixteen bit injure and once you were full of God's control system like that. You know just complete loss of control. OK so this was a this was a systems fail or it was a requirements failure. You know the requirements weren't right there wasn't really proper modeling done on this. There was a host of different things that happened there. And it wasn't really a coding error. OK sometimes what a times you find in history when you have a which what's called a bug. Most of time is not pure coding errors usually there's a system of requirements failure at the root of what caused that. OK so so significant software failures. Another one is the expense of writing software expense of writing the C. code that goes into products like this. This is an artifact from code and done so it shows their development process and you can see it has passed over on the left side and you can see that software design is a code. Box. You have to once you've designed it you have to verify the code line by line. There's two coding parts in their schedule and certainly in Denver. When they presented this they were trying to make their development process more efficient. So they could products out faster and the coding was a real problem. It was too time consuming too expensive. Introduce defects and if you know Toyota they hate the facts. OK They're out to drive those out of out of the system with their air quality approach to quality. They also didn't like to many verifications state so they had that if they pointed this diagram and said can we make this go away. You know can we can we fix this coding process which is very inefficient. Another problem could portability. If you do a design and you targeted something like a C six thousand or a an ARM processor and so they want to go work on another platform. OK if you've written a code by hand you out. You're not a port we have to start over again read all that code over over again and with the proliferation of all these target platforms out there that was that lack of portability was a real problem. OK so if we go back to the traditional develop process. You know there. Those were some of the problems encountered but at the requirements level the probably the biggest one was paper specifications are ambiguous. You know they're they're not precise. OK And there are multiple versions of truth. The design phase. You know it was physical prototypes which were expensive implementation we just talked about the problems with Daniel coding process and then in what happened is in traditional testing you get to the end of the game you do all the testing and you find errors late in the process. You often find problems with the design and you lock down a design discover a new way to do it. Late late in the game. And so these were real things that industry was telling us about we were talking industry out there you know because they were using Matlab but they were playing to these things and saying can you do something about this. These are some of our real problems now. It's in a lot of the. Through these large teams in aerospace and automotive and other places like that in fact these were separate teams. It was there was R. and D. did the requirements. You know you had a set of design that deal with the design element you had software engineers that did the implementation and you had technicians that did the testing. And so they were actually different teams of people. These were huge barriers between them of communication. They tended to throw paper over the wall to the next phase and so. So there were communication issues there. But also gaps between disciplines. You know within the design teams you know you had mechanical engineers that is software engineers digital or tries are a fan want that were also gaps in the design flow. Here's a Power Point from a large aerospace O.E.M.. That they presented at a conference we had in five or ten years ago and in there they were trying to again describe their problem to us and they talked about systems engineering and software engineering and see that see the fingers pointing each other there in the middle. OK So what happens is a problem arises results don't agree. And so everybody of course says well this is a problem on the other side you know there's a problem in the code or there's a problem. The simulation models OK. You know the requirements and and that sort of a slow process of trying to resolve these things in or through that was the one that was the problems the industry was having OK So what are some solutions to this. Well in terms of solutions I want to I'm going to focus on kind of two aspects to it when aspect the solution the model based design I want to talk about is response to these megatrends So they're being more software and everything and the other one is response to the problems being encountered in those development processes. OK so so by a similar aspect it was happening in other areas too and I want to sort of used to talk about that. By analogy. Suppose you want to build a building. OK these days. A large building. Well it's very clear you wouldn't rush out and just construct it first model it. OK. Everybody knows that. Similarly suppose you wanted to be interested in building a hydraulic braking system for a bicycle. You would just go to the machine shop and hit the wave on that. You model it. OK do some solid modeling they're OK where if you want to design a total aircraft. Well. That involves writing code so the wrong thing to do is just jump in there and start writing code OK's what we're trying to say in fact the obvious solution is to do some modeling modeling of a system so different type of modeling. You know it's not it's not the static model you get in solid modeling or in buildings. This is Dynamic Modeling and you need to have differential equations difference equations things like that. So in order to model a complex system like that you need a healthy library of system models in fact we refer this is multi to main system models. If you believe it represent all these different domains and I like to go through a set of the different types demands that we think are important in terms of doing and in system models in order to build systems in industry. The first to mean is continuous time models. This is these are the block diagram the control engineer might use the system flow diagram. These represent dynamic systems analog behavior Vironment models the underneath them is are ordinary systems of ordinary differential equations nonlinear obviously is the special case that is linear forms of those as well. So these are continuous time models or are something that needs to be in the in your toolkit of models Another want to discrete time models. This is the language of signal processing image processing video processing digital control all use discrete time models. A third area is discrete event models. This is used in for servers in queues and having delays in and and can be used for communication busses and things like that in systems. Another type are so-called state charts or state machine models. These are for modeling mode logic or things that have discrete states this particular picture here is a state chart for a power window and automobile when you have different states like UP AND DOWN AND emergency down in obstacle detecting things like that it's not a it's not a continuous time control type thing but it's a set of actions to take with certain states. It turns out if you go into an automobile in fact this is almost the dominant type of control that happens in in a system like a car as all these you know as discrete events Your when she wiper positions your cruise control positions are all just the things have to happen in those different modes. Physical models is another important area and this is an. This is these types of models where you know not really interested in differential equations you would like to work. You might like to work with resistors or capacitors. Or perhaps at the level of a motor where you have an aggregate of those and or it could be hydraulic models or a mechanical model where you have linkages in joints. That connect things up in this case the lines are or are bi directional they represent a pressure or a voltage there not a single direction like in a system's model. Another kind of models there are important text based models sometimes algorithms are best described in text form they're not best described graphically and this is an example of about fourteen lines of matlab code that implements an extended common filter and a common filter is something that's just best written in matrix form. That's the way you want explained that's the way it was theories presented that's the best way to describe it and it only takes fourteen lines amount of code to implement something like that. So it's important able to have text based models in terms of Europe and the taken especially when you're building out rhythms. So we have the math works have been working really hard over the. Last twenty years in fact to build a single modeling environment for multi-day main systems it's been a great sort of you know you guys do you are your research here in various areas in some ways this is our research project that we've had going on for twenty years of how to. How do you mix all these systems together. You can find a lot of software out of those individual pieces of these modeling domains. OK and one at one of the project we've been working on is how do you have all work together. How can you simulate some have something that can work all these things can work collectively and you get the interplay you get the build off of you can. You can apply a common filter to a circuit without having to you know having the linkages and things like that. And so we've been really working hard to Phyllis and it's only recently that a lot of these different software modules have become available to support these different to Mainz. And and it allows you to do end in simulation of something like a tilt rotor aircraft that has you know landing gear and hydraulic systems and computer systems and you want to model the environment things like that. And so. So what you use these modeling to Mainz for our for all that is system elements you know the mechanical systems there at the bottom. There's the software in the embedded control unit the analog hardware digital hardware and also the environment. You know you're not just modeling what you're building your modeling something to test it in the environment might be well Hudson examples that in a second. So so so the modeling. So one part of model based design is having an MA environment they can represent many different systems. Well to give you an example here of this of this these parts working together. Well this is a picture of a wind farm. Which in itself is a system but I'm going to pick a single wind turbine here to talk about. And here is Jim can you tell me the pointer here point out some of these things. So here. This is an old. Diagram of the wind turbine if you look on the top part you can see the bull a bottle of the blade in the drags and and the blades below that if you look down below that you find in the cell that's the gearbox that has the. You know the bullet shape thing that you see up on the tower but no that's the tower. You can actually see we you know model of the connection to the grid. You know in terms of electrical elements. If you go over the left side of the diagram you find the wind. So we will model of the wind the input to the terms we have to you know have it have an input response. And to the right of that is the main controller which is going to have several different states. And then there's some. Continuous time dynamic controllers in the yard controller pitch controller there in the middle so. So this is really a block diagram that's model the whole thing. And let's let's dig into some of the elements here and let's go look inside than a cell. OK in here you can see a gear train model which is done as a physical model you see a generator which will be an electrical model and there they are being connected up to the various mechanical parts. We can exploit now at the environment the environment consists of two parts one is the winter been the wind on the left side and the other one is the grid on the lower right side. So we'll open these up and so if we open up the wind. You can see we specify the wind speed as a set of points. So we're going to have the wit an increase from two miles an hour or so up to around fifteen and then drop and the wind direction will vary a little bit. As input to the model in the lower right you can see we've got transmission line connected to some of the motor there on the grid so that's how we're doing a model of that. But the main controller The thing with the S one S two S three in the middle is the mode control logic we can look inside that. And here you see a state flow chart and the major states of this controller are it starts in the park mode in the. Or left. It's going to go into start up in the middle. And then generating on the right. And there's a break mode down below. And so this is really for controllers and all that have to do with sequencing between needs different states we can now look inside to your controller and here we get you see is a simple idea controller implemented to control and regulate the blade angle as well as the direction of the of the in the cell. We could run a simulation of this in Simulink of all these electrical physical components state chart components working together and and so it's rich running right now when the wind speed goes about three miles an hour. The blade pitch command goes high and the parking brake releases. Are you can see the blades turn in the in the simple crude animation on the right. The rotor speed starts to increase. You can see in the top right scope and then as the wind direction shifts. Than a cell will rotate to track the wind direction. You know you can see this in the red line the top of scope and you can see than the cell moving in the animation the cells going to lag actual wind direction because the controller limits the maximum torque. As the wind speed varies the blade pitch is regulated to maintain the rotor speed optimum fourteen revolutions permit it. You see in the operate scope as the interaction shifts again the cell in the animation rotates to the right. And then when the wind speed drops below three. C. the wind dropping the blade pitch will be the blades will be feathered to minus ninety degrees and which you can see in the animation and it will come to a stop here. So so it's a fairly complex system model going through multiple modes of start up you know it's not just of this is not a linear control problem. You know this is a more complex system model here. That's modeling things the way mechanical electrical type people would with might build a model. OK so I talked about software and everything and more math and algorithm systems as being real innovation mega-trends and have suggested that system modeling is an important response to these megatrends that industry is using in order to be productive and to rise to these challenges. This is a second part to it though it's a system Ali is not enough. There's also a deeper process in bed then that's called model based design. And let's go let's go back to our traditional thing with the walls there and show how model based design changes this traditional development process. But the text based requirements is replaced by a model. And the industry calls this an executable specification. So rather than a paper spec that you can you know if you get a mistake. You don't even know you've got a model so you run the thing to see if it works. You know Malia to be very precise it to be very precise in terms of how you describe the requirements and also becomes a spec that the whole team can use. It's not just done by R. and D.. It's a whole system includes the environment and it's going to be used throughout development in fact test starts right away you start validation you start testing to make sure it works right away. Don't not wait until the end. Here's an example of a three G. wireless system. The thing to point out the there's a base station and that is the top box the middle box is the handset user equipment and then on the right you see a channel model. So there's the environmental model connecting it to that that's part of model based design. If we go to the design stage design. It is replaced by a process of taking the initial model and adding behavioral descriptions to it. Adding design details things like fixed point timing component interfaces things that represent the hardware and you have a chance at this stage to do design optimization to try a bunch of different things different approaches. It's very flexible stop being done in hardware it's being done in software and you can find problems before you go build with them. Here's an example of a decoder which is a signal processing up algorithm and if you look on here you can see there's down the middle. There's three or so different versions of this right here we do coder and on the left side there simply being difference to compare it with the output. If you look at the top one here. This one is the golden reference. It's written in a Purpura mathematical form. The way from a pure algorithm standpoint this next one at turns it into fixed point. So it's modeling fixed point effects. And the third version is adding hardware pipelining these are the successive elaborations you do to turn something into a real design and within this single window you can compare the results of all of them to see how they do relative to these real words design constraints that been added to them so it's a concept of what happens in design. When you go to implementation. Rather than writing code by hand. This is one of the more dramatic parts of model based design. In that there in that hand coding is gone and it's really transformed. You know the how you know like your car with it with a million lines of code that into my anymore it's auto generated now from models and it and the wonderful thing is nobody can write forty thousand lines of code without bugs just can't be done and this bug free code comes out. I mean the problem Yagur of the and it's not going to fix that but the code will be correctly represent what you have in the algorithm and that's a. Huge cost savings for industry and Abel's it eliminates the gap between software and hardware engineers in terms of implementing algorithms were the domain experts are the main experts and software engineers in terms of implementing algorithms. Here's an example from Honeywell where they're using out of a code generation to for a million lines of flight navigation flight control code in this case on it on a business jet and you know just enormous to many many cases in history have design teams they use the gold the new method and they made actual comparisons about which one was more cost effective. In the last step is the testing verification and instead of doing the testing at the end. Well OK The design is model aberration. But instead of testing at the end the testing is done all the way along the process and the models are the requirements the gold references and the testing is done throughout that process rather than being left to the end and you can actually reuse a lot of test suites throughout the design process. So so that's an overview of the workflow changes that happened and the different elements that and we're meeting with our When we meet with our major customers they typically point to one phase of this workflow and they say can you add this here. You know they give us. They're all trying to improve this workflow in ways that they can tie requirements to to the code and various other things like that that help them more more efficiently use these processes. Actually one more thing that might say on here. Well. Well the first was back in the early days when we were first rolling out designing was big and was being when I went to visit an automotive manufacturer in Germany and they they took me out to drive in a car that they were running some they had an active suspension system that they were had electronics some motors they put on the front wheels that could lift the differences. It's up in a way to so if you turn right. You know cars do this in the motors would push up and straighten the car out so they would take me out on the on the autobahn to for a test run on this and that is kind of scary because the guy was typing at a computer mounted in the front seat he was driving on the Autobahn about hormones are taking on a keyboard so much. I found a little unnerving. The when he was turning hard to show how it worked. You know sort of going back and forth. OK but it was the code running in real time. Actually I think part of what he was doing was is he knew that I and other people matter is responsible for the code running in real time and he wanted me to feel the safety aspects of driving out if we're writing code that matters that created there but. Anyway. What he what the story he told me is when he took his first model based design product using that process to the test track. They've been working in the design labs for you know a few months prior to this and they're ready to go test it out on the test track so they they go out there you know with their software and they go out and get in the car and they were on a test track and it worked. The first time. And there was there was a couple technicians helping out and technicians looked at them and and these were old grizzled technicians and they said this is the first time in my career an engineer has brought something to the test track that worked the first time. OK because they're used to engineers would show up with a bunch of code written it had really been tested very well and you know and but now this thing. The reason it worked because it had been tested. They didn't run against models. OK so they worked out all these scenarios. OK You know you get out of the car and you're left with a few science you might have forgotten at the last moment. You know and some of the interfaces and things like that typically don't work out and so you know it's a dramatic change to how how this stuff is developed in the automotive industry. I Caterpillar uses the model based as I. They they compared regular methods with model based design they found two extra forks reduction in person hours and. Is huge for a company that's a huge reduction in development efforts. And a reduction of calendar time. OK In terms of time the market. Caterpillar and other companies often talk about going from manual calling into model products. And they talk about you know we you know modeled all all you know hybrid control or something like that is that the knacker they use is a model system. Here's a news article motive news about a year ago talk from talking about General Motors that I just want to kind of you know just give you an example of where some of the stuff is used this is a quote by the director who's in charge of the software for power train and his middle com is I don't think you can do a hybrid control system without model based design and development the name of the game in hybrid is integration. You can't make an engine and transmission separately anymore. And then integrate it into the last minute that's to be conceptualized as a family is a system system is an exception as well. You're in products not going to work very well. But other companies like Toyota to one of their fundamental beliefs as a company is really design innovations or early design process is really is a process before they walk into design they want to try a lot of things can many companies commit to a designer early and then work it out and make changes to it you know near the end to adapt to it but I would like to put try to look different out of box things and the modeling really helps that really allows them to do these multiple design iterations on paper where they're not as expensive as once you go to hardware. Here's a study by or if you do little that shows the trends in amount of time spent in different activities and you can see that the these two curves which are implementation in test are trending Dow they're industries doing lest implementation and test and so. The economy will support is Will companies to companies know in order to be successful in growing their own grow their own revenues in their economy innovation is the way. And so the model bases and gives companies competitive edge is here in terms of having really design interation it's. We have our customer base is very interesting. We can break it into kind of well loosely into three camps. There's industries that are very collaborative aerospace not a lot of very collaborative they don't they're not trying to compete on using our tools and they have industry meetings where they share lots of information about how to use our tools and we work with OK. There's the finance industry to use our tools we have no idea what they use it for they won't tell us a thing. OK completely secretive. OK. And then there's a number of consumer products companies who are individually. Unbelievably secret some of adopted are because they feel like they've got a real edge in using our products and they're sure their competitors haven't caught on a model based design and they repeatedly make us where we want to mention their name. OK you're the financier they don't mind if you mention their name. They don't tell you what they do but but some of these consumer companies they just don't want it known that you know they may be on a development process that you know is five years ahead of their competitors. So that's sort of what we see out there that the secret ones are actually hard for us because we can't get many requirements for what they need the ones that collaborate more like automotive it's been a very good industry for us because they're very aggressive as you seem of all the software in the automobile and they're full of ideas and collaborate very well in that. So another key driver model based design has been to eliminate the manual coding that's a huge thing to not have to write their code you know some companies model based just for that step. Improving quality is why some companies adopt model based as zine quality is very important and the really early the envy helps so that the collaboration across disciplines because there's a common modeling environment. You can build a shared models. Clabber development stages. You mentioned before how it used to be the walls between the groups. So this is allows everybody to have a goal model they can work for you go to the model rather than going to a piece of paper some place you go to the model to find out what's the truth. So this is a summary of model based assign an industry. If you switch now to education. There's a curriculum survey that was written came out I think last year in the control system society was a survey of industry University about what should be being taught in controls engineers and their list first slide is pretty good agreement between industry and professors in terms of the top four items on hands on experience in history focused design computer software and look mathematical modeling of dynamic systems. These are the top four. It went down below forty. Well below forty in the other ones. And there's another question about what types of models should be being taught in school here there's quite a bit of disagreement. Unlike the previous slide. There was agreement on linear models but after that it started to diverge where industry wanted controller and it models sim simulation models non-linear models finite state machine models and real time models for hardware in the loop and so there's a gap there between what in a few things at once and what education thinks you should have. So one of the reason brings to attention is a lot of these things are you know I'll tell you why this is showing up here. It's because the model based design industry. You know this is what industry introducing model is designed to use things and they're there they're hoping that there's more training. It's interesting. Japan is actually implementing of the big curriculum to try to train train what they call M.B.D. engineers trying to develop curriculums to train this methodology so people can hit the ground running when they get industry. Up models based designs being used in education a lot of time a lot of cases been in project design. Design projects and project courses like the eco car in the lower left to simple things like Lego types of experiments. So the project course is certainly one place that it's being used. Well Kate. So the key idea tried to present you present to you today is that model based design has has really transformed how complex systems are developed an industry and it's happening reasonably suddenly over a ten year period and not that well understood by you know people in education in a lot of ways. And the second one is my conjecture for the future. I believe the model based design is going to transform education we Mathworks has experience with how matlab transformed teaching of computation in different areas of engineering over the last twenty five years or so you know from the advent of the personal computer producing software that can be used for teaching we've seen happen in matlab. And it's my belief that model based design is going to have a similar effect in education over the coming years. And and here is you know some of the areas in which we think it will will have a role in teaching will will will have an opportunity work with models. Directly in teaching with those. Project based learning I mentioned you know a lot to educate lot of design a lot of the interest in education innovation. You know there's courses in it there's entrepreneurship courses things like that. So that's an element of it you know trying different alternative designs another thing education education is full of fancy mathematics. One of the question is how do you get that math into systems. Oftentimes you learn in school you go out in history in the math isn't used and now with the power software out there. You really can get those more advanced algorithms out there. And I think that's great for education certainly limiting low level coding. I mean nobody here wants to do low level coding is not something that you know there's been an obstacle to the use of step to. The design in the past. And so we're getting it out that gets rid of a major hurdle in terms of trying a lot of these things. But the club aeration I know you know universities always try to you know it's Goldman you collaboration between different areas. So it's an opportunity to do that within the modeling environment and then preparing students for industry because this is the type of stuff industry wants. So I guess in summary it might my talk here just kind of comment going back and talking covering some things I talked about the economy is in a recession the way out is through innovation. Innovation is the key driver for the economy and our standard of living both as companies. And as countries in fact. I like to tell people the world is counting on us. Scientists and engineers to drive this innovation and continue. Our call our standard of living in the economy. It's coming from science and engineering. I don't believe anybody else who tells you anything different. So my opinion software software and everything and more math and algorithm systems are two important trends that are happening over the last fifteen years and they're mega trends they're big and we're seeing embedded systems in everything. And companies with high tech products have to respond to this. It's not possible to not put software in what you're doing these days and that and finally the system modeling in model based design are a response to these trends they're countermeasure to help with companies building products and responding to these rather dramatic trends. Thank you for listening and fine. We have stopped teaching what coding stop teaching coding. My pain on that I have pain so that the biased. I think that I think computer computer training is some languages are essential for people to get industry. I think there's I think there's two that ought to be learned. You gotta learn a computer science you have to learn matlab of course I have to say that that's a problem that's a problem solving language for solving problems but you ought to know either C. or Java too. And you get industry you're really you know we live in a computer era. You really and I think Java and that lab are the foundations for which you can do almost anything out there in industry but I think you're handicapped if you don't know either of those to be honest the right place where they're right. So the question of verification of validation is actually one of the leading sets of things we're working on with our customers right now we are used in in what we call safety critical applications. You know which is flight control of the air spaces. Is some of the more demanding areas and we have a sort of we have a set of artifacts that can help go through search through certification steps that are required to validate code is correct. There are quite generators are extremely high quality because they're used so heavily and we have an enormous investment in testing but we don't have we can't prove it's correct. OK So but we're we are working on validation tools to help ensure that. So I don't. Jim you know we used in new clear critical applications I can't speak to that I don't believe we are critical of a lot of your question is are these are the same with our love that. We sort of use ways or. That you take advantage of that you are sure of that. Yeah I mean I suspect there are code generator exercise more than the codes that you're talking about just aren't our entire customer base and you know so some ways just using something heavily gives us some confidence in it although that we're working on other ways to try to triangulate on that what you need using yours. He's hired Russian Russian That's a tough one. A little above that. Well I give you a related one what the maybe a little bit of that one of things we've encountered this week is you take this tool set you put it engineers desk and they can use it any way they want to and what happens is organizations actually don't want that they want to restrict they want to limit it in certain ways they want to. They want to come up with guidelines and best practices. OK So in some ways the next level. Conceptually is a set of best practices about how you model things you know how you put the pieces together and how they work and that's probably the area that's of most active interest to a lot of our large customers right now is so-called guideline development to you know ensure best practices there above that I don't think I have a particular quick answer on that that I can think of beyond that with a good history with the going that we started with all of the discussion of all of your love. But there we sort of locked our brother jack of all trades by what it was you mean because you're liable for your systems. So you don't want to lose that. So the question is how do you do you let people there while they did so there's an interesting upward pressure. There's a writer Richard all or that is the more first to the multi-core questions you absolutely right. The multi-course or make programming more difficult. I think that probably depends what the what problems the universe you're trying to solve for a lot of stuff you know if you're using Matlab to work on an algorithm multi-core most time isn't that important. You know you're working on time to insight or time to discovery and actually speeding something up a little bit you know your most important thing is how long it takes to write that rhythm down and simulate OK So a good portion doesn't really matter. It's the response a part of it is response to the vendors like us to make sure we use the multi-core you know so if you. You know if you work with them. You know on a large matrix computation and you have a multi-core it's going to go you know ideally you know four times faster if you for course there so we can provide a lot of that built in. And we're also trying to provide construction matlab that allow you to take advantage of that on the Simulink side we one of the key elements is be able to partition models into different parts that would run on different course. So what we can provide tools that you if you're trying to do a design problem you could separate the different parts there. So I think. Really. Unless you're really interested in parallel processing research the best thing to do is is to kind of wait for the tool sets out there to support that and give you the freedom to play with those the way you play with the other elements of the systems you made where you're very OK So the quest questions about how to integrate with other types of models and packages. There's a whole ecosystem of kind of kitty out there you know we we we have a variety of connections and links we do to other modeling domains and environments and whatnot that we try to you know based on customer man develop ourselves customers or develop their own other vendors or some of these other modeling environments built their own connections so largely it's a tremendous amount of connections you know one of our one of our fundamental design tenets is a company is extensibility So we're we have a pretty extensive A.P.I. for adding things in there. You call Java directly from inside matlab you know just to any any any Java function you need. I mean I was looking for you know I needed to find my P. address in my computer an automated fashion so I just typed in Google. You know Java you know host ID IP address or something like that and I got a line of Java code to call and I typed it into Matlab and got my IP address you know so it's that's all automated biassed by providing the seamless Java A.P.I. and you can tap into all the java connections for example. So it's part of our job is to you know provide that kind of to video and so forth but there isn't one answer depends on the area. We hired three zero zero zero zero zero zero zero zero zero zero zero zero zero zero zero zero so. So actually we see the opposite. Now and I have to in some ways I have to toaster when I first graduated went to college when I went to college. When I graduated college and started working as a control engineer. I was doing had to design control systems. I was assigned a programmer to do my programming. OK And that was a caste system. You know my company had the programmers and I had the engineers and it was very clearly two level and I didn't write code. I gave stuff for the programmers to write. OK that's gone most programmers are not in the there's no shortage of programming work nobody's lost jobs here. Get me wrong on that but it juniors are a lot of Usenet can use malam cells to do their own work. They don't need somebody else to write the code and it makes you phenomenally more of effective to be able to think in that thing and you know I think that's really what's happened we've seen with the Simulink deployments there really hasn't been you know the programmers who used to write all that code. There is so much embedded systems work they find plenty of other stuff to do. OK it just sort of drudgery of implementing somebody else's algorithm goes away. So we so we really haven't seen that in some ways almost the reverse. It's by you know it's like compilers automate creating assembling which you don't have to be in assembly language programmer anymore. You know it's moving these higher levels so. Well cake generally moderate generally modifying the generated code is a no no. OK Because you. You can't put you can't regenerate it and replace it. We certainly have customers they do that and they try to automate it but the minute you go there and you hand modify generated code you know you do you make it so you've broken the integrity of the design process. Well there are places the bill post processors that transform it and various ways. So there is some of that done but generally these things don't need to be processed they're self-contained units. Well a lot of time series a lot of times code generation is not used to the entire system it could be used for a component or you could have software engineers that are building. You know multitasking systems operating systems all that stuff you know that used. There's plenty of software that isn't done by this I don't want to say that spans all software. I don't even come close to that but it's particularly good for algorithmic stuff and design stuff and some of the mains I'm talking about but very often it's fitting into some larger system full of lots of other code that's there for different reasons many times a legacy codes. You know other types of code that has to be there but you want these to plug in and basically be as components that you try to modify it just breaks your whole cycle. Let me ask you just a little more what Yet all users have world or I really like this software that I suppose. Software for example factories. You know processors have a systems. Yeah software goes right back. So here's my question. We're down three or now right where we actually have just about everybody matter what. All right it's all right so conceptually there is no boundary. This could spend very wide in reality we have to be domain experts in the individual areas and we have to we have to become good at them one at a time. OK so you can't you can't boil the ocean. So you know we there's always an area that you're particularly good at and you were particularly strong in control systems strong in signal processing areas communications. OK And and but but but there's lots of other domains that are tied to that to particular strong automotive to control in aerospace you know consumer products. Like I said we've got secret companies and other companies that haven't adopted it. You know so there's varying degrees of adoption in different areas so but actually this Q one more example take factories for except factories use peel Cs sees a special type of code right. There's nothing that would say we couldn't develop a could you here for that but we don't have one. So we're not useful that area. So I'm just saying. Conceptually go pretty far. But yeah but we can you know we we try to focus on one at a time and using tarring people that know something about that stuff and experts in the domain that can help us shape an area. Yes just yeah yeah. In fact our different domains generate internally what we call and I our immediate representation of the different things and then we we have global optimizations we run on the I.R. In fact one of the big problems we have is those optimizations are starting to take a long time. Those are code generation used to be one second. Now. Now we're trying to conserve memory execution time run a multi-core every time we add another layer of those optimizations it takes longer to compile your model and so we're not the point we have to trade you know it's complex on Microsoft's compilers if you if you know that you have these global optimization flags that will analyze the actual use of code in the execution threads in prison observations of that. The product where they call that program guided optimization. But they can take hours to run. OK And so we're in that game where the performance actually does matter and some of those optimization So there are there are challenging problems there that we're working on trying to solve to try to improve. OK. Models to develop models. Yet there would be some of your. I'm thinking about. The yeah you could measure models little mamma and a modeling languages of sorts. So yeah you know that's that's a few years ahead of us. OK One last question love. Well. Lynn PAC is interesting is we've now we now fund that project we donate money and used to be National Science Foundation is like that but but we now donate money to the work there which is being done at university Tennessee and Berkeley as to the place it's being done. So we're a supporter of that that software and it's not a static you might think it's that problem is solved well it's not because there's multi-core it's come along and challenge things. There's also these G P U's that have come along and challenge things so there's always new stuff to do in terms of applying the pack type of algorithms. So there is ongoing work there with what's happened with that lab. I mean I never been able everybody to be algorithm authors. So if you're you know in terms of a lot of these out there people people trade Matlab is sort of the unit of algorithm exchange in a lot of ways. I mean I've heard I heard talk of be you or somebody in their talk was talking about you know you know some of the saying you know all the important algorithms have been that lab. You know sort of you know it represent a state of doneness you know and they were looking for new ones to work on in some area. OK So you know I think that there's there isn't a single repository but I think there's lots of exchange of that happening. And certainly we you know we certainly have active investment in algorithms all over the place in ourselves. But you know the world is a much bigger and more complex place than we can do ourselves so we try to focus on some of the core ones and the ones you can be built on top of OK thank you all for me and thank you again Jack a very interesting to work.