13 Replies Latest reply on Oct 11, 2007 9:42 AM by kukeltje

    [sim] language features

    camunda

      I created a first draft of language features and described it here: http://www.camunda.com/business_process_simulation_news/first_draft_of_jbpm_simulation_language.html.

      By the way: The Soures are committed to HEAD.

      I want to collect feedback & critics about my current proposal in this thread, so please feel free to post... Also attribute-names or stuff like that can still be changed, so no false modesty ;-)

        • 1. Re: [sim] language features
          kukeltje

          ok, first remark without modesty about 'stuff like that'.... USE NAMESPACES...... hahahaha

           <sim:resource-pool sim:name='big machine' sim:pool-size='3' />
          
           <swimlane name='tester' sim:pool-size='2' />
          
           <start-state name='start'>
           <transition to='task one' />
           </start-state>
          
           <task-node name='task one'>
           <task swimlane='tester' sim:time-distribution='time required for task one' ]/b]/>
           <transition to='task two' />
           </task-node>
          
          


          (sorry for the strange formatting, cannot get it right even with the use of the preview button)


          Also, it is simulation, but besides that, a great step towards loadtesting....(sim for the business managers, loadtesting for the it managers ;-) )

          • 2. Re: [sim] language features
            kukeltje

            bah, I still screwed up....

            • 3. Re: [sim] language features
              tom.baeyens

              i don't want the namespaces to be required. since we have control over the sim language, you just have to make sure that the sim tagnames match (don't overlap with) the jpdl tagnames.

              we shouldn't force our users to use namespaces if they don't want to. that is the most important for me.

              if *on top* we can support namespaces optionally, i'm ok with it.

              • 4. Re: [sim] language features
                kukeltje

                Not directed at you, but why do people do not want to use namespaces? If we have a simple xsd it can validate things,the JPDL schema will still be valid (would have to be extended or dropped if we do not want to include namespaces..... for sim).
                So I do think we should force users to use namespaces OR extend the JPDL schema. Since they serve different purposes, I prefere the former, but that is just me

                • 5. Re: [sim] language features
                  camunda

                  1.) Use Simulation engine for load testing: Hmm, I am not really sure about this usage. Load testing normally involves some more sophisticated load generating strategy, for example with more than one computer. This is not addressed by the simulation engine at the moment, even if it could be, if simulation runs are too slow. But this would be stuff for the very far future ;-)

                  And you don't get real information about calculation time, because simulation time has nothing to do with real time. And all figures and logs refer only to the model time.

                  2.) The Namespaces: The old discussion :-) I can tell you, Ronald, why I don't like them: Because it gets less readable for the human. But I agree with you, that it is nice for validation and that stuff.

                  But to be honest: The most bigger jbpm projects I know remove the jpdl schema (because the add stuff themselves and don't use namespaces or, most faimous, they have a proxy in the company an eclipse can not access the http:... schema, which leads to waiting times while saveing the process. And the configuration property in eclipse is not well knwon. Or for completly other reasons).

                  • 6. Re: [sim] language features
                    kukeltje

                    1) Agreed, but having realistic scenario's is great.... something that often lacks so called 'load tests' And yes, more needs to be done, but I'd hate to have to do duplicate work... :-)

                    2) less readable... to a certain extend... yes.... but we have a lot more complex xml documents than a fairly decent jpdl process and imo not a real big problem

                    Regarding the proxy stuff, that can be easily handled when people configure their resolvers correctly (for JBoss it is even nothing more than dropping an xsd in a certain directory). But extending the jbpm resolver to allow custom schema's to be included (there is no need to always resolve this from the net) is fairly easy....

                    I even (in a local branch) extended jbpm in a way that people can add custom tags WITH a prefix in the jpdl and reference these via method calls in actions, the webpage or whatever. So a really generic extension.... including validation, completion etc... in the source of jpdl

                    • 7. Re: [sim] language features
                      tom.baeyens

                      great discussion guys ! :-)

                      2) increases the treshold for people to get started with it. if they want to do something simple to try it out, they will have to learn namespaces, which is not at all intuitive, before they can try out what they want to try (in this case simulation).

                      • 8. Re: [sim] language features
                        kukeltje

                        @Tom.... just a simple prefix in the definition for the sim elements? If the declaration is correct (e.g. done by the GPD or with a simple copy paste from a how to) using namespaces is not complicated at all. Many of my none-tech colleagues understand the concept....

                        But..... that's just my two euro...

                        • 9. Re: [sim] language features
                          camunda

                          Okay, I will leave the namespace-discussion-fun maybe for later. For the moment I have the tests running without namespaces...

                          But I have written the next part of the language: http://www.camunda.com/business_process_simulation_news/first_draft_of_jbpm_simulation_language_part_2.html

                          That is everything I want to introduce for the moment. If there are any comments, please tell me as soon as possible, because I want to go ahead with implementation soon, and changing basic stuff may get harder later...

                          Thanks a lot
                          Bernd

                          • 10. Re: [sim] language features
                            tom.baeyens

                            i'll try to have a look at the proposal asap.

                            • 11. Re: [sim] language features
                              kukeltje

                              Bernd,

                              A time-duration with configurable variation (relative to the timescale) would also be a nice option for actions/scripts. So they do not run, but still contribute to the dirstribution of load, resources etc.

                              For the rest, I'd say lets just see where this takes us...

                              Besides that, would be nice to display the result of a sim from the database in something like www.pentaho.org

                              • 12. Re: [sim] language features
                                camunda

                                Hi Ronald,

                                for the moment I would pospone that proposal, because I think it is not really the intension of a business process simulation (BPS) tool. I see two possible situations:

                                - actions/scripts doe something sychronous: This only needs computing time, which is irrelevant for simulation. If the computing needs some special resource to be evailable, it shouldn't be synchronous, because what to do if the resource is not available?

                                - actions/scripts doe something asychronous. Normaly this happens at the node-enter of some state. The state then waits for the results. This can already be realized by the current features set with a time-distribution for states.

                                Or do you have something in mind which doesn't fit here? But I also want to agree on this sentence, so we may just wait:


                                For the rest, I'd say lets just see where this takes us...


                                Besides that, would be nice to display the result of a sim from the database in something like www.pentaho.org

                                Agreed. But reports & result visualization is out of scope for the moment...


                                • 13. Re: [sim] language features
                                  kukeltje

                                   


                                  - actions/scripts doe something asychronous. Normaly this happens at the node-enter of some state. The state then waits for the results. This can already be realized by the current features set with a time-distribution for states.


                                  Ah... ok, I missed the time-distribution for states, think I only saw it for tasks...probably a wrong assumption on my side....


                                  Agreed. But reports & result visualization is out of scope for the moment...

                                  Agreed ;-)