CADSWES Maintenance Accomplishments -- April 2013 (edit 5-14-2013)
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
Releases and Patches
RiverWare 6.3 prerelease was released on April 29, 2013. Release notes may be found in the RiverWare online help. Creating this release involved:
Both the 32-bit and 64-bit RiverWare 6.3 Pre-release packages were tested to verify that connectivity to the HDB database through the HDB servers were functioning correctly with the currently available versions of the Oracle Client software (11.2.0.0).
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 April, the tests were updated because of changes made for the Unit Scheme task.
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
Development Snapshots
Prior to the RiverWare 6.3 prerelease, a 6.3 development snapshot was generated.
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
Download, Installation and Release Process
Updated Installation Guide: Removed the ACROREAD_PATH environment variable setting instructions -- temporarily replaced with instructions for setting up the PDF file reader program association. Will re-direct to a new online page when it is put in place.
Updated the online document and related files with the new riverware.org web page address. Updated email address from cadswes.colorado.edu to colorado.edu. Documents include Installation Guide, License Server Configuration Guide, Roaming License User Guide, and Dongle License User Guide.
Flexera InstallShield:
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
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 need to either license them directly from IBM as before or through CADSWES. The RiverWare licensing procedure were modified to reflect the new agreement.
RiverWare uses the Reprise License Manager library. Reprise supports the licensing of multiple features within an application. Initially there were two features - "RiverWare" and "RiverWare Viewer". To support the modified licensing procedure two new features were added - "CPLEX from CADSWES" and "CPLEX from IBM". Optimization users will need a license with the "RiverWare" feature and one of the CPLEX features.
The RiverWare license manager C++ classes were modified to support the two new features. The classes are rwLicense (which encapsulates knowledge of RiverWare licenses), cwLicense (which provides an abstract interface for all license manager libraries) and RepriseLM (which provides an interface to the Reprise license manager library).
Ongoing: Issuing Commercial Licenses.
Ongoing: Maintaining licenses for internal development environment.
Reprise RLM:
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
Development Environment / Software Tools
Visual Studio 2010:
Work was continued from last month to get the HDB Server built with Visual Studio 2010 to work correctly when connecting to the HDB database. This was successfully accomplished using oracle DLLs from Oracle Client 11.2.0.3, which is only available as a patch file through Oracle support. Connectivity was also successfully accomplished using Oracle Instant Client 11.2.0.3. We decided to ship the former HDB Server built with Visual Studio 2008 in the new RiverWare 6.3 release because this will not require users to update their Oracle Client installations. A new HDB server will be shipped in the future when new development in the server requires it.
C++ Memory Analysis Tools:
We took a quick look at a 64-bit Windows version of the C++ memory analysis tool we had used in the past, attempting to apply it to the current 64-bit RiverWare build. This was done with IBM's "Purify" version 7.0.1 for 64-bit Windows. Some initial difficulties have dissuaded us from pursuing continued use of this tool, and of the related "Quantify" profiler, as more modern alternatives to Purify and Quantify are now available.
Investigating Visual Studio 2010 slowdown:
CADSWES staff had been experiencing extremely sluggish performance when executing RiverWare from within the newly adopted IDE, Visual Studio 2010. For example, on some machines, RiverWare ran seven times slower when executed from within Visual Studio 2010. While this performance problem did not affect licensees of RiverWare, it negatively impacted the development process. Software engineers explored possible causes and remedies for this slowdown. A solution was identified in early May.
In-house GIT class:
For the benefit of CADSWES staff not yet familiar with the git source control application, Patrick Lynn presented an in-house afternoon course in which an overview of the tool was presented along with detailed descriptions of its use within the builds managament system. The class was attended by Jessica Lee, Mitch Clement, and Tim Magee.
RIVERWARE
RELEASES, SOFTWARE MAINTENANCE and DEVELOPMENT ENVIRONMENT
Software Maintenance
Qt3-to-Qt4 Port -- SCT:
Some work on porting the SCT's series display tables was started and put aside a year ago, in March 2012. This was picked up again in April 2013 and was completed in early May. This will be included in the RiverWare 6.4 release (not the upcoming 6.3 release).
The SCT -- its "Series Slots" tab -- supports a spreadsheet-like editable display of RiverWare series slots in four distinct views: two axis orientations (time horizontal and time vertical), and optionally with a configurable time aggregation feature. Each of these views consist of two distinct synchronized data display tables: a row-header table and an SCT data table. These were reimplemented in Qt4's model/view architecture composed of specialized subclasses of QTableView, QAbstractItemModel, and QAbstractItemDelegate. The SCT supports its own application-level cell selection representation, in slots and timesteps, computed from each SCT view's two QTableViews; this provides cell selection stability when switching axis orientations or turning on or off timestep aggregation and simplifies the implementation of operations on slots.
In April, two temporary transitional architectures aided development:
- Deployment of both the old Qt3 and the new Qt4 implementations within the SCT's Series Slot tab. This allowed us to dynamically compare the appearances and behaviors of the two implementations. The Qt3 implementation was removed when it became incompatible with subsequent development changes.
- Use of the default QAbstractItemDelegate implementation for much of the QAbstractItemModel development before replacing that with a custom SCT delegate. (In Qt4, this delegate supports custom painting and editing behaviors)
External-application support for viewing PDF files:
RiverWare no longer makes use of the ACROREAD_PATH environment variable to locate the program used to display PDF files, including RiverWare Help. Instead, RiverWare allows the Windows system to determine the appropriate application -- typically the most recently installed version of Adobe Reader.
The implementation for viewing RiverWare Help (a set of related PDF files) has also changed. RiverWare now makes use of Qt4's "Desktop Services" to display those PDF files.
--- (end) ---