Features

Meta-Meta-Model  – Infrastructure (i.e. non-modifiable within the tool):

  • Syntax infrastructure: (i.e. Syntax meta-meta-model) supports the definition (i.e. abstract and concrete syntax) of the syntax meta-model. Available in the palette of the syntax perspective.
  • Semantic infrastructure: (i.e. Semantic  meta-meta-model) supports the definition (i.e. abstract and concrete syntax) of the semantic meta-model.  Available in the palette of the semantic and operations perspective.
  • Operations infrastructure: (i.e. Operations meta-meta-model) supports the definition (i.e. abstract and concrete syntax) of the operations meta-model.  Available in the palette of the semantic and operations perspective.

Meta-Modeler Features – Superstructure (i.e. modifiable within the tool):

  • Semantic meta-model creation, edition and visualization:
    • Visualization  and edition of  meta-elements (i.e. meta-concepts and meta-relations) of the semantic meta-model with their attributes (including visibility options).
    • Definition of meta-model expressions for each semantic meta-element.
    • Definition of Meta-model expressions for each type in pairwise and over two relations. For instance, define the appropriate meta-model expressions for types AND, OR, Mandatory and Optional.
    • Load/Save of meta-models graph (semantic and operations together) in XML format.
  • Operations meta-model creation, edition, and visualization:
    • Visualization  and edition of meta-elements (i.e. meta-oper-group, meta-operation, meta-sub-oper and meta-labeling) for the definition of operations.
    • Definition and association operation groups (e.j. FM verification), operations, sub-operations and labelings.
    • Association and use of meta-model expressions  to the execution types of sub-operations (e.j. identify false optional elements operation) and labelings.
    • Association and use of meta-attributes  to the execution types of sub-operations (e.j. false optional verification operation) and labelings.
    • Load/Save of meta-models graph (semantic and operations together) in XML format.
  • Syntax meta-model creation, edition, and visualization:
    • Definition of abstract and concrete syntax for modeling languages.
    • Associate meta-elements one or mode meta-views to support multi-view languages.
    • Association of syntax meta-elements to semantic meta-elements.
    • Definition of meta-attributes with its visibility.
    • Load/Save of meta-models graph in XML format.

Types of operations/suboperations supported (For the operations meta-model):

  • Operations Types:
    • Verification (including analysis operations for feature models)
    • Validation (simulation).
    • Export (XLS file with products or solutions).
    • Computational Analysis (requires two suboperations),
  • Suboperation Types (Algorithms available for execution):
    • Single Solution and Iterate Solutions: directly calls the solver to get solution(s).
    • Count Solutions: display the number of solution on screen.
    • Export Solutions: XLS output after execution (applies for Export operation type).
    • Defects Verifier Update and Defects Verifier Error: uses the DefectAnalyzer to update the model or identify errors.
    • Multi_Verification: uses the CauCos implementation to identify errors.
  • Additional supported aspects:
    • Use of natural language descriptions for each expression to present explanations and corrective explanations.
    • Support different methods of the DefectAnalizer (i.e., getFalseOptional, getDeadElements, getVoids, getRedundancies and getNonAttainableDomains).
    • Use additional defect execution modes. In addition to Partial and Complete, VariaMos supports three Incomplete modes (i.e., fast, med, slow to obtain up to two, four and six expressions with defects) to reduce the execution time. After the correction of those errors, new defects can be identified.

Modeler Basic Features:

  • Model creation and edition:
    • Multi-Model support (defined with different palettes in the syntax meta-model).
    • Multi-View support  (defined with different views in the syntax meta-model).
    • Default languages available: REFAS Framework and features models.
    • Support for low level variables including predicates at the solver level to support floats values and trigonometric functions.
    • Support for Integer variables with different domains including enumeration, ranges, and lists.
    • Support for user expressions combining Integer variables defined in the model.
    • Recovery of lost elements (blank elements presented in more than one view).
    • Load/Save of models graph in XML format.
    • Export images of models.
    • Verification of updates on the application
    • Verification of the correct configuration of the solver variables and installation.

Modeler Static operations (i.e. hard-coded):

  • Model Update and Verification
    • Default languages available: REFAS Framework and features models.
    • Operation can be executed individually or in group.
    • General operations:
      • Calculation of core elements.
      • Dead features.
      • False optional features.
    • Verification specific for feature models:
      • Single Root.
      • All features have parents.
    • Model configuration:
      • Definition of concepts part or excluded from a configuration.
      • Definition of domain or value for context variables.
      • Evaluation of a configuration implications.
      • Propagation of configuration implications.
  • Model solutions:
    • Visualization a solution based on model definition and current configuration including a dashboard.
    • Forward iteration over available solutions with dashboard visualization of solutions (marking the changes between iterations).
    • Export on XLS format the current set of solutions (up to 65534).
    • Save the current configuration (after execution) on Json (a TreeSet of the configuration).
  • Model External simulation:
    • Simulation control of: time, source, destination folders, initial configuration and type of elements to update.
    • Iteration over configuration files, showing the solution or an alternative solution for the variable definition.
    • External variable definition (using another instance of VariaMos).
    • External application integration through Json objects serialized (TreeSet of the configuration).

Modeler Dynamic operations (i.e. supported by operations meta-model):

  • General Operations
    • Calculation of core concepts.
    • Dead elements.
    • False optional elements
  • Feature models specific verification operations:
    • Single root verification.
    • All non-root features have parents.
  • SAS models specific verification operations (REFAS Framework):
    • Identify soft dependencies always active.
    • Identify soft dependencies never allowed.
    • Identify claims always active.
    • Identify claims never allowed.
    • Identify conflicts between soft goals’ contributions.
    • Identify loops in structural relations.
    • Identify conflicts with claims.
    • Identify conflicts with soft dependencies.
    • Identify conflicts with claims and soft dependencies.
  • Model validation solutions (using simulation):
    • Visualization a solution based on model definition and current configuration including a dashboard.
    • Forward iteration over available solutions, marking the changes.