Menu

#103 Modeler: Class resolution on model import is not transitive

2.3.13
closed-fixed
8
2008-12-17
2008-11-07
No

When importing CIM MOF into a derived model, the Modeler does not find classes that are defined in a model library that is indirectly imported (i.e. through an intermediate model library) into the derived model.

In other words, the resolution of references to existing classes is not transitive w.r.t. such dependency chains. It only considers model imports of the target model, but not model imports of those model imports.

It works if the "chain" has a length of two, but not beyond two.

Example:
- Model "CIM_Schema" is a model library and contains CIM classes needed as base classes by the classes in the MOF being imported.
- Model "Model_B" is a (base) model library that imports "CIM_Schema".
- Model "Model_D" is a (derived) model that imports "Model_B".
- CIM MOF gets imported into "Model_D". The classes in that MOF have superclasses that are defined in "CIM_Schema".
- The Modeler fails, reporting classes not found that actually exist in model "CIM_Schema".

If the same CIM MOF is imported into Model_B, it works.

One might think that it would be a circumvention to add a model import that imports "CIM_Schema" to "Model_D". This creates another problem, namely that RSA now has all kinds of duplicates, since CIM_Schema is imported twice into Model_D, one time directly, and one time indirectly through Model_B.

In other words, RSA is transitive w.r.t. model imports, i.e. considers them recursively.

The ECUTE Modeler should be extended to consider model imports recursively / transitively.

Example model files are available on request.

Andy

Discussion

  • Waiki Wright

    Waiki Wright - 2008-12-02

    ECUTE Modeler is extended to support model imports transitively.
    The search order is depth-first search for a given class within the imported models or model libraries.
    This support will be in release 2.3.13.

     
  • Waiki Wright

    Waiki Wright - 2008-12-02
    • milestone: 832176 --> 2.3.13
    • status: open --> pending-fixed
     
  • Waiki Wright

    Waiki Wright - 2008-12-17
    • status: pending-fixed --> closed-fixed
     

Log in to post a comment.