Skip to content

#155 Linearization preserves more model structure and absolute names.

Linearization preserves more of the original model structure and absolute names + other changes:

  • CifCollectUtils: added collectDeclarations/collectIoDeclarations.
  • LinearizationBase
    • No longer eliminates groups (and thus no longer pushes I/O file declarations inwards).
    • Replaces original automata by groups.
    • Now only moves disc/cont var declarations to new automaton.
      • Variable names in new aut based on original absolute names.
    • No longer moves inits/marked/invs from components to the new aut.
      • Inits/markeds/invs from locs still merged to new aut.
    • No longer merges I/O declarations into the new automaton.
    • No longer merges all enumerations to a single enumeration (and thus no longer adds default initial values).
    • removeChannelDataTypes: much simpler code now.
    • handleUrgency: does not actually need the specification.
    • Linearization may now produce models with scope absolute reference.
  • LinearizeMerge
    • Use absolute event names now for warning messages.
  • Various JavaDoc and comment improvements.
  • CifToPlcTrans
    • Updated CIF PLC code generator for linearization changes.
    • Still merges enums.
    • Now collects declarations from all components.
    • Improved absolute names in error messages, generated comments, etc.
    • Generated PLC code has some backward incompatible name changes.
      • Global variables have less 'M' of linearized automaton in names.
  • CodeGen
    • CIF code generator updated for linearization changes.
    • Still pushes print file declarations into print declarations.
    • Still merges enums.
    • Now collects declarations from all components.
    • Improved original event absolute names.
    • Improved absolute names in generated comments.
    • Improved print declaration order.
  • Linearization test updates.
    • Realigned linearization product/merge test models.
    • Removed linearization enum merge test as enums no longer merged.
    • Linearization tests for renames updated for recent changes.
  • Linearization documentation updates and improvements.
  • CIF PLC code generator tests and documentation updated.
  • CIF code generator tests and documentation updated.

Closes #155 (closed)

Merge request reports