Use of Non-Commercial Software for in Undergraduate Engineering Education

James S. McDonald Department of Engineering Science Trinity University, San Antonio, TX 78212

Abstract Engineering Software The Department of Engineering Science curriculum This paper discusses the use of non-commercial spans a broad range of engineering areas, and this software for UNIX in the undergraduate engineering section surveys packages from several: electrical laboratory and classroom. Two main categories of engineering, mechanical engineering, systems and software are addressed: engineering applications across control, and general-purpose engineering tools a variety of disciplines, and The main advantages that have been observed in using components. Engineering applications are surveyed, non-commercial packages such as those surveyed are: and it is argued the best of these have several important · They are often intended for solution of textbook-like advantages over similar commercial packages in the problems, even if they are not expressly designed for context of engineering education. Graphical user tutorial purposes. This is very appropriate for interface components which allow the presentation of undergraduate students and reinforces theory learned these applications to students in a “user-friendly’’ way in the classroom. are surveyed, and several example GUIs are described. · “Bells and whistles” which are often found in Introduction commercial packages and which allow novice users to “get results” with little knowledge are generally The UNIX operating system remains important in the absent. It is usually necessary to understand the engineering industry and in engineering education at fundamentals of the problem at hand to get anywhere. both the graduate and undergraduate levels. The · Students are not “trained” on a particular vendor’s Department of Engineering Science at Trinity University currently-hot software package. has operated a network of UNIX workstations, currently · Documentation is generally excellent, and apt to be a mix of HP 9000/700 series and SunSparc systems, for written more like a textbook than a user’s guide. the last five years. During that time, almost all · Packages are generally developed at universities or engineering and other software on these systems has been non-profit research laboratories, many international. non-commercial in origin. This paper surveys some of This gives students an invaluable glimpse into the the most useful such software in two main categories: world-wide research community in engineering and engineering applications suitable for undergraduate some of its contributions. education and graphical user interface components. · Package developers are often graduate or even Some of the advantages of using non-commercial undergraduate students. This provides very positive software in each category are discussed. The software “peer pressure” on student users of the software. surveys are by no means exhaustive, but mainly on packages which have been used extensively in our Electrical Engineering department. SPICE [1] is the direct ancestor of almost all available Engineering software is the topic of Section 2, and circuit simulators. It contains all functionality necessary graphical user interface (GUI) software, including several for introductory circuits and electronics courses, and complete GUI examples, are discussed in Section 3. familiarity with it gives students a strongbackground for Additional materials are included on the CD-ROM learning more sophisticated commercial simulation edition of these Proceedings: packages. Although its graphics capabilities are · screen captures of many surveyed applications and all becoming antiquated, raw SPICE files are supported by example GUIs and the excellent xmgr plotting program, described below. · a compendium of relevantURLs phasor , circuit , and periodic , all products of the INTERACT project [2] at Cambridge, Heriot-Watt, and Strathclyde Universities, are excellent tutorial programs computed and vortices shed from the trailing edge can be for circuits and systems courses.phasor allows animated. visualization of multiple rotatingphasors and their sums Systems and Control in the complex plane. Amplitude, phase, and frequency Scilab, developed at INRIA, is a MATLAB-like package. of each phasor is adjustable and the summation feature In addition to all MATLAB functionality likely to be can be used to visualizeFourier series decompositions. needed in undergraduate systems and control courses, it is similar, allowing visualization of input and circuit has data types such as lists, symbolic polynomials, and output phasors (or sums ofphasors) of simple RLC transfer matrices, and advanced computational tools such circuits. periodic is aimed specifically at as linear matrix inequality solution and nonlinear visualization of Fourier series representations of periodic optimization. Two- and three-dimensional color signals. graphics and animation are built in. Many demos are pcb, developed by ThomasNau at the University ofUlm, included, as is an excellent manual set. is a printed circuit board design tool supporting up to octave [5] is a more modest MATLAB-like package eight-layer boards. Placement and routing are strictly which nonetheless contains all functionality likely to be manual (probably an advantage for educational use), but needed at the undergraduate level. It is also largely it is otherwise quite sophisticated. A rich, easily- MATLAB-compatible, allowing m-files to be ported extensible parts library, an excellent user guide, and a painlessly back and forth. Graphics support is provided sophisticated example layout are included. through gnuplot (see below), and an excellent manual Mechanical Engineering and other documentation are included. FElt [3] is a suite of easy-to-use finite-element codes sysresp, rlocus , and lgraph [6] are companion intended for introductory courses in the finite-element programs which provide sophisticated GUIs for the method. It supports basic elements including three- investigation of linear systems and classical control dimensional truss elements, two- and three-dimensional methods. sysresp allows entry of plant and Euler beams, two-dimensionalTimoshenko beams, and compensator transfer functions and display of various an eight-node brick element. It can perform linear static properties of the open- and/or closed-loop system, and dynamic analyses and has limited support for three- including Bode plots, step and impulse responses, root dimensional problems. The mainFElt application, locus, and state-space realizations.rlocus focuses on velvet , is a GUI-based problem definition, solution, the root locus computation and includes a tutorial mode and post-processing environment. Ancillary applications illustrating the basic rules for graphical construction of include felt (a batch mode solver) andcorduroy (a loci. Both programs support continuous real-time mesh generation tool). Documentation is excellent and visualization of system properties as poles and zeros are many examples are provided. added, deleted, or dragged using the mouse.lgraph AERO [4] is a three-dimensional rigid-body simulator. allows system entry using linear graphs. All three Basic objects such as spheres,cuboids, and planes, can be programs are excellent tools for learning basic linear graphically interconnected via link elements such as systems and classical control concepts. rods, springs, dampers, and joints. Objects have General-Purpose Engineering Tools adjustable parameters including density, damping factor, xmgr, developed by Paul Turner at the Oregon Graduate and coefficients of static and dynamic friction, while Institute, is a powerful two-dimensional data-plotting links have adjustable lengths and/or spring and/or package. It supports user-defined scaling, tick marks, damping coefficients. The overall system can be labels, symbols, line styles, and colors; reading and simulated, wire-frame-animated, and finally ray-traced to writing of setup parameters; linear regression,splines, produce realistic MPEGanimations. running averages, DFT/FFT, and cross/auto-correlation; promech and airfoil are INTERACT tutorial input and output in many formats (including raw SPICE programs useful in mechanical engineering courses. input); and a batch mode. Up to ten graphs with up to promech supports the study of two-dimensional thirty data sets each can be produced on a single page. mechanisms; most can be graphically constructed from gnuplot , developed by ThomasWilliams and Colin standard elements, then animated and variables of Kelley at Dartmouth University, is a command-line interest plotted. airfoil allows the user to graphically driven function- and data-plotting package. It supports define an airfoil geometry and solves for both theinviscid two- and three-dimensional plots including surface and flow field and velocity potential. The boundary layer contour plots. Many output formats are supported, momentum integral equation is solved along the airfoil including LaTeX macros. gnuplot is also used as the and separations are calculated. Lift and drag are plotting engine for various packages, notablyoctave. xopps , developed by the MCA team in the Operations GUI Components Engineering Laboratory at NASA, is a full-featured Commercial UNIX GUIs and those which can be built Gantt chart creation tool which supports activities and from non-commercial components offer the user a wide events, current status display, ramp-up and ramp-down array of differing functionalities and radically different for activities, and activity and event precedence and looks. Recently, however, UNIX vendors have agreed slippage. xopps is excellent for scheduling exercises in upon a common GUI specification, the Common Desktop project-oriented courses. Environment (CDE) [7], in which several basic GUI functionalities are identified and described. Some of the Graphical User Interfaces more important of these are described below. One of UNIX’s primary disadvantages, especially in an Window management provides the rudiments of the undergraduate educational setting, has been its relative GUI, including decoration of application windows and sophistication and corresponding steep learning curve. control of their sizes and positions on the screen. Pop-up By comparison, personal-computer operating systems are menus and other actions are bound to mouse and not only less sophisticated than UNIX, but also ease the keystroke actions in various regions of the screen. In learning curve through the use of graphical user CDE, the is used and multiple interfaces (GUIs) such as Microsoft Windows. UNIX virtual screens are supported. vendors have worked to produce increasingly File management provides access to the UNIX file sophisticated and easy-to-use GUIs: Sun’s system. In CDE, the file manager uses a graphical OpenWindows, HP’s VUE, etc. Unfortunately, they are presentation: files are categorized by type, depending on neither uniform in “look and feel’’ nor portable across file contents and/or names, and are represented by platforms, and moreover they tend to consume enormous corresponding distinct icons. Files can be moved or amounts of system resources copied using drag-and-drop and actions, dependent on Because of the free availability of the , the file type, can be invoked using the mouse. upon which all UNIX GUIs are based, and with the Application management presents available applications recent spur of the development ofLinux, a free UNIX and allows them to be executed. In CDE, this is done in clone for IBM PC-compatibles, many non-commercial a graphical way analogous to that of the file manager’s GUI-components have become available in the last presentation of files. Applications can be invoked without several years. It is now possible to implement many data using the mouse, or invoked on given files using different styles of powerful and complete UNIX GUIs, drag-and-drop from the file manager. including partial emulations of most vendors’ GUIs, A front panel is an array of icons and pop-up menus using these components. which is used to augment the application and window Several example non-commercial GUIs which have been management functions, providing easy access to the most used routinely or evaluated on the Department’ UNIX frequently used functions. CDE includes a graphically over the last several years are described below. Their configurable front panel. main observed advantages with respect to commercial GUI Software Survey GUIs have been: ctwm, by Claude Lecommandeur, is a window manager · Increased execution speed. This was one of the featuring up to 32 virtual screens, a graphical map of all original motivations for using non-commercial GUIs, screens with drag-and-drop for moving or copying as older workstations becameunusably slow running windows among screens,pinnable menus, and animated their vendors’ latest GUIs. Specific speed-up results color icons. are given for each example GUI described below. , developed by Robert Nation and maintained by · Sophistication, as compared to older UNIX GUIs. Charles Hines, is a window manager with an integrated Users found the GUI of Example 1 more powerful front panel. Its window management features include than Sun’s OpenWindows, the alternative at the time. unlimited virtual screens, a graphical screen manager · Ease of use, as compared to more sophisticated newer similar to ctwm’s, and a credible Motif emulation mode. GUIs such as HP’s VUE. The GUIs of Examples 2 The front panel is configurable and can launch and 3 capture most of the VUE functionality that applications or “swallow’’ running ones. undergraduate students actually use and present it in moxfm , by Oliver Mai, is a Motif-compliant graphical a cleaner, simpler way. file and application manager, and comes close to · Portability across platforms. Any of the example emulating CDE in these two areas. File management GUIs below can be run on the Department’s Sun and features include file typing and default action definition HP workstations and on PC-compatibles underLinux. by file contents and/or name, multiple directory views, desktop file placement, and Motif-compliant drag-and- drop. Application management features include support 64 MB memory from about 10 s under VUE to about 7 s, for drag-and-drop from file manager windows, and on a 712/60 with 16 MB memory from about 40 s (!) interactive configurability, and desktop application under VUE to about 20 s. placement. Example 3. This is essentially the same as the Example The OffiX desktop suite, byCesar Crusius and Andre 2 GUI, but demonstrates how elaborately the front panel Hentz, includes a graphical file manager similar to can be configured. This one includes buttons for almost moxfm and supports drag-and-drop interaction with the all commonly-used applications such as terminal, text fvwm front panel through a supplied patch. Included are editor, Web browser, news reader, FTP client, remote simple drag-and-drop print, trash, and text editor login menu, calculator, and more, plus system status utilities. indicators such as a load meter and console log. TkDesk, by Christian Bolik, combines elements of file Performance is virtually identical to Example 2. management, application management, and front panel functions in an integrated package. File management is Summary text-based, using colors and fonts to distinguish file Non-commercial software has been used extensively for types. Multiple file windows,multi-level views, drag- several years in the Department of Engineering Science, and-drop, and bookmarking are all supported. Each file both for engineering education directly and for UNIX window has a configurable toolbar, and a separate, GUI building. Some of the primary software packages configurable, front-panel-like button bar supports used have been described and some of the general application launching and drag-and-drop from file advantages of the use of non-commercial software windows. discussed. tkgoodstuff , by Mark Crimmins, is a configurable front panel tool. It is well-integrated withfvwm , References supporting virtual screen navigation and other window manager functions. Configuration is through a GUI-style 1. Vladmirescu, Andrei. “The SPICE Book,” John preferences manager. Several client utilities for common Wiley & Sons, 1994. front-panel functions are included. 2. Thomas, Ruth C. “INTERACT Home Page,” URL http:// www-interact.eng.cam.ac.uk . Example GUIs Dr. Thomas, of Cambridge University, is INTERACT Each example GUI below has been run extensively or project manager. evaluated over the last three years in the Department of 3. Gobat, Jason I., and Atkinson, Darren C. “FElt: Engineering Science. User’s Guide and Reference Manual,” Computer Example 1. This GUI was developed to replace Sun’s Science Technical Report CS94-376,Univeristy of OpenWindows GUI because of unsatisfactory California at San Diego, 1994. performance on older workstations. It uses thectwm 4. Keller, Harmut, et. al. “Adventures in Virtual window manager with six virtual screens, an elaborate Mechanics - Simulation and Animation of Rigid- set of pop-up menus bound to mouse keys for application Body Systems,” Computer Science Report, no. 8/93, management, and a simulated “front panel” constructed Univ. Stuttgart, Germany, July 1993. from running applications with appropriategeometries. 5. Eaton, John W., and Rawlings, James B. “Octave---a Pop-up menus can be pinned to the screen, allowing high level interactive language for numerical them to be used almost as conveniently as a typical computations,” CACHE News, (40):11-18, Spring graphical application manager, albeit without file drag- 1995. and-drop capability. Window system start-up time on a 6. Wall, M. B. “Interactive software for dynamic system Sun Sparc I with 16 MB memory improved from about modelling using linear graphs,” IEEE Control 35 s under OpenWindows to about 15 s. Systems, June 1991, pp. 60-66. Example 2. This GUI is being evaluated to replaceHP’s 7. CDE Documentation Group. “Common desktop VUE because ofVUE’s unsatisfactory performance, environment 1.0. User’s guide,” Addison-Wesley especially on memory-limited machines. It provides a Pub. Co., 1995. look similar to CDE along with much of its basic functionality. It uses thefvwm window manager with its integrated front panel together withmoxfm for file and application management. moxfm has been configured to recognize filetypes associated with many of the engineering applications discussed above. Window system start-up times are improved on an HP 712/80 with

Links: · aero.gif · circuit.gif · gnuplot.gif · guiex1.gif · guiex2.gif · guiex3.gif · pcb.gif · phasor.gif · scilab.gif · sysresp.gif · tkdesk.gif · velvet.gif · xmgr.gif · xopps.gif · urls.htm