CADSWES Maintenance Accomplishments -- May 2013 (edit 6-12-2013) RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Releases and Patches RiverWare 6.3 was released on May 30, 2013. Release notes may be found in the RiverWare online help and on the www.RiverWare.org website. Creating this release involved: (1) Organizing and writing the release notes (2) Testing the release executable (3) Generating an updated set of online help files in PDF format (4) Managing the transition of code from the development area to the release area (5) Administering and updating the configuration files for building the software (6) Compiling and verifying the builds (7) Setting up a regression test area for release test runs (8) Creating the release package (9) Testing the installation (10) Distributing the executable on the RiverWare web site. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Regression Tests The regression tests continue to be maintained on a daily basis. This involves updating the regression tests to exercise new developments in the code. Also, as new code is added to the development area, the model comparisons performed in the nightly regression tests usually show differences (for example, because a new method category may have been added). When this occurs, the regression tests need to be updated to reflect the current state of the development area so model comparisons do not fail. In addition, every week, the daily history of each regression test is analyzed to determine if the run time or model size has significantly changed because of new development. In May, the tests were updated and run as part of the 6.3 release. In addition, a crash on the release executable was identified and tested; work will continue to fix in June. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Development Snapshots RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Download, Installation and Release Process (1) Working on verifying and updating the release manifest files. These manifests identify all the files included in each release. (2) Worked on creating the Release_63 branch in builds and builds-rt repository. (3) Flexera InstallShield: (a) Created the new 32-bit and 64-bit project files for building the 6.3 release installers. (b) Documented the things that have been added or changed in the installers for the 6.3 release. One major new change is a SoftWare ID Tag file will be generated and included in the install directory on the target machine. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Licensing (1) Licensing: IBM ILOG CPLEX licensing changes: CADSWES has entered into an agreement with IBM which allows CADSWES to include use of IBM optimization software as part of a RiverWare license. Specifically, users can now purchase licenses which allow them to use the IBM Rational ILOG Optimization Studio libraries (CPLEX and Concert) as part of the RiverWare license. These libraries are used by the Optimization controller during an optimization run, so RiverWare optimization users will either need to license them directly from IBM as before or through CADSWES. Last month the RiverWare licensing procedure were modified to reflect the new agreement and the software was modified to enforce its terms. This month staff worked on reducing the performance impact of the new procedures as well as refining the language describing the licensing policy within the RiverWare interface. (2) Ongoing: Issuing Commercial Licenses: Generated and delivered (or in the process of issuing) license files to RiverWare users. Tasks included tracking the expiring licenses, contacting users to get information; generating license files; updating the license data records; providing instructions for RiverWare download, install, and floating license server manager configuration setup; and problem solving for users. (3) Ongoing: Maintaining licenses for internal development environment. (4) Attended the group meeting for CPLEX licensing from within RiverWare. (5) Issued new CPLEX license files for all internal machines. (6) Created the sponsor user license reports for Gwen and Kayleigh which include all the licenses issued for BOR, COE, and TVA in the past 3 years. (7) Reprise RLM: Tested the two new cplex features in the license file using Patrick's development executable file. Tested and documented the roaming license usage issue introduced in the 6.3 release due to the new RLM version 10.0 upgraded in the 6.3 release. Since roamed licenses are version specific, both RiverWare version and RLM version, when using a roaming license to run RiverWare, in order to run both 6.2 releases and 6.3 releases in the same time on one system, two separated roaming licenses will be checked out to the system. This only affects the roaming license users. Node-locked license users and regular floating license users are not affected by this issue. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Development Environment Visual Studio 2010: New Oracle packages compatible with Visual Studio 2010 were created for the tools directory on RiverWare development machines (both 32 and 64 bit). These packages were incorporated into the "win-config" process for downloading from the server to client computers. These new versions of Oracle dlls and libraries were not used for the HDB server in the recent 6.3 release of RiverWare. That existing server was built with Visual Studio 2008, and since there had been no new development in the server, this prior server was packaged with RiverWare 6.3 so that users would not have to update their Oracle Client installations to be compatible with new Oracle libraries. However, the structure is now in place so that when new development is required in the HDB server, it can be accomplished under our current version of Visual Studio (2010). Visual Studio 2010 performance problem: CADSWES recently switched from Visual Studio 2008 to Visual Studio 2010 as the compiler for RiverWare. As a result, we were experiencing much slower run times when RiverWare was executed from within the debugger. CADSWES staff determined that use of the Windows 7 debug heap was responsible for the performance degradation, and resolved the problem by switching to use of the low fragmentation heap. RIVERWARE RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT Software Maintenance - Qt4 Port Qt3-to-Qt4 port of the SCT: Porting of the SCT's series data tables was resumed in April and completed in May 2013 for RiverWare 6.4. This completes the full port of the SCT to Qt4. No significant functional enhancements were developed, but the new implementation performs better with very large series. This is partially due to improvements in Qt, but mostly a result of architectural improvements at the application level. This SCT porting work was based on an analysis done last year: SCT Series Table Qt3 to Qt4 Port -- March 2012 R:\doc\Qt\2012\Qt4Port\SctQt4PortAnalysis-2012mar12.pdf In May 2013, the following tasks were completed: (1) Completion of the "application-level" cell selection representation (in slots and timesteps) with improved and simplified coordination of the cell selections in the two tables (row header table and sct data table). (2) Incell editing and cell navigation features. (3) Context menus for the two tables (row header table and sct data table). (4) "Import Paste" operation reintegration. (5) SCT printing (6) General correctness and usability testing Qt3-to-Qt4 Port Completion: An analysis for completion of the Qt3-to-Qt4 RiverWare port was prepared, and porting work resumed: Qt4 Port Completion for RiverWare 6.4 / Analysis, May 2013 R:\doc\Qt\2013\Qt4Port\Qt4PortCompletionPlanning-2013-05.pdf In May, Qt3 widgets and classes in all RiverWare libraries (with the exception of DbDmi) were replaced with Qt4 widgets and classes. Recoding of the use of Qt3 compatibility methods with Qt4 started, and will probably be completed in June. Additionally, Qt4 porting work is continuing in the RiverWare Database DMI library: The original database DMI dialog was written in Qt3. When it was ported to Qt4 a small number of key features were omitted (for example, the ability to disassociate a slot selection from a dataset). The omissions weren't because of technical constraints but rather because of time constraints. Because of the omissions RiverWare supported both the original (Qt3) dialog and the new (Qt4) dialog, the expectation being that users would do most of their editing in the new dialog and switch to the old dialog for specific edits. By release 6.2 the new dialog had been enhanced to include all of the omitted features (as well as quite a few new features), making the old dialog obsolete. As a "safety net" the old dialog was kept in RiverWare, although it was only accessible by providing a command line argument or setting an environment variable. Finally, in release 6.3 the Qt3-implemented database DMI dialog has been removed. --- (end) ---