Reputation: 297
I'm building a huge complex software that uses Simulink for simulations. As such I have a Object-oriented code structure and also a Simulink model structure and a GUI structure (View of the Model: the OO code). The Simulink blocks stucture mirror the OO code structure.
My gut feeling tells me I can throw away this GUI and OO code structure and then embed its contents into the function hooks of the Simulink models that represent it. Which leads to the question: Have you ever seen anyone/company create a software entirely based on Simulink? Do they use Simulink as a GUI or still maintain a separate GUI? Is there a guide online on doing this?
Thanks heaps.
Upvotes: 1
Views: 133
Reputation: 297
I'm back to answer my question.
Simulink doesn't have a OO structure that you can extend. In other words, one can't add methods to a simulink blocks.
Simulink however does allow to access all its blocks and their properties. Hence, one can take this information and replicate an equivalent OO structure. As a result, this OO hierarchy is linked to the hierarchy of Simulink blocks. This emulates the extension of Simulink but you end up with 2 identical namespaces but in 2 different locations (one in workspace, one within Simulink's internals).
Did it work? Yes, it did.
Is it advisable ? I'm not sure.
Would you do it again? No, I've learnt that MATLAB being dynamically typed is prone to fast design and less error checking. This is undesirable when it comes rather large complex projects with many coders. I'd probably redo this in Java where many simple errors can be caught early during compile time.
Upvotes: 0
Reputation: 454
Have you ever seen anyone/company create a software entirely based on Simulink?
Yes I have seen a lot of software created in Simulink, mainly in Universities and Scientific environments. It is used in a wide range of fields like communications, electromagnetic waves, digital signal processing and other telecommunications stuff, it is also extensively used in science investigations that we are not going to know :).
If this make sense to you, MIT (Massachusetts Institute of Technology has courses for Matlab and Simulink)
Do they use Simulink as a GUI or still maintain a separate GUI?
In UCLV (Cuban University), they use the Simulink GUI, I saw that in many final projects and graduation thesis. But this is not the holly grail, the decision is up to you. And maybe you would like to read this post about Simulink with Object Oriented code
Is there a guide online on doing this?
You always can reach the mathworks site, is plenty of knowledge about this.
Upvotes: 3