Support MES Model & Refactor® (MoRe)

What is MoRe?

MES Model & Refactor® (MoRe) is a productivity tool that makes modeling with MATLAB Simulink® faster, easier and less error-prone. MoRe supports users by simplifying and accelerating model editing and reducing monotonous work steps. The tool facilitates the modeling process as a whole, in particular the refactoring of models.

 

What's New?

Highlights in MES Model & Refactor® (MoRe) v.2.2

A new action automatically matches the block size to the icon text, which helps to improve readability in the model.

 

Further improvements fine-tune the behavior of the removing cross-hierarchy signals backwards action.

 

 

MoRe v.2.1

Highlights in MES Model & Refactor® (MoRe) v.2.1

User experience is improved by user dialogue enhancements.

MoRe now supports MATLAB 2020a and 2020b releases.

MoRe v.2.0

Highlights in MES Model & Refactor® (MoRe) v.2.0

New design of menu speeds up modeling. The new menu allows one-click access to frequently used actions. All available actions are categorized in submenus, sorted in descending order of estimated frequency of use.

New Menu in MES Model & Refactor 2.0

 

Easily add new high-level input signals to the current subsystem. You can add new input signals from higher levels without leaving the subsystem you are working on in the editor.

Application window in MES Model & Refactor add input signal
MoRe v.1.4

Highlights in MES Model & Refactor® (MoRe) v.1.4

Usability improvements include a hook function to set block parameters for blocks generated by MoRe precisely, significant runtime acceleration for partition actions, support of branched signals when jumping to signal usage destinations, and the cleaning up of unconnected signal lines after break/merge subsystem actions.

MoRe v.1.3

Highlights in MES Model & Refactor® (MoRe) v.1.3

More actions for port blocks and signal lines
New actions "Arrange Port Blocks" and "Convert Goto/Froms to Lines" are available.

Improved handling of signal line parameters on "Add Cross-Hierarchy Signal" action

MoRe v.1.2

Highlights in MES Model & Refactor® (MoRe) v.1.2

Extended TargetLink support
Route cross-hierarchy signals into and out of TargetLink subsystems. Automatic guideline-compliant use of TargetLink port blocks. Ability to also move TargetLink simulation blocks within the subsystem hierarchy.

MoRe v.1.1

Highlights in MES Model & Refactor® (MoRe) v.1.1

Advances in usability and runtime
Dialog alignments are optimized to reduce obstruction of views. Reduced runtime of typical actions.

Improved drawing of branched signal lines

 

Installation

  • Extract the MES MoRe zip file (e.g. MES_MoRe_2_2.zip) into a target folder with write access. Suggestions:
    • C:\Program Files\MES_MoRe
    • %MATLAB_ROOT%\toolbox\MES_MoRe_2_2
    • %MATLAB_ROOT%\toolbox\MES_MoRe
    • x:\project\matlab\MES_MoRe_2_2
    Please keep all the subdirectories.

  • If you extracted the zip file to the MATLAB toolbox folder (%MATLAB_ROOT%\toolbox), then call rehash toolboxcache once in the MATLAB command line.
  • For permament installation (recommended):
    • Add a call to the MoRe\init_MoRe.m script from the target folder to your MATLAB startup.m file. Example call: run('C:\Program Files\MES_MoRe\MoRe\init_MoRe');
      Please make sure that there is no call to init_MoRe of an old installation left!
      If you are not sure whether you have any startup.m file yet, type which startup.m in MATLAB command line.
      If result is not empty, add the call from above to this file.
      If result is empty, create a new startup.m file in your userpath. Type userpath in MATLAB command line to get your userpath. Add the call from above to the newly created file (type also doc startup in MATLAB command line for help).
    • Restart MATLAB. There should be an MES MoRe menu entry in Simulink now.
  • For temporary usage (not recommended):
    • Call init_MoRe from the MoRe subfolder of the target folder in the MATLAB command line. This might throw warnings like 'Objects of XXX class exist - not clearing java', if other tools are holding locked references to java objects. In that case, please follow the instructions for permanent installation above.
  • (Optional) Some actions from the 'Analyze' submenu require Graphviz to be installed:
    • Download and install Graphviz from http://www.graphviz.org/
    • Add the folder containing the dot.exe of Graphviz to the PATH environment variable of Windows (e.g. C:\Program Files (x86)\Graphviz 2.28\bin).

