Hacker News new | ask | show | jobs
by lucamark 2 days ago
First, thanks for the questions. Initially it can look like other model based design tools (like Simulink as you mentioned) but actually it is a vertical solution to deploy the algorithms into your embedded system.

Particularly, Modeloop allows developers to iterate on the design and test the solutions before putting on actual hardware.

In Modeloop there are basically two phases: 1) Mathematical verification: developers can insert contracts on the signals on the model design. These contracts specify the maximum and minimum range allowed for each variable. In the code generation phase, they are used to check that are no mathematical inconsistencies in the model. For example, code generation fails if you try to multiply inputs A ∈ [0,10] and B ∈ [0,20] and asserts C (C = A × B) ∈ [0,100]. 2) Testing: developers can not only perform model simulation with defined input profiles, but also they can make unit tests on subsystems - a container of different blocks . This makes the testing phase extremely rigorous.

1 comments

On units: we do support metadata in the model, but I wouldn’t position it today as a full unit-aware workflow with automatic Imperial/SI conversion across the whole tool. If that part is important for your use case, I’m happy to understand more of it
If microcontroler a important for your project, I recommend to put a photo (or a graphic) of a microcontroler near the top of the front page. Otherwise it may be missed.

Hi from Argentina! 100% metric here, except for the water pipes and faucets. I still have nightmares about metric vs imperial screws when I was in a lab a few years ago. Anyway, I expect USA to be a big market for your project and they expect to see everything using the imperial system.

Good point! Today Modeloop mostly treats signals as numeric values with optional metadata.

I probably wouldn’t want Modeloop to automatically convert between SI and Imperial units inside the model, because that can make the behavior less explicit.

What I do think is useful is documenting that a certain signal represents speed in mph, temperature in degC, pressure in psi, etc. So the value stays exactly what the model defines, but the user and generated artifacts have clearer semantics about what each signal represents.