Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matlab Simulink version control with multiple developers

We're using Matlab Simulink for model development (and Real-Time Workshop autocoding) within a team of several developers.

We currently use Visual Source Safe (yes, I know its terrible) for version control, using locks to prevent conflicting changes.

We'd like to migrate our programme to a different version control system (svn, hg or git), but we're concerned about performing merges and diffs on Simulink .mdl files.

Does anybody have useful experience in performing merges on Simulink files?

like image 261
Jon Mills Avatar asked Nov 24 '09 08:11

Jon Mills


2 Answers

Text merging of Simulink model files will be difficult. Here's an article which gives some information on configuration management when using Simulink.

As for diffs, there is a differencing tool in the Simulink Report Generator starting I believe in R2008b+. Here's a link to the doc for that feature.

Mike

like image 182
MikeT Avatar answered Sep 19 '22 18:09

MikeT


SimDiff will do what you need. You can pair it with any software configuration management/version control system that you like.

The 2007 SAE paper referenced by Mike was written before SimMerge (later rebranded to SimDiff 4) was available. Now you can use a modern software configuration management system like AccuRev or IBM Unified Change Management for your Simulink projects.

There are at least two newer papers which supersede the 2007 paper. The one from Xilinx shows exactly how to integrate SimDiff with SVN/Subversion.

  • Source Control and Team-Based Design in System Generator, from Xilinx
  • Modern Revision Control and Configuration Management of Simulink Models, from SAE 2010 World Congress

Disclosure: I was involved in the development of SimDiff from 2005-2015.

like image 24
rob Avatar answered Sep 20 '22 18:09

rob