sml2 icon indicating copy to clipboard operation
sml2 copied to clipboard

Is there a plan to release SML v3?

Open liziyi75 opened this issue 1 year ago • 8 comments

It seems that version 3 is more aligned with C++ itself, making it easier to express requirements and improving performance. Will there be support for features like orthogonal regions, on_entry/on_exit, etc.? I am very much looking forward to the release of version 3. Thank you!

liziyi75 avatar Sep 14 '24 23:09 liziyi75

Yeah, there is a plan; currently there is one more design issue to be solved, mainly how to handle different return states in a more explicit way to avoid not being able to see potential transitions on the transition table, it's not a big issue and solution already exist, is just not ideal yet, so need some more thinking through but the plan is to add all UML-2.5 features eventually.

kris-jusiak avatar Sep 15 '24 02:09 kris-jusiak

That's cool, thanks!

liziyi75 avatar Sep 15 '24 03:09 liziyi75

@kris-jusiak What is the current / near future plan for v3? I was looking forward to using SML on a new project but it seems the version that's currently on master is quite limited compared to v2 that I was evaluating earlier this year. My needs aren't that big, but having on_entry / on_exit would be of great value.

P.S. Please excuse me if this sounds like a request to receive even more free work from you, that is not my intent.

okvik avatar Nov 11 '24 11:11 okvik

Yeah, v3 is currently very limited and not production ready yet, there are some subtle use cases and design decisions to be still sorted out, it's mainly about the balance between declarative, performance and easy to use interface but yeah, it still requires more work which I'm planning to do still this year, after releasing some other project I'm currently working on. on_entry/on_exit will defo be part of it as well as composite states.

kris-jusiak avatar Nov 11 '24 23:11 kris-jusiak

Yeah, v3 is currently very limited and not production ready yet, there are some subtle use cases and design decisions to be still sorted out, it's mainly about the balance between declarative, performance and easy to use interface but yeah, it still requires more work which I'm planning to do still this year, after releasing some other project I'm currently working on. on_entry/on_exit will defo be part of it as well as composite states.

Nice, thanks for the answer. Looking forward to when the library is ready since it seems integrating it with various different project / code structures is going to be more straightforward and magic-less, but for this project I'll stick with the original SML.

On another note, seeing how small the library is at this time it encouraged me to try and understand how it works and ultimately implement on_entry / on_exit myself. It seemed natural to define these as built-in events whose handlers get called (if they are defined) automatically by the event dispatch that ends up switching the state. It's just an experiment, and I'm pretty sure there's lot of edge-cases and opportunities that I'm missing, but it was nice being able to understand what's going on a bit and get some working results :)

Thanks for all the work and all the great libraries!

okvik avatar Nov 12 '24 13:11 okvik

Hello,

I am also impressed by this sml library and look forward to 3.0 release.

@kris-jusiak I have a few questions.

  1. Is the current main code working?

  2. Did you check against clang-tidy and clang statatic analyer?

tsjung75 avatar Jan 06 '25 11:01 tsjung75

Hi @tsjung75

  1. yes, but code is neither complete nor production ready ATM, the main concepts are there though.
  2. I do have them setup locally and they are part of the releasing process but there is no github action doing it automatically ATM.

kris-jusiak avatar Jan 14 '25 20:01 kris-jusiak

Hi @kris-jusiak , Is there any news about the progress of SML v3? I’m really looking forward to seeing the v3 with on_entry/on_exit release soon. Thank you so much!

liziyi75 avatar Feb 22 '25 05:02 liziyi75