Best CMMN introduction in the hood! Thank you, @Prof. Dr. Monique Snoeck. Very well presented: complete, concise, compelling! 👍
@moniquesnoeck7 ай бұрын
Glad you like it 🙂
@oliechti3 жыл бұрын
I really, really liked your series on BPMN, and happy to see a new webcast on CMMN today! One use case that I am struggling with at the moment, with CMMN, is what I would call "repetitive stages". Think about "Stage A", containing two human tasks "Do This" and "Do That". What I would like to model, is that you can repeat "Stage A" many times, and that each time you create the stage, you have to complete "Do This" before "Do That" becomes available. My Approach was to make the stage repetitive, and to add a Sentry on "Do That", connected with the "Do This" task. The problem is that I am not sure that the CMMN specs is clear about the semantics in this case: is "Do That" active as soon as one of all the "Do This" tasks completed? Or only when the "Do This" task in the same stage is completed (which I would intuitively read in the model, thinking that the stage creates some sort of scope). I guess the behaviour then depends on the engine. I am using Flowable, and in that case, the first behaviour is observed (I have a workaround to add an ifPart on the sentry... but I don't find this great). Another approach was to use a "Case Task", but then I don't have everything in a single diagram... Have you faced this issue, and how have you approached it?
@moniquesnoeck3 жыл бұрын
Hello Olivier, I didn't face this issue before, but it's an interesting problem. According to the execution semantics, Stage and Task instances with a RepetitionRule will try to create a new instance every time an entry criterion with an OnPart is satisfied. So this means that the next repetition indeed doesn't wait until the previous repetition of the stage has been completed. This causes the interleaving behavior you are talking about. The only way to enforce that the creation of the next iteration waits for the earlier one to be ended, is indeed creating an additional condition to start the stage. An alternative solution to the one you are using, could be to embed the DoThis-DoThat in a (complex) process task defined in BPMN and have the repetition inside the process task. This allows combining the more "controlled" flow of BPMN with the flexibility of CMMN.
@ronaldjavier76112 жыл бұрын
Great video! I am more inclined of BPMN and start to learn CMMN. Can you suggest a nice open source tool? Thanks
@moniquesnoeck2 жыл бұрын
I'm using the tool by Signavio, which can be used for free for academic purposes. But it's not open source. Camunda used to have a CMMN tool as well. The code can be found on Github (github.com/bpmn-io/cmmn-js), but the project has been abandoned by Camunda. See their blogpost for the reasons: camunda.com/blog/2020/08/how-cmmn-never-lived-up-to-its-potential/. Basically, even though CMMN has some nice features, it has some drawbacks as well. And once used to BPMN and DMN, users may not find it worth the effort to learn yet-another modelling language.
@chatchman5503 Жыл бұрын
How to read CMMN Diagram. kzbin.info/www/bejne/nqDUe3mXqLaUi80