IBM Support

Reporter PLUS: Report generation takes several mins and I receive several errors including "Out of Memory"

Question & Answer


Question

Reporter PLUS: Report generation takes several mins and I receive several errors including "Out of Memory"

Answer

ReporterPLUS loading time optimization:

Application Note

 

This document is applicable to ReporterPLUS version 5.0.1 MR2 and higher.

The section Report generation from Rhapsody is applicable only to ReporterPLUS version 6.1 MR1 and higher.

Introduction

ReporterPLUS uses the Rhapsody COM API to load all model elements and because the loading time for large models may be significant, several optimizations are introduced in Rhapsody 5.0.1 MR2. These optimizations allow the user to skip the loading phase of several model element types, hence reducing the loading time. In addition, the user may adjust the size of a memory pool used by ReporterPLUS.

Rhapsody INI file Settings

Loading Optimization

To activate the optimizations, the following section should be included in the Rhapsody INI file:

 

[ReporterPLUS]

EnableLoadOptions=TRUE

 

Following this section, the following flags may be defined:

 

INI file flag

Purpose

Comment

LoadDiagrams

This flag controls the loading of Rhapsody Diagrams into ReporterPLUS database.

 

 

 

 

Avoid loading of model elements

LoadGraphicalElements

This flag controls the loading of Rhapsody graphical elements (such as boxes and lines that appear on diagrams) into ReporterPLUS database.

LoadCommonProperties

This flag controls the loading of Common Properties into ReporterPLUS database.

LoadOverriddenProperties

This flag controls the loading of Overridden Properties into ReporterPLUS database.

LoadDescriptionRTF

This flag controls the loading of the meta attribute "descriptionRTF" for all model elements into ReporterPLUS database.

 

Avoid loading of attributes

LoadFullNamePath

This flag controls the loading of the meta attribute "FullPathName" for all model elements into ReporterPLUS database.

LoadFullNamePathIn

This flag controls the loading of the meta attribute "FullPathNameIn" for all model elements into ReporterPLUS database.

LoadPropertyOwner

This flag controls the loading of the meta association "Owner" for all the properties into ReporterPLUS database.

Avoid loading of associations

LoadElementOwner

This flag controls the loading of the meta association "Owner" for all model elements into ReporterPLUS database.

LoadElementReferences

This flag controls the loading of the meta association "references" for all model elements into ReporterPLUS database (applicable to Rhapsody 6.1 M1 & higher).

 

Notes:

 

(1)   By default, Rhapsody will load all the model elements with exceptions:

·        Graphical Elements (boxes & edges)

·        Model element references (applicable to Rhapsody 6.1 M1 & higher)

(2)   It has been observed that turning off the following flags may result in significant performance improvement: LoadCommonProperties, LoadOverriddenProperties, LoadElementOwner, LoadPropertyOwner.

Memory Optimization

In addition to the "loading flags", Rhapsody provides a way to increase the memory buffer used by ReporterPLUS. This is controlled by the INI file flag ModelSize.

The model size is an integer value between 1 and 10. The default value used by Rhapsody is 1. The users should not change this value unless the get the following message box:
Out of Memory.
To fix the problem, increase the memory allocated for ReporterPLUS by changing the "ModelSize" parameter.  

Example

The following section is an example of a Rhapsody INI file settings section:

[ReporterPLUS]

EnableLoadOptions=TRUE

LoadCommonProperties=FALSE

LoadOverriddenProperties= FALSE

LoadDiagrams= FALSE

ModelSize=5

 

 

 

 

 

 

 

Report generation with partial model load:

The report generation time can be improved by not loading the packages in the model, which are not convered in the template.  Example: if a given ReporterPLUS template do not generate report on reference packages in the model then before generating the report, load the model in Rhapsody without reference packages (partial load) and then start the report generation.

 

Report generation from Rhapsody:

This section is applicable to ReporterPLUS version 6.1 and higher.

The report can be generated from Rhapsody using Tools->ReporterPLUS menu. When the report is generated using this menu, Rhapsody does not use the ReporterPLUS CLI (Command line interface) to generate the report.  Instead, it uses a dll interface of ReporterPLUS in order to improve report generation performance. In Rhapsody versions before 6.1, the ReporterPLUS CLI was used to generate the report.

 

While generating the report from Rhapsody using Tools->ReporterPLUS menu, if you get an out of memory message then increase the value of the ModelSize flag.  If the problem persists even after increasing the ModelSize to its maximum value i.e. 10, it is recommended to use the ReporterPLUS CLI invocation to generate the report. An INI flag can be specified in order for Rhapsody to invoke ReporterPLUS CLI to generate the report.

 

Example

[GENERAL]

InvokeReporterDLL=FALSE

 

 

 

 

** End Of Document **

645AnswerProduct versionPartner ContentInternal ContentCategoryReference IDAut

[{"Product":{"code":"SSB2MU","label":"IBM Engineering Systems Design Rhapsody"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General Information","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"Version Independent","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Historical Number

10329

Product Synonym

Rational Rhapsody

Document Information

Modified date:
27 May 2022

UID

swg21323640