SJ

I’m trying to simulate a value stream where part way through it a number of process instances are spawned. Initially, there is just one process thread. Midway through it numerous concurrent processes become instantiated. These come back together and a single thread continues to the end. The value stream itself is modeled as an EPC with additional assigned EPCs for lower level detail.

The concurrent processes are all instances of the same EPC model. I don't want to create many many definition copies; that's just much too ponderous. I'd have to severely edit the model every time I needed to reconfigure the scenario. I instead need a way to parameterize the number of instances (e.g., as an attribute value on a calendar event).

I’ve tried using calendar events as a process instantiation pattern. However, I’ve only been able to get that to work on the start event for the whole value stream. I don’t want all the process instances at the start. I need them part way through.

Any help/pointers appreciated.

by Ralf Angeli
Posted on Thu, 06/05/2014 - 09:17

Indeed, process instantiation is controlled at start events. Midway in the process you cannot generate new instances, you can only split process folders of existing instances. And that can be done with a diverging AND rule. The resulting process threads are carried out in parallel and can be merged together again with a converging AND rule.

My guess is that you already know this and that this is not what you are looking for, but I don't have a better suggestion because I'm not sure why you need additional instances during process execution. Perhaps you could elaborate on that?

0
by Steven Jowers Author
Posted on Thu, 06/05/2014 - 15:58

I am trying to simulate a complex value stream where the major segments are re-reusable by other value streams (there are a number of possible streams we support). Early segments in the stream are about planning followed by analysis then design, implementation, test and delivery. These later segments have many concurrent instances of the same detailed processes. (Oh, by the way, there could be several different value stream instances (some of different configuration, too) all operating at the same time but I will save that discussion for a later thread.)

So, the thinking is that I start the front end with a single thread that then branch out several times and then collapse back as we get closer to delivery. It is the number of branches and their subsequent internal branches that gets daunting to model explicitly using “AND” rules. I’d really like to somehow parameterize the model and avoid "hard coding" many function objects each of which have a process model assignment for the details. I’d like a way to use a parameter to spawn/fork/instantiate the demand for all those process instances and then let the simulation engine work through laying them out in time subject to resource capacity. This makes it relatively easy to reconfigure the simulation for a different value stream instance.

If there is another way to think about simulating this type of value stream, I'd like to know.

Thanks.

0
by Ralf Angeli
Posted on Fri, 06/06/2014 - 10:54

Hm, the only way to control something like that with a simple number would be a loop. But that would mean sequential and not parallel execution of the processes. I'm sorry to say that, but a parallel execution controlled with a simple number is currently not supported.

0
by Steven Jowers Author
Posted on Fri, 06/06/2014 - 22:04

Thanks. At least you are telling me that I am not missing something obvious. My fallback will be to create a massive AND gate that has my maximum number of possible concurrent paths. I will have each path on the diagram follow the standard EPC pattern of Event - Function - Event and then assign a model of detailed steps to each of those Function objects. These will execute in parallel subject to availability of common resources (a subject to explore later). The concluding AND gate will bring them back together into a single thread and let the value stream finish. If I need to vary the scenario to have something less, I will simply delete the extra parallel paths.

It is a bit of a brute-force method, but should work. Can you think of anything that is a "gotcha"?

Again, thank you for your thoughts.

0
by Ralf Angeli
Posted on Tue, 06/10/2014 - 10:52

That's also how I'd do it. If you want to spare yourself some work, you can make occurrence copies of the events and the function with the assignment to the lower-level EPC instead of creating separate definitions.

0

Featured achievement

Rookie
Say hello to the ARIS Community! Personalize your community experience by following forums or tags, liking a post or uploading a profile picture.
Recent Unlocks

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock