ARIS Community - We Love BPM

BPMN simulation and syntax checking in ARIS

sstein's picture
by Sebastian Stein in ARIS BPM Blog posted on 2009-02-09

Last week I gave you an impression how BPMN looks like in ARIS. In the previous post, I mostly covered standard modelling features, but this week I will take a look at the more advanced features like BPMN process simulation and syntax checking. There was also an interesting question about how ARIS is handling BPMN sub-processes, which I cover first.

BPMN provides a modelling construct called sub-process. Basically, it is a BPMN activity, which encompasses other BPMN activities describing an embedded process. BPMN allows showing this sub-process directly in the diagram or to hide the belonging activities and show only the encompassing BPMN activity. A BPMN modelling tool must be able to hide and show the details of the sub-process. Now, first take a look how a collapsed sub-process looks like in ARIS: 

a process with a single BPMN activity called "Subprocess"The figure shows a process with a single BPMN activity called "Subprocess". This activity has a special "+" icon. If the user clicks on the "+" icon, the details of the sub-process are shown directly in the diagram: 


clicks on the "+" icon, the details of the sub-process are shownWhile expanding the sub-process, ARIS enlarges the lane and pool, because otherwise the additional modelling objects would not fit in. Also, a shadow is added to the objects of the sub-process so that they can be easily distinguished from the BPMN activity they belong to.


Even though everyone familiar with process modelling can read a basic BPMN diagram, it takes some learning effort to get to know all the different details of the BPMN notation. For example, BPMN provides many attributes, which are not directly shown in the diagram. Therefore, it is not so easy to create a syntactically correct BPMN diagram. To overcome this problem, ARIS provides syntax checking of BPMN diagrams. As mentioned in the previous post, some of the syntax rules are already enforced while modelling like selecting the correct relationship type between objects. In addition, ARIS provides a syntax checking feature, which can be invoked by the user. Identified errors are directly shown in the BPMN diagram (see next figure) by marking the objects with a red border. Also, a yellow exclamation mark is added to the diagram. If the user moves the mouse pointer over this exclamation mark, a tooltip describing the syntax violation is shown. It is also possible to generate a report listing all problems found. 

BPMN Syntax validationSyntax checking is useful to identify problems in a process diagram, but it can't be used to reveal more advanced problems like deadlocks in the process flow. Here, process simulation is a great tool. ARIS also supports simulation of BPMN process models. The following figure shows a part of a BPMN process, which is currently simulated: 



BPMN process simulationAll BPMN activities marked with a green colour are currently active. The different numbers around the BPMN activities show simulation metrics like the number of tokens waiting to be processed by the belonging BPMN activity. Those metrics can be further analysed after finishing the simulation. For example, charts visualising the metrics can be generated by ARIS or the simulation results can be exported for further analysis. The following figure shows a chart generated by ARIS. 


ARIS BPMN simulation metricThere are many more things related to BPMN modelling in ARIS. For example, it is possible to relate BPMN elements like BPMN activities to other modelling artefacts in the ARIS repository. This is important, because the BPMN standard doesn't cover everything needed for business process management. I also don't expect that the missing things like assigning risks to BPMN activities will be covered in a future version of the BPMN standard (at least not in the near future). Therefore, it is important to have an integration with other artefacts of an enterprise model.

If you interested in additional details about ARIS' BPMN support make sure to read the belonging ARIS Expert Paper "Adopting BPMN with ARIS". You can also find other ARIS Expert Papers in our library.

There are no attachments
Site Administrator posted on 2009-02-09
Scott said:

Sebastian -
Its been a while since I’ve had access to ARIS for modeling so I have a question:
How does ARIS handle a subprocess that is more complicated than two activities - for example, one that spans swimlanes and has splits/joins/multiple-endpoints - I’m thinking, for example, of a subprocess that might be a process in its own right, rather than just a fragment to be abstracted for convenience or readability. Is this handled by a linked process or does it “expand” in place as it does in the above example? (or is there another approach used?)


Sebastian Stein posted on 2009-02-09

Hi Scott,

a BPMN sub-process is not allowed to have own pools/lanes. Therefore, it is more a feature to hide certain details. Personally, I don’t think BPMN sub-processes shall be used to model a hierarchy of process models. Here, it is better to assign a completely independent process to an BPMN activity or to use BPMN links. In general, this is more an issue how you use BPMN and not really related to ARIS.

