Improving Scilab’s Xcos User Interface Lakshmi Prasanna Mutyala Pulkit Mittal Srinivas Baride
Introduction Scilab: A free and open source software for numerical computation Provides a powerful computing environment for engineering and scientific applications Xcos: A graphical editor package available with Scilab to design hybrid dynamical systems models Models can be designed, loaded, saved, compiled and simulated
Aim of the Project Add new features to improve the GUI of Xcos to make it more user friendly An attempt to provide an open source equivalent of LabVIEW It is likely to be used for several virtual labs projects
Features implemented New TK Scale block with additional properties Run time auto scale feature for Xcos graphics Search block tool in Xcos palette browser Recently used blocks palette Key events for blocks panel and selection of multiple blocks Combining input/output windows in a single window
TK Scale block An input slider block Allows user to change the input during simulation/ run time User can select the input range
Continue... All TK Scale windows have same label as “TK Source:” Unable to differentiate for multiple Sliders
Continue... No “label’’ field for user to specify the name of the block
New TK Scale Block Differentiates between multiple sliders Uses utility function - curblock Feature for customizing the Block Name
Continue... Added new TK Scale block using utility functions
Runtime Auto Scale feature Manually specify range of Y-Axis Graph not visible if data exceeds the range
Continue.. Auto - scales the range of Y-axis at run time If value exceeds the range, auto adjust to new range
User must know the palette name of the block In case the user doesn’t know the palette name then he/she has to go through all the palettes
Continue... Added a search engine for blocks Written a method that returns block paths related to search keyword Used these paths to reference actual blocks and displayed the same in the panel 1 point on technical details
Recently Used Blocks Palette Added a palette named Recently used blocks Every selected block is being added here without duplication Technical details - 1 point
Key events and Multiple block selection Added key events for navigation keys Enabled multiple block selection using both ctrl and shift keys Provided Drag and drop feature for multiple blocks
Combined input/output windows in a single window In Xcos on simulating a diagram, it would open multiple windows for each input and output blocks Leads to cluttering of windows Most Scilab windows allow docking and undocking We added this feature to all other windows We took advantage of this feature, and combined all windows to a single window
Cluttering of windows on simulation
Combined windows on simulation
Challenges Debugging in eclipse We could only access java source code in IDE Execution used to get halted after starting simulation Debug and Compile using command line Debugging is manual work Time consuming No sufficient documentation for new developer to kickstart
Thank you...