 Hello, everyone. I'm working on the project entitled Improving Sylapse X-Cos User Interface, along with my team members, Lakshmi Prasanna and Srinivas Bariade. So, let me briefly introduce you to what about X-Cos. X-Cos is a tool of Sylapse, which is used for simulating the models. The main aim of our project was to improve the user interface of X-Cos. We attempted to shift the people's, because LabVIEW is a property software and not every organization can afford it. So, the features we implemented include providing a new TKScale block with additional properties, implementing a runtime autoscale feature for the X-Cos graphics, and the search block tool recently used blocks tools and all we all implemented, they will briefly introduce you. Now, TKScale block. So, TKScale block is an input slider block and it is important because this block is the only block present in X-Cos which allows you user to change the input during the runtime. So, now, what happens in the current implementation of Sylapse which is available when we use more than one TKScale block inside of a diagram. So, there is no feature so that we can differentiate between the various TKScale blocks which are appearing. As you can see, there is only one label which is happening, TKSource only. So, user can differentiate. Also, there is no feature available like to give a customized block name as per the user, which is very essential when we are you drawing the good diagrams. So, what we did? We completely implemented a new block for this purpose. You can see though, we have implemented a field where we can give the label field and give the name, and by default, even if we don't give the name, they are differentiating it automatically. So, the next feature we implemented was the runtime autoscale feature, as I mentioned previously. So, presently what happens is that, if user wants to plot any graph, he should manually specify the correct ranges of the graph. If we didn't specify the correct ranges and the value to be plotted exceeds the value. So, exceeds the range of the graph. So, as you can see, the graph is not visible to the user. So, for all this, it requires the coding in the salab programming language C, C++, and also debugging the code in the Java. So, as you can see in this slide, so autoscale feature has been implemented and this graph will automatically adjust this range. If the value to be plotted exceeds the range, whatever it is, up to the range of long, long interval, whatever variable you are using. It takes a range. Huh? This graph also takes a range. No, even if you don't give, there is a default range. So, if the value to be plotted exceeds, it will automatically adjust. But if it doesn't exceed, it will not adjust. It doesn't exist, what's the meaning? If it doesn't exceed, it will not adjust. If it doesn't exceed, that's good. It is already a very... Look. If I give 0 to 100 and all my values are between 0 to 5, it gives me 0 to 10. No, it will not. Why should it? Because it's an autoscale. Yeah. Even 0 to 100, all my values are between 0 to 5, I'll get something stupid like this. So, it should be scale to 0 to 10, that is autoscale, okay? Okay, yeah. So, our feature was to implement, if it exceeds, then it will adjust. From... Okay. And who gives you those 0, 10, 20, 30? What, sir? Those scales, dash, dash, lines. Huh? Who gives you those intervals? You are talking 0, 10, 20, 30. The interval of an axis is like that. Yes, yes, yes. So... Who generates that? By default, it is 10, and if the user wants to change, he can change. So, what does it want to change? You are autoscale. So, it will be a value minus 1 to 10. So, if we calculate that... Yes. No. It will adjust to like max value, which you are specifying, minus the min value of the graph, divide by normalization. Okay. Okay, okay. Yes. I want a graph of 0 to 10. Yeah. Oh, I told you earlier. Yes. Then, it will go to 0 to 100. 0 to 100. 0 to 1 billion. Hmm. So, it will go to India. Yes, India. Now, I give you a value between minus 200, 200, 200. Hmm. What will you do? It will plot those values. What will be the scale? Who generates the specific points? If you specify it as 0 to 100, then it will be 100. Then, it will be 100. It will be 0 to 1 billion. Yeah, then it will be 0 to 1 million only. With 1 lakh as the point. Now, what do you do with your software? If you have specified, then that range will be displayed and the value to be plotted will also be displayed. I have given you 0 to 1 lakh. I am also saying the same that... I have given you 0 to 10 lakh. Yeah. I have given you my fixed should be at 1 lakh. This is my specification, correct? Now, I have given you exceeding minus 200 to 200. Is exceeding correct on the downside? Hmm. Yeah. What will you show in my question? It will exceed to the downside also. Minus 200 will be... It will exceed. Upside will be 1 million. Upside will be 10 lakhs. Upside will be 10 lakhs. Okay. Upside will be 10 lakhs. Yeah. What do you have? Yes, it will. That is not almost clear. You don't have nothing. Sir, you said... Almost clear. You said 0 to 10 lakhs. I have been doing this for 30 years back. I have done this. Okay. Instead of 1 million, what he has taken before? Okay. See, if the software will automatically break it to 100 to plus 200... No, it will not do it. 1 lakh, 1 lakh. Minus 200 to plus 200. Yes, it will show minus 200 value. Yes, it will show minus 200 value. No, I can show. I can show. I have a demo. Next, next. It will show the value of minus 200. It will show the value, but is it almost clear what the maximum human being will say or that it's right? Max will remain 10... What he is... But minimum will... But minimum will go down. Okay. We should have a test. Okay. So now I would like to invite Prasanna to carry forward. Hello, everyone. Moving on to the next feature. In the current version of Palette Browser, if the user wants to select any block, he must know the Palette name of that block to which that block belongs. So if he doesn't know the Palette name, then he has to go through all the Palettes to search for his block. So what we have done is we have implemented a search block where the user can mention the block name without worrying about the Palette name. So it will show the result of that such keyword. Yeah, the next feature is recently used blocks. The Palette Browser of current version is not having this feature. And this is a problem when the user want to reuse any block that he has just used. So we have added a new Palette name recently used blocks. And here we are adding the blocks that are used by the user every time. The Palette Browser of present version is not incorporated with any key events. I mean we cannot navigate through the blocks using navigation keys. And we cannot select the multiple blocks using control and shift keys. So we have given these features to the Palette Browser. And we have also enabled drag and drop feature for multiple blocks. Yeah, now I'll handle the session to Srinivas. He'll continue with the features. Hello, everyone. In XCOS, if on simulating a diagram, it will open multiple windows based on the number of input and output blocks which present in that diagram. So when the number of input and output blocks are increased, the number of windows also will be increased. So this leads to clattering of windows. So as you can see in this picture, there are four input block, input windows, and three output windows. So now user wants to go through access any window. He has to go through all windows. So this makes user using this software feels unfriendly. So we are added all the windows to a single window in our version. So challenges we are faced while doing our work, while working with our project, we faced many difficulties. One of those is debugging in Eclipse. At the starting, OK. Thanks.