Can anyone proficient with this kind of language comment on how useful it is compared to a more vanilla imperative language? It seems like it's designed for control systems, which is largely about correctly implementing large state machines. Are there problems that are incredibly difficult to manage without a language like dezyne? Outside of control and state machines, are there other domains it excels in?
Dezyne runs formal verification under the hood (Model checking), which basically means checking all possible situations that might happen in your code. You can create a requirements/constraint like statements and Dezyne will check is there a scenario where you violate them. Also it makes sure that every single has a correct handler, so no more unexpected timer interrupts.
It short words - you don't need to write unit tests and target code generates directly from the model
Sounds like formal verification is built into the language, which sounds nice for people who care!
Given this is spitting out C++ code, it could be that the ideal way of using this is to write your state machines with this, then use the output in a more traditional setup.
every app is big hierarchical state machine. from app using mechanical enginering devices to cenralized perpertual trading orderbook to networked game world state management middleware.
rendaw|9 months ago
croes|9 months ago
karkob|9 months ago
If you need a working example, you can find a simple Cmake/C++ implementation: https://forum.verum.com/t/automatic-lights-a-complex-system-...
If you are stubborn enough you can model even the smallest detail of logic in Dezyne and then use single lines of C++ hand-written code to manipulate IOs: https://bitbucket.org/j0ran/alarmsystem/src/alarmsystem-no-m...
gotoeleven|9 months ago
karkob|9 months ago
It short words - you don't need to write unit tests and target code generates directly from the model
rtpg|9 months ago
Given this is spitting out C++ code, it could be that the ideal way of using this is to write your state machines with this, then use the output in a more traditional setup.
https://dezyne.org/dezyne/manual/dezyne/dezyne.html#Formal-V...
dlahoda|9 months ago
az09mugen|9 months ago
codr7|9 months ago
karkob|9 months ago
sitkack|9 months ago
Sounds like plan! Sign me up.
leelou2|9 months ago
[deleted]