MATRIXx

cancel
Showing results for 
Search instead for 
Did you mean: 

Separate Model from View

Hello,

I am not sure if you are going to do further development on MatrixX and if you are taking feature requests. But one feature I would like to be integrated into MatrixX is the separation of the Model data from the View data.

Right now the views of a block are stored in the same file as the definition of the block. This means that even if I do not change anything in the model, if I zoom in on a block or move the view, the current file shows up as modified. As there are no comparison tools to see what modifications have been implemented (another request for the future: implement a model comparison tool), two models files could be virtually identical but because the views are different, the files show up as different.

It would be great i
f the model was in one file and the views preference in another file. This way the model file would be different only if the model is modified.

Thanks,

Cannuc
0 Kudos
Message 1 of 6
(8,166 Views)
Some time ago for a completely different reason I created a tool that would create an ASCII text file in readable (SystemBuild Access)format for each SuperBlock in the catalog. One of the unintended benefits of process was that it made configuration managment simple since each file was essentially flat. If you made a change to the model you could see it simply by doing a diff on the configuration managed text version of the model. Initially, the user would have to export every SuperBlock but there was logic so that once that was done only the SuperBlocks that changed were exported. This was important, the model on which I was working contained 628 SuperBlocks which, although not particularly large by SystemBuild Standards took significant time to execute the scrip
t.

I do have some files related to this tool, although the pedegree is not clear. I am not including them because it does not really answer you question and it might take some scripting on your part to make it operable. If you are interested I can either post them or e-mail them directly.
Garrett Thurston
gthurston@foliage.com
Phone: 781.993.5540
0 Kudos
Message 2 of 6
(8,165 Views)
Hi Garrett,

I would definitely be interested in you script. Please post it or email it to me at adenis@bristol.ca

Thanks

Cannuc
0 Kudos
Message 3 of 6
(8,165 Views)
Cannuc,
I see the need for being able to compare models, to see what changes have been made. However it seems to me that it would be very hard as a user to manage multiple files for the same model. When opening a model you would either have to select two files, or assumptions would have to be made about file extensions.
I will submit a suggestions for a tool that can compare two models. If it is implemented or not will of course depend on how feasible the tool is to create.

Carl L
National Instruments
0 Kudos
Message 4 of 6
(8,165 Views)
Dear Carl,

Thank you for your answer.

I had two requests:
1. Separate the model from the view
2. Model comparison tool

My first request was explained in my post but I feel I could give some extra information for my second request:
A lot of people use version control tools. ISI/WindRiver actually acknowledged this fact by implementing a rudimentary version control in version 7.0.1 of MatrixX. However version control is harder if you cannot compare the evolution of the model from one version to another (you rely on comments that can be outdated or not done at all).
The way the comparison tool could be used is by opening a model under version control, showing the history of that model in version control and comparing a previous version of the same mode
l with the current model or even compare two older version of the model. This way you do not have to open two models at once, or manage multiple files of the same model because you rely on the version control system to do that for you.

In my work, we often ran similar simulations with different versions of the model and got different results which then got us to wonder: what was different between the two versions that could have made the results change.

It also helps when several developpers are working on the same model to see and merge progress between developpers.

The complex part about the model comparator is how to display differences? Do you output an ascii diff file that can then be parsed by a GUI to show the differences. If there is a GUI, How does the GUI show the differences between blocks.

It would also be nice if the model comparator worked independently of MatrixX. Include the model parser code into an independent tool. This would allow other programs to call
the model compartor.

Cannuc
0 Kudos
Message 5 of 6
(8,165 Views)
I am interested in obtaining a copy of your script to create an ASCII readable format for SystemBuild models. Please email to jwebb@williams-int.com. Thanks.
0 Kudos
Message 6 of 6
(8,166 Views)