Update to the Latest Version

  • If you added a call to init_MoRe to your startup.m and used a folder with version postfix (e.g. x:\project\matlab\MES_MoRe_2_1), then please update the call to the folder of the new installation (e.g. run('C:\Program Files\MES_MoRe_2_2\MoRe\init_MoRe');
  • If you installed the old version to a folder with version postfix (e.g. x:\project\matlab\MES_MoRe_2_1), you can keep that directory as a backup.
  • If you installed without version postfix, you could rename the old installation directory to one with version postfix as a backup.
  • Then proceed according to the installation instructions given below (including license configuration).

System Requirements

The following system requirements must be in place to use MES MoRe:

  • Windows (XP, Vista, Windows 7+8+10 - 32 and 64-bit versions)
  • MATLAB® R2012b ... R2020b
  • Simulink

Quick Start

Starting MoRe

  • After installation, "MES MoRe" is available as a separate entry in the Simulink menu and context menu. It does not need to be started manually.

Starting an Analysis

  • Open a demo model by typing “fuelsys” in the MATLAB command prompt
  • Select the two subsystems on the root level of the fuelsys model
  • Click “MES MoRe” in the Simulink menu and then select "Merge Subsystems"
  • To undo the action, select "Undo" from the “MES MoRe” menu

Suggestions

If you have any suggestions to help us improve MES Model & Refactor, please do not hesitate to contact us:
Email: more@model-engineers.com

User Instruction

MXRAY User Guide

User Guide

The MES User Guide presents clear instructions on how to work with MES Model & Refactor® (MoRe). It provides users with information about getting started and working with MoRe.
Click on “MES MoRe”->”Help”->”Documentation” to find a description of all actions available in MoRe (see image).

MoRe Videos

 

Release Notes - MoRe v.2.2 (March 2021)

New Action "Match Block Size to Icon Text"

  • This new action allows you to automatically resize blocks to match the text displayed on their icon. For example, Constant blocks are resized so that the parameter value is displayed in full instead of as "-C-". Or the size of Goto and From blocks is resized to match the size of their tag name.
  • The action also makes oversized blocks smaller resulting in a uniform layout for blocks that have icon text.
  • You can also apply the action to multiple blocks at the same time. If you apply the action for multiple blocks simultaneously, blocks of the same type can be given the same size. This is particularly useful when the blocks are vertically aligned and should have the same size for a more uniform or attractive layout.
  • The action supports the following block types: Constant, Enumerated Constant, Goto and From, DataStoreRead and DataStoreWrite, DataStoreMemory, DataTypeConversion, FromFile and ToFile, FromWorkspace and ToWorkspace, GotoTagVisibility and Trigonometry.
  • The action can be performed on all selected blocks or, if no blocks are selected, on all supported blocks in the current subsystem.

Improved "Remove Cross-Hierarchy Signal Backward" Action

The "Choose Stopping Block" dialog of the action now clarifies if and why certain blocks cannot be selected as stopping blocks. If the removal of the signal up to the specified block would cause signals in other branches to lose their source signal, then these blocks cannot be selected. To make this clear, these blocks will appear in the list of the dialog but they will be grayed out and you cannot select them. Additionally, if these blocks are in the list, a new text field above the list explains why these blocks are grayed out and why you cannot select them.

Other Improvements

  • All actions that create or arrange port blocks: Blocks in the model that have no ports (e.g. DocBlocks, Enable or Trigger blocks) now only have a limited influence on the positioning of inport or outport blocks. Previously, these blocks were treated the same as all other blocks in the model. Sometimes this led to inport or outport blocks being positioned unnecessarily far to the right or left in the model.
  • Remove Cross-Hierarchy Signal Backward/Forward: These actions use dialogs that list blocks by their path. The display of these block paths has been improved to differentiate the blocks from each other more easily. It now only displays the last part of the path, including the name, which aids understanding. The common start string of all block paths is displayed in the root node.
  • Remove Cross-Hierarchy Signal Backward: If there is a Goto and From block pair on the backward path of the selected signal, the Goto block can now also be selected as the stopping block for the removal. In this case, the signal is removed backward up to and including the From block. Previously, the Goto block was not available for selection as stopping block.
  • Straighten Lines from Block: Applying the action now always results in the same positioning of blocks that are directly connected to the selected block, regardless of whether you selected "recursive" in the action's dialog or not.

Bug Fixes

  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused the action to continue removing a sub-signal backward after reaching a virtual block, even though this block was selected as stopping block. This only occurred if there were other signals in the bus and the virtual block had at least one destination block.
  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused Goto and From blocks not to be removed.
  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused an error when a From without a Goto block was on the backward path of the signal to be removed.
  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused blocks before a Goto block to be selectable as stopping blocks for the removal, even though the Goto block has other From blocks where the target signal is used or selected somewhere forward in the data flow. So in this case, selecting one of these stopping blocks would have caused signals to lose their source signal.
  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused blocks before a branch point to be selectable as stopping blocks for the removal, even though a sub-signal of the sub-signal to be removed was selected via bus selector in another branch. So in this case, selecting one of these blocks as stopping block would have caused signals to lose their source signal.
  • Remove Cross-Hierarchy Signal Backward: Fixed a bug that caused blocks before a branch point not to be selectable as stopping blocks for the removal because a super-signal of the sub-signal to be removed was selected via bus selector in another branch even though this super-signal was not used at all. So in this case the blocks should have been available for selection.