ReliaSoft API Reference


 * Changelog
 * '''API Documentation
 * '''Tutorials

The Synthesis Platform’s Application Programming Interface (API) enables you to programmatically read and write data to Synthesis repositories, as well as analyze and plot data sets from external sources. It is provided for Visual Basic for Applications (VBA) and .NET applications, allowing you to create automated solutions using popular Microsoft Office applications, such as Excel and PowerPoint, or create custom applications for your organization.

Implementing the Synthesis API allows you to connect data in Synthesis repositories with the systems and tools used within your organization. It provides the functionality to:


 * Transfer and synchronize data via XML
 * Use XML files to manage structured data (such as system hierarchies/BOMs, incidents and work orders) between ReliaSoft’s XFRACAS and a variety of different PLMs, ERPs, CMMS and other external systems. You can also use XML files to create reliability block diagrams (RBDs) in BlockSim.


 * Read/write specific data elements
 * Read or write data to Synthesis resources (models, actions, URDs, etc.), system hierarchy items and FMEA records (causes, effects, failures, etc.). Initiate batch data processing and create custom solutions for importing/exporting data from Synthesis repositories, as well as load data into the Synthesis Data Warehouse (SDW).


 * Obtain calculated results
 * Read data from published Synthesis models and obtain calculated results such as reliability, probability of failure, BX% life, failure rate and mean time.


 * Analyze data
 * Use Weibull++'s or ALTA’s analysis and plotting engines to analyze data from third-party sources, and incorporate the functionality into your own custom applications. (Requires a Synthesis API license.)

Prerequisites

 * Getting the latest version
 * The Synthesis API consists of a library file that contains the classes, methods and events that provide access to Synthesis applications. The file is located in the folder where the Synthesis application is installed. By default, this folder is at "C:\Program Files\ReliaSoft\Synthesis 11." For VBA, you will use the SynthesisAPI.tlb file; for .NET applications, you will use the SynthesisAPI.dll file.


 * To obtain the latest version of the library file and the Synthesis application, choose File > Help > Check for Updates or download the latest version at http://www.ReliaSoft.com/synthesis/downloads.htm.


 * 32- vs. 64-bit
 * For VBA, the bit version of the Synthesis Platform that you've installed must match your installed version of Microsoft Office. If they do not match, you may see an error related to ActiveX controls. (See ReliaSoft KB article RS20024.)


 * For Visual Studio projects targeting the .NET Framework 4.5 and compiled to run an any platform (Any CPU), turn off the Prefer 32-bit property of the build configuration if you want to run a 64-bit application as a 64-bit application; otherwise, the application will run as a 32-bit application on both 32- and 64-bit versions of Windows.


 * '''Running API applications on a server
 * If you plan to run API applications on a Windows server, you’ll need to run the Synthesis API Ante Service to allow clients to access the application (the service is not required when running API applications locally). The API Service may be installed on the server or on a different machine. For instructions on how to install and configure the service, see http://www.synthesisplatform.net/synthesis_api_ante_service.htm.


 * '''Access to calculations functionality
 * Access to Weibull++'s and ALTA’s analysis and plotting engines require a Synthesis API license. To obtain a license, please contact ReliaSoft.

Examples
Sample applications that you can test and tweak yourself are included with the Synthesis Platform installation. The files are stored on your computer at C:\Users\Public\Public Documents\ReliaSoft\Examples11\API. (For Version 10, see C:\Users\Public\Public Documents\ReliaSoft\Examples10\API.) The sample applications are available for Excel VBA and VB.NET projects. (To run the Excel examples, macros must be enabled. See this Microsoft article.)

Tutorials
Tutorials are available to help you learn the core objects of the Synthesis API and start coding right away. The tutorials include code samples for both VBA and VB.NET.

Object Library
The Synthesis API is designed to closely follow the user interface of Synthesis desktop applications. For example, there is a class for every type of Synthesis resource and every type of FMEA record; there’s a class to represent a Weibull++ data sheet, and a class to represent the analysis settings that you might find in the data sheet’s control panel.

For an alphabetical listing of all objects in the latest version of the Synthesis API, see API Reference Documentation. (Click here for the list of objects in Version 10.)

Summary of the core objects in the Synthesis API library:


 * The  object represents the Synthesis repository. All other objects use the functions in this class to read or write data to the repository. This class also contains the functions for importing/exporting XML files.


 * The following objects represent the Synthesis resources. Instances of each class can be used to store data for an existing or new resource.


 * The following objects build data sets for the Synthesis Data Warehouse (SDW).
 * represents a single data point.
 * serves as the data container for  objects.


 * The  object represents a system hierarchy item. Instances of this class can be used to store data for a system or assembly, as well as build a multi-level system configuration.


 * The following objects represent the FMEA records. Instances of each class can be used to store data for an existing or new FMEA analysis.


 * The  object represents a Weibull++ data sheet for life data analysis. Instances of this class are used to define a data set and fit a statistical distribution to the data.


 * The  object represents an ALTA data sheet for accelerated life testing data analysis. Instances of this class are used to define a data set, and fit a distribution and life-stress relationship to the data.


 * The  object represents a plot based on a ,   or   object. Instances of this class are used to display a plot of the analysis results.