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 latest versions of MES Model & Refactor® (MoRe) v.4.17
Major Improvements to "Auto Layout" for High-Quality Layouts
"Auto Layout" now generates even more readable and structured layouts by avoiding large block gaps, aligning similar blocks in columns, and placing Goto/From blocks according to the signal flow.
Highlights of MES Model & Refactor® (MoRe) v.4.16
MES Model & Refactor (MoRe) is now part of the MES Model Examiner Functional Safety Solution (MXAM) and included in the MXAM 10 installation file.
Highlights of MES Model & Refactor® (MoRe) v.4.15
Improved Block Alignment in "Auto Layout"
The alignment of blocks to other blocks above or below has been improved. Previously, a connection to source or sink blocks (e.g. Constant or Terminator) often resulted in a lack of alignment.
Improved Line Routing in "Auto Layout"
Line routing has been improved to avoid unnecessarily long lines. Previously, lines passing source or sink blocks (e.g. Constant or Terminator) were often split into unnecessarily long lines.
Aditionally, source or sink blocks no longer cause unnecessarily long signal feedback.
Supported MATLAB® Versions
MoRe now supports MATLAB versions up to 2023b.
Highlights of MES Model & Refactor® (MoRe) v.4.14
Fewer Line Bends in "Auto Layout"
Bends in signal lines are now avoided more effectively when blocks are connected by many signal lines.
Highlights of MES Model & Refactor® (MoRe) v.4.13
Fewer Line Crossings in "Auto Layout"
Line crossings are now better avoided in subsystems with a large number of signal lines. Previously, the action's block positioning could occasionally cause unnecessary line crossings.
Bug Fixes
Auto Layout and Refine Layout: Fixed a bug that caused an unnecessarily large vertical space between two blocks. This occurred when the upper block had a hidden default name, and this block had been selected at least once before the action was applied.
Highlights of MES Model & Refactor® (MoRe) v.4.12
Improved Spacing between Independent Parts in "Refine Layout"
Similar to the Auto Layout improvement in the last version, parts of the subsystem that have no signal connections to each other are now separated by a larger y-distance, making them easier to distinguish.
Bug Fixes
Auto Layout and Refine Layout: Fixed a bug that caused two issues. The first resulted in excessive horizontal spacing for some blocks. The second caused some blocks to display a very long temporary block name after the action instead of the original block name. Both issues only occurred with special blocks, e.g. a bus selector with the name "BusSelector" (without line break!).
Highlights of MES Model & Refactor® (MoRe) v.4.11
Improved Block Placement in "Refine Layout"
"Refine Layout" now better retains the initial arrangement of blocks. Previously, when multiple blocks overlapped in their X-range, the resulting layout could differ significantly from the initial layout.
Improved Spacing between Independent Parts in "Auto Layout"
Parts of the subsystem that do not have signal connections to each other are now separated by a larger y-distance, making them easier to distinguish.
Runtime Improvement for "Auto Layout" and "Refine Layout"
The runtime for "Auto Layout" and Refine Layout" was reduced in large subsystems with many signals.
Supported MATLAB® Versions
MoRe now supports MATLAB versions up to 2023a.
Highlights of MES Model & Refactor® (MoRe) v.4.10
Block Height Optimization in "Auto Layout" and "Refine Layout"
To reduce line bends, the actions now adjust block heights. The block height is changed only in specific cases, e.g. for a bus selector or bus creator connected to a subsystem.
More technically, a block is adjusted to a connected block if it has multiple connections just to this block and only one or no port on the opposite side.
Improved Placement of Independent Parts in "Auto Layout"
Parts of the subsystem that do not have signal connections to the rest are now placed separately. Previously, these parts were often placed between other blocks, which made them difficult to see and often led to bends in other signal lines.
Highlights of MES Model & Refactor® (MoRe) v.4.9
Improved "Auto Layout" and "Refine Layout"
The horizontal spacing between consecutive blocks has been improved. Previously, the spacing was too large when a signal label was present.
If the action takes longer than 2 seconds for large models, a window now appears indicating that the action is in progress.
Applying the action multiple times in a row now has the exact same result. Previously, this could lead to slightly different block positions.
Improved "Arrange Port Blocks"
The handling of top and bottom ports has been improved to ensure there is enough space between the line and the edge of the block.
Highlights of MES Model & Refactor® (MoRe) v.4.8
New Action "Refine Layout"
This new action automatically improves your subsystem layout but retains the basic structure of your existing layout. While you manually define the general structure of your model layout, this action automates other time-consuming tasks, such as aligning blocks and optimizing line routes.
"Auto Layout" and "Refine Layout" on Selected Elements
You can apply the "Auto Layout" and "Refine Layout“ actions to a selection of modeling elements in the subsystem e.g. selected blocks and lines, etc. Stay in control of the overall layout of your subsystem, as this action automatically lays out a specific part of your model while leaving the rest untouched.
Highlights of MES Model & Refactor® (MoRe) v.4.7
Improved Line Routing in "Auto Layout" and "Refine Layout"
Line routing has been improved to avoid unnecessary bends in long or branched signal lines.
In addition, the action now avoids oblique signal lines, which could previously occur in rare cases.
Highlights of MES Model & Refactor® (MoRe) v.4.6
New Action "Refine Layout"
Use this action, like "Auto Layout", to create a clean and uniform layout for the current subsystem or a selected subarea. However, unlike "Auto Layout", the result is based on your current layout.
You can now easily set custom parameters for blocks and lines with the "Auto Layout" and "Refine Layout" action. For example, you can color port blocks and enable signal propagation for lines.
Highlights of MES Model & Refactor® (MoRe) v.4.5
Apply "Auto Layout" on Selection
You can now apply the "Auto Layout" action to a selected subarea of your subsystem, so you can lay out this part without changing the rest of the subsystem.
MoRe now supports MATLAB versions up to 2022b.
Highlights of MES Model & Refactor® (MoRe) v.4.4
Enhanced Block Positioning in the "Auto Layout" action
Horizontal and vertical block positioning has been improved, reducing line bends and line crossings. Blocks are also aligned and placed closer to adjacent blocks, optimizing the overall model layout.
Highlights in MES Model & Refactor® (MoRe) v.4.3
Improved Placement of Connected Blocks in "Auto Layout" Action
- Source and sink blocks are now placed closer to their connected block, and in such a way that the signal line is as straight as possible.
- A typical example is Const and Terminator blocks directly connected to a subsystem block.
Highlights in MES Model & Refactor® (MoRe) v.4.2
Improved Block Alignment in "Auto Layout" Action
- The horizontal placement of blocks has been improved. Previously, signal labels could cause incorrect alignment.
- As before, blocks with in- and outports are center aligned, blocks with only inports are left aligned, and blocks with only outports are right aligned. However, the center- and right alignment is no longer distorted by signal labels.
Highlights in MES Model & Refactor® (MoRe) v.4.1
Improved "Auto Layout" Action
- The action is now supported in MATLAB 2017b and 2018a, in addition to the previously supported MATLAB 2018b and later versions.
- Improved handling of signal lines that are fed back directly to their source block (self-loops).
- Blocks that are only connected to a port block are now positioned closer to the port block. This avoids unnecessarily long signal lines and makes the model appear more compact.
- Improved line routing to prevent lines from being too close together or overlapping.
Other Improvements
- Search Signal by Name: The action now supports the use of the "*" symbol as a wildcard within the signal name to be searched for.
Highlights in MES Model & Refactor® (MoRe) v.4.0
New Layout Action "Auto Layout"
- This action automatically arranges all blocks and routes all signal lines in the current subsystem, for a clean and uniform layout.
- It is based on established algorithms for the automatic layout of block diagrams.
- The action is available for MATLAB® versions 2018b and newer.
Bug Fixes
- All actions: Fixed a bug that caused an error when starting an action in a Variant Subsystem.
- All actions that change signal lines: Fixed a bug that occasionally triggered multiple warning messages in the MATLAB command window when undoing the action.
Installation
MoRe can be installed either as a toolbox or manually. We strongly recommend the toolbox option because it is much easier to install and update.
Install as toolbox (recommended)
NOTE: Do not install the toolbox on a network drive! Installing a MATLAB toolbox on a network drive can severely slow down MATLAB. To check the toolbox installation path, please open MATLAB's "Preferences" and navigate to the submenu "Add-Ons" or "Apps". Here you can check the installation path in the "Installation Folder" field and change it if necessary.
- Extract the MES MoRe zip file (MES_MoRe_Your_Version.zip).
- In MATLAB, navigate to the directory where you extracted the MES MoRe zip file.
- In the "Current Folder" section of the MATLAB editor, double click the "MES_MoRe.mltbx" toolbox.
- Wait until MATLAB has finished installing the toolbox.
- Call sl_refresh_customizations in the MATLAB command line. There should be an MES MoRe menu entry in the Simulink editor now.
- (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).
Install manually
- Extract the MES MoRe zip file (MES_MoRe_Your_Version.zip) into a target folder with write access. Suggestions:
- C:\Program Files\MES_MoRe
- %MATLAB_ROOT%\toolbox\MES_MoRe_Your_Version
- %MATLAB_ROOT%\toolbox\MES_MoRe
- x:\project\matlab\MES_MoRe_Your_Version
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 permanent 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 the Simulink editor 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).
License Configuration
Learn more about the MES Quality Tools License Configuration, general license questions and the MES licensing models as well as how to change your MAC-ID.
Update
To update to a new version of MoRe, please follow these steps:
1. Uninstall old version
If updating from the old toolbox version to the new toolbox version
- Uninstallation is not required and you can skip this part.
If updating from the old manually installed version to any new version
- Call path_MoRe(false) in the MATLAB command line.
- If you added a call to init_MoRe to your startup.m, then remove this call.
- Delete the directory of the old installation or keep it as a backup.
If updating from the old toolbox version to the new manual installation version
- Navigate to the MATLAB Home tab. In the Environment or Resources section, open the Add-On Manager.
- Find the old MoRe toolbox entry and select "Uninstall" in the context menu.
Please note: MATLAB may ask you to delete some directories manually. However, this is not mandatory.
2. Install new version
- Depending on whether you want to install the new version manually or as a toolbox, proceed as described in the following "Installation" section.
- You can skip the "License Configuration" part if the license is already configured for the old version.
3. Import old configuration files (optional)
After installation, you can import all configuration files of the old version via "Import Previous Preferences" from the "Preferences" submenu of MoRe. This import action requires the old version to be 2.9 or newer. This import is only necessary if you have changed any configuration files from the "Preferences" submenu in the old version.
System Requirements
The following system requirements must be in place to use MES MoRe:
- Windows (Windows 7+8+10+11 - 32 and 64-bit versions)
- MATLAB® R2014b ... R2023b
- 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 Action in MoRe
- 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
User Guide
The MES MoRe 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).
How-To Videos
Auto Layout and Refine Layout
Layout
Signal Routing
Partition
Interface
Bus
Analyze
MES Webinar Series
Find all upcoming webinars. Participation in our webinars is of course free of charge. Webinars are held in English (unless otherwise stated).
Release Notes - MoRe v.4.17 (April 2024)
"Auto Layout": More Compact and Readable Results
- Large horizontal gaps between directly connected blocks are now avoided, making the layout more compact and the data flow easier to understand.
- Previously, large distances could be created by wide blocks ...
- ... or by wide line labels.
"Auto Layout": More Structured Results by Aligning Similar Blocks
- Similar blocks are now aligned in columns for a more structured layout that is easier to understand.
- The similarity is mainly determined by the block type, block size and the number of inports, outports, and control ports.
"Auto Layout": Better Positioning of Goto/From Blocks
- Goto blocks are now placed to the left of the corresponding From blocks to make the data flow easier to understand.
- Note: We recommend using Goto/From blocks only in exceptional cases.