list of dots Digital Research Alliance of Canada logo  NSERC logo  University of Ottawa logo / Université d'Ottawa

User Manual    [Previous]   [Next]   

FeatureModelJson

Generates a JSON representation of the feature model defined by require statements and mixset features in an Umple file.

Can be invoked using the command line option -g FeatureModelJson or the directive generate FeatureModelJson; in an Umple file.

If the Umple file does not define any feature model, the output will contain {"featureModel":null}.

When the model has an attached UmpleModel with requirements, the output also carries a top-level requirements[] array (sibling of nodes[] and links[]) listing every Requirement. Each entry carries the user-story fields (identifier, language, statement, who, when, what, why) plus nested useCaseSteps[] (with id, stepType, and content) and qualityClasses[] (with name and content). The array is sorted deterministically by identifier so toJSON / fromJSON round-trips remain byte-identical. The requirements key is omitted entirely when no UmpleModel is attached.

Each FeatureLeaf whose mixsetOrFileNode is a Mixset also carries a reqImplementations[] sub-array describing every implementsReq binding owned by that mixset. Each entry records requirementIdentifier, qualityClassName (nullable), implementingFeature (nullable), plus two recomputed-on-serialization booleans requirementResolved and qualityClassResolved that surface whether the parser post-pass successfully bound the entry to its Requirement and QualityClass. The key is emitted only on Mixset leaves — never on UmpleFile leaves nor on FragmentFeatureLeaf nodes.