Site Administrator posted on 2009-02-09
Sanjiv said:


Did I understand it right that we can built BPMN models with capability to “colapse” and “expand” the ’subprocess’ symbol?
If yes, could you please detail the steps you would take achive the diagrams as shoown in your blog.

Also which version of the product supports this capability.


Sebastian Stein posted on 2009-02-09

Hi Sanjiv,

I was not really expecting that BPMN sub-process handling in ARIS is such a hot topic. Ok, yes, you can do it in ARIS, it works. It works best in the current version ARIS 7.1, but also the previous version (7.02) already some support for sub-process handling.

So how does it work? First, create a BPMN diagram and add an expanded sub-process to the diagram. You can find the belonging symbol in the BPMN palette. Now add some activities to the sub-process. If you now double-click on the “+” symbol, the process will collapse, all details are removed from the current diagram and added to an assigned diagram. If you want to change the sub-process, you can either expand it again or edit the belonging diagram directly. I hope that helps.

Andreas Binder posted on 2009-07-10


i have a question about the simulation of BPMN. Actually i´m working on my thesis and i want the discover the possibilities of simulation with an inclusive OR- gatway.

I made a diagramm which was an OR-split in one pool and an OR-join in another, connected with message flows.

But i think split and join are in different pools, it dosen´t work. When the "token" goes, for example, in both direction A and B in a two way OR-Split, the OR-Join forwards them to the end. But when just one A or B ist used in the split, the join has it in the buffer and don´t forward it. 

When i use just one pool, it´s possible to finish with AB, A or B.

Is there a way to use a spil in one and a join in another pool or do i have the change the diagramm in a way, that has split and join in the same pool?







Ralf Angeli posted on 2009-07-13

In general the joining inclusive OR gateway behaves in ARIS Business Simulator as described in the BPMN 1.2 spec:

"When the Inclusive Gateway is used as a Merge, it will synchronize all Tokens that have been produced upstream, but at most one for each incoming Sequence Flow. [...] It requires that Tokens for all Sequence Flow that were actually produced by an upstream (by an Inclusive situation, for example) be synchronized. If an upstream Inclusive produces two out of a possible three Tokens, then a downstream Inclusive will synchronize those two Tokens and not wait for another Token, even though there are three incoming Sequence Flow"


So only tokens which are the result of an upstream split and which share the same instance number are merged. Maybe this requirement is not met in your case. But to be sure one would have to see the model you created. Perhaps you can upload a picture of it in a new thread.

Andreas Binder posted on 2009-07-13


thanks for answering. This is my model:

I know there are possibilities to replace the inclusive OR with an XOR, but i want to dicover the possibilities of working with the incluvie OR.

In this case, the join reacts differently then in a model where spilt and join are in the same pool.


Ralf Angeli posted on 2009-07-15

If I reduce your model a bit I get the following:

This is equivalent to the next model:

This means in the upper pool you always create two token siblings with the AND split and the OR join expects both of those tokens to arrive before it forwards one to the end event.  The tokens, however, will wait at the message intermediate events for a matching message from the lower pool to arrive.  And since there is only an OR split which does not produce two tokens each time, there will be tokens waiting indefinitely at the message intermediate events in the upper pool.  Like this the OR join will never have a chance to merge them with their siblings and therefore it will not forward a token in such cases.


Note that an XOR join would forward a token because it does not synchronize.

Andreas Binder posted on 2009-07-17

Hi Ralf,

thank you for answering. I didn´t recognize that there is an AND-Split before my OR-join.

Now, I have problems to use the collapsed Sub-Process. I´ve got only the Expended one in my model. It´s not possible to add the collapsed one with the funtion for new symbols, too.

In the Administration modul, I checked "Konfiguration" - Konvention" - "Vorlagen" - "BPMN", but there the collapsed one was allready maked. I use the Entire Method in Aris.

Another problem is an error in the semantic check when I use a Link Event. The semantic check tells me, that i have to use exactly two occurences for that event. I don´t know how to make mor occurences or to change the type of my link event.




Ralf Angeli posted on 2009-07-19

