Some Definitions

The Rhapsody project structure

A Rhapsody model project consists of several data files named resource for which the .RPY file is the main entry point.

The resource files use Rhapsody format I-Logix-RPY-Archive, and RPY parser supports format provided by applications Rhapsody 7.6.1 to 8.2.1.
The new XML format is not supported.

Each resource file consists of a hierarchy of data we call elements.
Each element contains a bunch of information we call features.
Each feature contains either a value or a reference.

We distinguish two types of feature values:

A reference is a link to a single element or a set of elements located in the same resource, or in another resource in the same project, or resources in another projects or in the Profiles path.

The RPY parser Process

The connector is able to load this tree of resource files in their reading order.
I.e: Each time a reference is detected, the mentioned resource is automatically loaded before completing the loading of the current resource.

You can see the list of those files in the Model View using tab Containment.
Please note that in this view, file icons are provided by the Operating System.

All elements and features of the whole list of resources are loaded even if they are not used by the current project.

The Limitations

The RPY parser Process

As the parser loads all the resources, the memory size of the JVM in which the process is running must be set correctly.
Larger models may need to increase heap space if the current setup is not enough.

The recommended stack size is 1024 kB by adding JVM option -Xss1024k

The recommended heap space size is 1024 MB by adding JVM option -Xmx1024m

Elements not supported

Mainly the graphical elements are not yet supported:

If some ModelElements appear in Rhapsody model browser with flag (U), this indicates that they are unresolved.
When you read this model with the connector Application, these missing elements are partially recreated from the minimal data available.
With the RPY connector, when you select a reference feature in the Model view,, these elements are displayed in with their name in italic with the message <unresolved resource...
But they are missing in the Display Types set.

Rhapsody Properties

Rhapsody Properties are stored in a specific element which class name is Property.

Only properties that have been overridden in some resources of the current project or in other referenced resources, will be loaded by this parser.

Properties that are generated by the Rhapsody Application connector are not included in the RPY connector, especially:
RHP.SpecificationFilename, RHP.ImplementationFilename, RHP.IsBeingGenerated.

The process to read predefined properties in a specific Rhapsody Properties file is not yet implemented.

Features not supported or partially filled

Any features that reference a graphical element are not supported.

Any features that contains String data may contain special characters escaped with prefix '\'. Those that are multi-lines could differ by line-ends

A) The following features are not supported because:

Note:  for each feature is mentioned the element that is concerned, but also all inheriting elements which are implicitly concerned.

buildSet
in element Configuration
descriptionHTML
in element ModelElement
isReactive
in element Class, based on features isComposite and behavioralDiagrams not yet supported.
isShowDisplayName
in element ModelElement.
lastModifiedTime
in element Unit.
linkSwitches
in element Configuration, not yet read in a Rhapsody Properties file.
ownedDependencies
in element ModelElement.
references
in element ModelElement.
scopeElements
in element Component.

B) The following features are filled, but their value is different than connector Application:

additionalSources
in element Configuration, path separators are duplicated.
allStereotypes
in element Project, contains only the list of user defined stereotypes.
allTags
in element Flow, depends on feature localTags which have some limitations.
body
differ for several elements only with line-ends. For element Trigger, the body could be the event and not the operation.
CMHeader
filled in element Unit, but the special characters are escaped with prefix '\'.
compilerSwitches
in element Configuration, often filled but differ only for path separators. But sometimes empty or not overridden because data is not yet read in a Rhapsody Properties file.
compoundSource
in element Transition, some exceptions.
currentDirectory
in element Unit, contains absolute full path without '..' (canonical).
defaultValue
in element Variable, the native value is filled but overriding through Rhapsody Properties not yet implemented.
dependsOn
in element Dependency, always filled except if this a dependency relative to another one.
derivedInEdges, derivedOutEdge
inverted in element Connector when feature connectorType value is stub, diagram, condition, history.
description
in element ModelElement, well filled except line-ends.
descriptionHTML, descriptionRTF
in element ModelElement, well filled except line-ends, some exceptions where feature is empty.
displayName
in elements ModelElement. If not overridden, displayName for relationship elements and chart elements are internally computed by Rhapsody.
end1, end2
in element Flow. Two exceptions: one when feature overrides features end1Port and end1SysMLPort. The second exception concerns the Instance reference which is derived from the relationships of the SysMLPort element.
executableName
in element Configuration, filled always with file extension.
eventsBaseId
in element ModelElement, differs than connector Application.
fromProfile
may reference a Simulink package although this one is not a profile.
fullPathName
may be slightly different for some elements because this feature is based on a derived name feature.
implementationSignature
in element Operation is based on derived feature signature, in C language, owner prefix is always added.
isBehaviorOverriden
Some exceptions where elements Actor, Class and UseCase have not generalizations, but their associated StateChart has feature isOverridden set to true.
isEnum
in element Type. Only two exceptions: one concerns a nested element of an Attribute which is derived from a specific Tag ownKind, in profile SPARK. The second exception concerns the Ada package udt where some Types owns this feature.
isExternal
in element File and sometimes in Class in C language where a stereotype overrides property CG.Class.UseAsExternal.
To improve performance, you can disable it using option ignoreUseExternal, please read details in this page
isNewTerm
in element Stereotype, some exceptions.
isOverridden
in element StateChart, some exceptions.
isReadOnly
filled as well except for some elements.
To improve performance, you can disable it using option ignoreReadOnly, please read details in this page.
isReferenceUnit
in element Package, this is a native feature sometimes derived with connector Application
localTags
in element Flow: derived tags like realization are missing.
name
in element ModelElement. If not overridden, name for relationship elements are internally computed by Rhapsody.
ofMetaClass
in element Stereotype, some exceptions for stereotype "separate" in Ada language.
otherClass
in element SysMLPort, is always filled although connector Application leaves null.
owner
missing for only a few set of element ModelElement and their derived classes.
packages
in element Package. Some PredefinedTypes packages are added to the list.
portDirection
in element SysMLPort, is always filled although connector Application leaves Unspecified.
profiles
in element Project. Some profiles with name beginning with CGCompatibility, Pre76 or ending with _Pre80 are missing in the list.
properties
in element ModelElement. Only overridden properties are available, because default ones are not yet read in a Rhapsody Properties file.
savedInSeperateDirectory
in element Package is true when its owner is declared in another resource.
signature
in Operation, sometimes missing return type, missing full path type in C++ and Ada languages for return and arguments.
specification
in element Comment, this is a native feature sometimes empty with connector Application in Ada language.
scopeBySelectedElements
in element Component, never nested elements and some exception where feature is not filled.
standardHeaders
in element Configuration, path separators are duplicated.
stereotype
in element ModelElement, well filled except for two derived stereotypes like DecisionNode, ActivityFinal are missing.
stereotypes
in element ModelElement, well filled except for two derived stereotypes like DecisionNode, ActivityFinal are missing.
userDefinedMetaClass
in element ModelElement some exceptions where this is filled with the native data or is based on a stereotype where feature isNewTerm is not set.
value
is filled in element Variable, the special characters are escaped with prefixed '\', but overriding through Rhapsody Properties not yet implemented.
visibility
in element Relation is always public.