CADSWES Maintenance Accomplishment Report Compilation -- December 2015
Phil, edit 1-19-2016
December 2015 Maintenance Highlights:
Report contributors:
(II) RiverWare Software Maintenance
|
The following releases were generated this month:
The RiverWare 6.8 Pre-release was sent to all users on 12-22-2015 for testing and acceptance. This involved writing release notes, regenerating the help PDFs, updating the builds areas, creating the release executable, updating the website, and sending out the release notification. Release notes can be found on the RiverWare.org website.
The following bugs were fixed:
Plotting and Output Architectural Proposal
Users have expressed the desire to have more user-friendly and better looking plotting in RiverWare. Sponsors have allocated funds for improvements, but before these are implemented, it seemed prudent to revisit the way that users create, save, and edit plots and other output devices. For example, there are multiple dialogs where the user can select slots to plot and configure the layout (E.g. 2X1 curves) of the plot. In both places, the user can edit the plot and the interaction between them is not very intuitive. In addition, the plots use a "Save" paradigm which has never been easy to explain or use. In December, two documents were produced:
- A conceptual document describing a proposal for a new configuration of the user interface dialogs. /projects/riverware/doc/plotting/PlottingArchitecture.fm
- A document describing deficiencies and issues with the current plotting package. The document can be found in: /projects/riverware/doc/plotting/PlottingInterfaceDeficiencies.fm
Plotting Appearance Improvements
The border and spacing around and inside RiverWare plot panels, and in between the plot panel and the axes, have been removed. This simplifies the appearance of plots. This is a followup from updating our Qwt plotting library from Qwt 5.2.3 to Qwt 6.1.2, also being done for RiverWare 6.8.
TCL Upgrade
TCL is a third-party software utilized in loading and interpreting RiverWare model files. The version of TCL used by RiverWare was previously updated within the 8.5 series from 8.5.1 to 8.5.18 to address a crash that occurred when loading a user’s model. The change, however, resulted in a slowdown of up to 10% in the overnight running of some regression tests. A potential fix for this was tried to eliminate the writing of continued separate lines for the data in long time series so that these lines do not need to be rejoined during loading. This did not improve the slowdown in regression tests.
A second attempt at a fix was successful, accomplished by upgrading TCL to the most recent 8.6 version (8.6.4). This fix required minor changes to some TCL method calls made from the RiverWare code, but resulted in restoring regression test run times to prior levels. The new version of TCL was incorporated into the RiverWare build process. This involved:
- Downloading and building 32 and 64 bit versions of TCL 8.6.4
- Creating tarred package files of the new versions for 32 and 64 bit.
- Modifying the window configuration process for development machines to download the correct package file for the new version.
- Committing the required RiverWare source code changes to the RW 6.8 prerelease and RW 6.9 master development branches of the code repository.
- Updating all development machines to use the new version.
None reported for December 2015.
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 December, the slowdown of certain tests that occurred in previous months was further monitored and found to be improved after the TCL version was updated to the current version. In addition, the tests were updated and or restarted after the version number was increased for the pre-release.
Reprise: Statically Linking Library for 64-bit Builds
Reprise is the licensing software that is used by RiverWare. The RiverWare executable developed to use static linking to Reprise was tested and found to work correctly. However, when a statically linked 32 bit executable was attempted, there were errors due to multiply defined symbols in the dongle libraries of Reprise and FlexLM (FlexLM is the prior license software used by RiverWare, which is still used for various reasons by some customers on 32 bit). In consultation with Reprise customer support, several approaches were tried to fix these conflicts, but none were successful. It was decided that the 32 bit build of RiverWare would continue to use dynamic linking to Reprise, but the resulting 32 bit executable would be placed on a password protected area of the RiverWare web pages and be available to customers by request only. This is due to security concerns from hacking of the Reprise dynamically linked library (DLL) file.
RiverWare configuration files were modified to link statically on 64 bit and dynamically on 32 bit. These changes were incorporated into the RiverWare build process by creating 32 and 64 bit package files, modifying the window configuration process for development machines, committing the necessary RiverWare source code changes, and updating all development machines with the Reprise changes.
Subtasks for these changes include:
- Tested the RiverWare executable which has RLM library statically linked.
- Created a testing InstallShield project file for generating the install file that does not include the RLM DLL file in the release.
- Revised the internal document Build Generation Guide.
None reported for December 2015.
--- (end) ---