Decision Support System
Decision support solutions help analyze complex data, create predictions and make better decisions. It is widely used in fields connected with risk assessment, multiple factors impact and BI data analysis. Here is our case study on decision support system development.
TreeAge products generate visual models of complex problems to help customers choose the best solutions.
The relationship with Axmor began with a limited scope, but our strongly positive experience has allowed greater cooperation and reliance on their expert software engineering advice and skills. We have been greatly impressed with Axmor's technical expertise, both in technical research and design, as well as programming. We have also been pleased with Axmor's project management, communication skills, and off-hour availability. This combination has made it easy to move from our specifications to their design proposals and finally to a finished product.Andrew Munzer, TreeAge Software, Inc.
TreeAge has been developing software supporting decision-making for more than 20 years. The software creates and analyzes models to assist users in choosing the best solutions and strategies. TreeAge products are used by more than 15,000 end users in health insurance, pharmacoeconomics, geological exploration, as well as for risk minimization in legal proceedings, investment analysis and similar areas.
One of the goals set by TreeAge was to reach a broader target audience by making the product available under more operating systems.
We ported the existing application that was written in C++ for Windows to Eclipse RCP. This made the solution available to Mac OS X and Linux users without having to create and maintain separate code branches for each operating system.
The new platform finally allowed 64-bit memory access, which enabled computing massive models with a large number of nodes directly in RAM at a reasonable speed. This led to a 50-fold increase in performance for large models.
The transition to Eclipse RCP also allowed the users to install updates directly from the application menu without having to go to TreeAge's website for updates downloading.
System Features Overview
This software solution provides a wide range of features for modeling and decision-making.
Available methods of computing and analysis:
- The user can define variables in the model and filter analysis results using expressions written in the built-in pseudo-language.
- Formulas and expressions written in Python can also be used in models.
- Twenty-three types of built-in distributions. It is also possible to define arbitrary distributions as key-value tables.
- Dozens of graphical and tabular reports for presenting the results of analysis (based on BIRT).
- Distributed computing: each machine with the application installed can be used as a slave to compute a part of some large model analysis job that runs on the master machine.
- Deep integration with MS Excel: export of graphical and table reports; input data sets can be defined in Excel files; Excel can be used as an external engine for model computations.
- The open API provides access to various functions of the system from your Java or VBA applications.
Support and Development
Since the release of the Eclipse RCP version, the system has been developed only on this platform. For over five years, we have been supporting and upgrading the system, constantly adding new features and improving existing ones. For example, in the 2014 version the calculations speed more than doubled that of the previous year. This was achieved by restructuring calls to the internal database and optimizing data processing. Enhancements made to the visualization subsystem significantly improved the performance of rendering and visual editing for large models with multiple node clones.
In addition to the client application itself, we designed and helped our customer deploy a system for managing product licenses and logging client-side usage patterns. As a result, it became possible to clearly determine the actions and features most demanded by the users as well as the platforms and operating systems most often used. This helps us in planning future development of the product.