Why would you need the collapsed sub-process symbol? I guess the idea is to start with an expanded sub-process, flesh out its details and then collapse it. Or are you using it differently?

Regarding occurrence copies. This is the default method for copying objects in ARIS. You get it with a simple Ctrl+C Ctrl+V. An occurrence copy is more or less an additional link to an existing object in the repository, in contrast to a definition copy which would be a new object.

And with respect to Link events you should be aware that the BPMN spec explicitly states that they must not be both target and source of sequence flow.

Andreas Binder posted on 2009-07-20


i just tried to copy the occurrences but it hasen´t worked so far. I made a Link End Event in one model and a Link Start Event in another one. I added a new Variant with a connection to the Start Event in the End Event.

But there still is only one occurence and i can´t copy in the attributes menu.

Ralf Angeli posted on 2009-07-21

As mentioned before, use Ctrl+C Ctrl+V (or "Copy" and "Paste" from the menu) to create an occurrence copy of an object.  If you are successful, there should be two or more rows for the object in the occurrence list of the properties dialog you posted.

Also note that link events are more or less go-to connectors for sequency flow.  That means related events have to be put into the same pool.  (See also the BPMN-related modeling hints for simulation in the ARIS help topics.)

Andreas Binder posted on 2009-07-21

Thank you.

I just saw this in another tread "So this restriction will be lifted once the simulation supports BPMN 1.1 or 1.2 respectively."

Does it mean only the simulation does not support BPMN 1.2 right now or Aris in generall?

Which versions of BPMN are supportet now in the moduls of Aris Business Simulator 7.1?




Sebastian Stein posted on 2009-07-21

ARIS in general supports BPMN 1.0. The simulation capability also supports BPMN 1.0.

Andreas Binder posted on 2009-07-22


I just tried to make a simulation like the one in the Flash Movie on the Aris Business Simulator Homepage. I made a BPMN model and the related BPMN Allocation Diagramms, in which I connected the activities with the organisation units. In each organisation unit i wrote in the number of employes.

Here some Screenshots of my models:

When i run the simulation, i have the statistics which i marked in the options menu in simulation. But i don´t knwo how to edit and even get the chart. I activated the chart field but can´t find any options to get, for example the personal ressources.

Is there anything missing in my models? How can I activate the charts?



Sebastian Stein posted on 2009-07-22

If I'm not mistaken, you have to select the data ranges in the statistics window, right click and say you want to generate a chart. If the simulation generates the statistics, it is probably not a problem in the models you are simulating.



Andreas Binder posted on 2009-07-23

Thanks, it works perfect.

I ran also the United Motors Group example, put there only the "Personalressourcen" and the costs are in the statistics. I activated "Funktionen kumul" but this one I can´t find in my statistic window.

Is there anything special to do?



Ralf Werner Munkes posted on 2009-07-24

Hello Andreas,

what does it mean "I activated "Funktionen kumul". Have you restarted simulation again after having activated the statistic?

Only the checked statistics on the option page are created during a simulation run. It is not possible to run a simulation and add an additional statistic afterwards.

Hope this answers you question!


Ralf Werner



Andreas Binder posted on 2009-07-24

Hi Ralf,

i checked the statistics before I ran the simulation. Normaly this worked perfect, only with the statistic "Funktionen kumul." it dosen´t work.

Here is tho option screen in which I checked the statistics:

And after doing this, I ran a simulation. But the Funktionen kumul. statistic was not available.

For this one, I used the Aris example model "Tür herstellen".


Ralf Angeli posted on 2009-07-29

When simulating BPMN models, the respective statistics table is called "Activities (cumul.)" instead of "Functions (cumul.)" because the former term is more common in the BPMN context.

Andreas Binder posted on 2009-07-31

Thank you Ralf, it works!

Ileana Castrillo posted on 2009-07-30

Two questions:

  1. I am having a hard time figuring out how to get the semantic check to run and show when there's an error. Can you provide steps for setting this up for the first time? Do I need to create a BPMN macro?
  2. Slightly less important but somewhat annoying: Andreas asked about having a collapsed subprocess symbol. This would be useful because sometimes we add an "empty" Subprocess (collapsed) symbol with the intention to go back and expand on it at a later point in time. I dug around trying to figure out how to get the symbol to display in the "Symbols" bar.
    It's also missing from the list of available symbols in the "Select symbols" screen of the Filter wizard. Same applies to the Transaction (collapsed) symbol.


