2R Soft​

2R Software is an independent application that provides a variety of tools necessary for conducting different types of reliability and risk analysis. This piece of software consists of several modules that work together to perform processor-intensive tasks while focusing on resource efficiency and ease of use as their main priorities. New modules will be released once they are fully operational.

Modules

2R Sim

Instrument for stochastic simulations of arbitrary explicit equations, providing statistical indicators and graphical representations to comprehend the behavior of equations

2R Data

Analyzes data series to model their future values, displaying confidence intervals and dependencies between series through statistics such as correlation and covariance

2R Net

Examines networks by identifying characteristics of nodes and general properties of the network, including analysis of clusters and failure probabilities, maximum flows, among others

2R Rel

Performs reliability analysis on arbitrary limit state equations involving variables with known distributions, providing statistical data such as the probability of failure

2R LCA

Conducts life cycle analysis based on simulation for specific systems, reporting on costs, benefits, and average times of failure and maintenance

What distinguishes us

Most of the algorithms required for a comprehensive risk and reliability analysis, such as basic Monte Carlo simulation or the more advanced orthogonal Latin hypercube simulation, can be easily found on the internet. However, it’s highly likely that their authors are not well-trained programmers, with degrees in Civil Engineering or Industrial Engineering instead of more computer-oriented careers. As a result, the typical algorithms generated by search engines will be written in programming languages that must be interpreted by an intermediary application, such as Mathematica or MathCAD. This has some significant disadvantages:

  1. Requires an expensive license for script interpretation software (Matlab, etc.).
  2. The script cannot be optimized to use the computer’s resources in a specific way and relies on the resource management performed by the intermediary application, which is generic at best.
  3. Scripts typically do not have graphical user interfaces, so their use requires command-line interactions that are difficult to understand for less advanced users.
  4. Even if you own the interpreting application and know how to use its commands, you cannot easily run the scripts on different computers.

2R Software modules can be run on any operating system (Windows, MacOSx, Linux, etc.) without the need to download different versions of the installer. More importantly, it does not require any other software package to be used. Last but not least, the programmer responsible for its development is a well-trained programmer who knows how to make the most of the available processing power and minimize memory consumption, which allows for much faster calculations without compromising the accuracy of the final results.

Implementation details

The programming language being used to implement the various modules of the 2R Software suite is JAVA. More specifically, it is J2SE (Standard Edition) compatible with version 1.6 of JRE (Java Runtime Environment). This decision was made due to the following advantages offered by the aforementioned high-level language:

  1. Platform-independent (runs on any operating system compatible with JVM [Java Virtual Machine]) without any changes to the source code.
  2. Allows the creation of feature-rich graphical interface components.
  3. Being a high-level language, it requires fewer lines of code to achieve the same results as with other popular programming languages.
  4. Its Object-Oriented nature helps structure a large project in a way that favors extensibility and maintainability.
  5. The JDK (JAVA Development Kit) provides powerful libraries that make it unnecessary to write common methods (or functions) from scratch.

There are many other advantages that could be mentioned, but those described above give a basic idea of the kind of key benefits that can be obtained when working with JAVA in terms of compatibility, ease of use, and good implementation speed.

Other interesting details about the implementation of 2R software include:

  1. Eclipse has been chosen as the base IDE (Integrated Development Environment).
  2. Simulations have been optimized with a thread group mechanism that was written from scratch.
  3. The graphical interface uses Swing components and has been hand-written, without the aid of visual tools like VisualEditor.
  4. All calculations are performed with BigDecimal objects to ensure the highest level of accuracy possible.

Acquiring 2R Soft