Skip to content

Meta model processing algorithm

homedirectory edited this page Jul 18, 2023 · 2 revisions

Meta-model processing algorithm

On each processing round:

  • filter inputs for meta-model candidates and generate a meta-model for each one

On the 1st processing round:

  • after processing round inputs process MetaModels:
    • if it doesn't exist, then generate it
    • otherwise, analyse it and potentially regenerate if any of the following holds:
      • there are new meta-models to include
      • there are inactive meta-models to exclude

Behaviour w.r.t to file events:

  • Rename/Move: if source is meta-modeled, then a new meta-model is generated, and MetaModels is regenerated to include it. The old meta-model is ignored, but MetaModels no longer includes it, which is caused by a lucky bug.
  • Delete: if source was meta-modeled, then the affected sources set will at least contain its meta-model, which will be deactivated, and MetaModels will be regenerated to exclude it.
  • Content change: if source is meta-modeled, then its meta-model is regenerated.
  • New: if created source is meta-modeled, then meta-model is generated and MetaModels regenerated to include it.
Clone this wiki locally