Your help on the above is appreciated.




Sebastian Stein posted on 2009-07-30

Hi Ileana,

about your first point: Open the BPMN diagram you want to check. Right-click in the background of the diagram and select Evaluate -> Start semantic check... from the popup menu.

A long list with semantic checks is shown. You are looking for the semantic check called "Validation of a service-oriented BPMN model". After selecting this check, go to the next page clicking the next button. Make sure to check the box "Indicate errors by the use of information marks in the model" and press finish. Now the semantic check will analyse your diagram.

About your second point: This is a known requirement and we will take care about it while providing BPMN 2 support.



Andreas Binder posted on 2009-07-31


I have a question about the connection from a BPMN model to an organisation model.

I just made a BPMN model and added the organisation units in the BPMN Allocation diagramm.

But in BPMN there are the lanes, which  are representing organistation units, too. When I have the activities, for example, "recieve order", "send order confirmation"... in a lane "Sales" these activities are connected with a organisation part of the company. Is it possible to autogenerate an organistation model out of an BPMN model which uses diferent pools and lanes?





Sebastian Stein posted on 2009-08-03

Hi Andreas,

unfortunately, this is not as easy as you would like it to be. In BPMN 1, lanes and pools have a very abstract definition, which could refer to organisational units, but also to IT systems and web services and any other kind of entity, which could execute a part of a process. Therefore, it is impossible to generate an organisational map out of it, because ARIS can't guess how you interpret the meaning of a certain lane/pool.



Andreas Binder posted on 2009-09-04

Thanks for answering.

I just made a model and used a normal databased gateway this time. And when i ran the semantic check, there was a problem with the conditions missing. I added them, just like in the example "Tür herstellen" from the sample database. It worked, but then in the next check, there was a warning that I have to use the attribute "condition expression" when using the value "expression" for the attribute "condition".

I added this attribute, but don´t know how to handle it. In the example from the sample database it´s missing, too.


Nice weekend to all


Andreas Binder posted on 2009-09-09


i just saw somebody writing about BPMN Link Events. This ist very interessting for me. I tried to use them in my simulations, but don´t know how. In the Help of Aris, I red that I have to use von Link event pointing on another. But I couldn´t find any imformation about which attribut i have to use and how to make the connection, for example from a Link end event in one process to a Link start event in another.

Are there any examples?




sahar y posted on 2009-12-21

  I have read this paper"Adopting BPMN with ARIS". & I have a question.
In this paper indicate that "there are 70 syntax rules shipped with
the software"I really appreciate if  you guidance me how I can find list
of this rules?

best regards


Sebastian Stein posted on 2009-12-21

The syntax rules are available as a report/macro. To run them, open the diagram, right click on the drawing canvas and select "Evaluate". Now, select macro. A list with all available macros will appear. The macro is called something like "service-oriented BPMN". Select the macro and proceed through the wizard. After the macro was executed, syntax errors are highlighted in the diagram.

yusa kawauchi posted on 2010-06-30


I have a question about simulation of BPMN model.

I would like to simulate the BPMN process which has Loop condition. I figured out it is possible to do with EPM attribute condition on EPC process. I tried to put EPM attribute(Business Entity ERM attribute symbol) on BPMN model to describe Loop condition, but it didn't work.

Are there any ways to difine Loop conditions on BPMN to simulate processes?

A simulation tool is BPA Suite11gR1 which is based on ARIS 7.0 SR 6.

Best Regurds


Sachin S posted on 2010-07-31

Hi Sebastian,

My query is on object validation.

I have a set of words defined which are to be used to name an object. Say for example you create a function object in BPMN, the name of the object should start with either (create,input,enter). Anything apart from these any other word should not be accepted. Even if other words are accepted it should throw up an error during the semantic check.

Kindly let me know if this is possible.



Sebastian Stein posted on 2010-08-02

@Sachin: You can do that with custom semantic checks.

Dana Mateescu posted on 2010-08-06


I am currently evaluating  ARIS Business Architect (Oracle BPA 11g) and I am fairly new to BPMN 2.0 modeling. I wonder if there is a mapping between pools/lanes in BPMN and organizational entities (person, person type, organizational unit, etc.) in Organizational Chart.  

More specific, if I have created an organizational entity in an organizational chart, is there a way to make sure that when I need to use it in a BPMN diagram as a pool, I will use the same object?

Thank you,


Sebastian Stein posted on 2010-08-06

Hi Dana,

no, a pool is a different object type then a person or role. The BPMN definition of pool and lane is very broad and could basically anything like people, machines or locations. Therefore, we can't do this mapping. However, in practice, many people will use pools as you describe above. We are evaluating how to allow a mapping, but we have not decided on it yet.

Dana Mateescu posted on 2010-08-06

Thank you, Dr. Stein...

I wonder what would you advice for a project that will create only BPMN diagrams: would it make any sense to create organizational chart diagrams with organizational entities (persons, organizational units, etc.) or it would be wiser not to and simply to define pools and lanes instead?

Thanks again,


Sebastian Stein posted on 2010-08-06

Depends on what you intend to achieve. If you just need to write down processes, you might live without documenting the organisational structure. But if you want to do some analysis and improve your processes, an organisational chart comes in handy.

Dana Mateescu posted on 2010-08-06

I agree that good practice is to create the organizational chart even prior to any other modeling. However, if it is not possible to use organization entities as pools in BPMN diagrams, we will end-up with duplication:  having two objects targeting the same entity. Or maybe I am wrong...?





Sebastian Stein posted on 2010-08-06

Yes, duplication could happen, but you could also use pools/lanes to abstract from certain specific roles and combine several if they all perform the same task. It is not easy to answer, because it heavily depends on what you try to do.

Dana Mateescu posted on 2010-08-06

Thanks a lot, it seems to be a pretty good idea to use pools/lanes to combine several organizational entities into roles executing the same task. Is it possible to establish this type of asssociation: one pool to many org.entities?

Kind regards,


Roland Woldt posted on 2010-08-06

I agree with Sebastian that the definitions for pools and lanes are very broad and the objects are not the "real ones" you want to use for Enterprise Architecture or reporting purposes.

However, projects should define the semantics/usage of objects for process modeling based on the standards of the chosen notation. This should also include the modeling style (for example a consistent usage of workflow patterns) so that the models in your database are comparable and users/stakeholders -yes, this includes all people in your organization that look at the published version too- know what they have to expect and can understand the models.

For these reasons we decided to standardize pools to represent processes and lanes to represent org unit types on my current project (e.g. an "Accounting" lane). To provide a list of available org unit types, we created a BPMN Allocation Diagram that only holds lane objects in the org view of the ARIS House (and exist in a dedicated ARIS group/folder).

If you want you can restrict the write access to this ARIS group, which allows you to simply search for all lanes in your database and shows the lanes that were created by your regular users and have to be consolidated with the objects in your "lane library".

Kenia Sousa posted on 2011-02-03


returning a bit to the beginning of the discussion about sub-processes and pools, I'm wondering if I have a BPMN activity that is already inside a pool (let's say seller), then assign a process to this BPMN activity, could I create more pools inside this assigned process (other pools than just the seller, previously associated to the parent BPMN activity)?

Initially, I think that it does not make sense; but what if the parent activity is broad enough that, even though most of its tasks belong to the seller, there is also communication with other participating roles, such as buyer, supplier, etc.

I didn't see any restriction on the BPMN 1.2 specification about that... so any comments from your experience?

Thank you!

Best regards,


Ronaldo Hasiholan posted on 2011-09-23

Hello, According to "Introduction to ARIS Business Simulator" in ARIS help file, the supported BPMN diagrams are "Business process diagram (BPMN 1.x)" and "BPMN allocation diagram (1.x)".  Is it really not possible right now to simulate BPMN 2.0 diagram using ARIS Platform 7.2? Best regards, Ronaldo Hasiholan

Sukanya Nagarajan posted on 2011-09-30

An error occured in the report object model.error running Attr.getValue():Could not find AttrValueTypeTbl-entry
for AttrValueTypeNum: 11 !


I got this error can anybody help me to resovle this

Kaushik Mishra posted on 2013-06-20


Going back to the initial discussion of Inclusive OR merge,

If I have a parallel Split which divides the token into 3 different tokens, and 2 tokens are going to the Inclusive OR merge, will the token merge and go through?