Wyobraźmy sobie, że, czysto hipotetycznie, chcemy przesunąć po gąbce stalową kulkę. Nie trudno sobie wyobrazić taką sytuację, nawet mając świadomość, że jest absurdalny problem. Można to zrobić na dwa sposoby: popychając kulkę lub uciskając gąbkę, a kulka będzie się przesuwać tocząc po nierówności. Chciałbym skupić na tym drugim przypadku. Mamy dwie czynności: Utwórz wgłębienie i Przesuń kulkę (działanie automatyczne) wykonywane w tym samym momencie i Zwolnij nacisk wykonywane potem.
Załóżmy, że powyższe zadanie zostało przedstawione za pomocą diagramu procesu, używając BPMN, a w szczególności przez pomyłkę umieszczono jako element łączący tzw. bramkę OR (ang. inclusive OR merge). Sytuację tę przedstawia wariant A na poniższym diagramie. Specyfika tego elementu oznacza, że proces jest kontynuowany, jeżeli do bramki dotrze tzw. token z dowolnej ze ścieżek przychodzących. Gdyby automat wykonywał zadanie Utwórz wgłębienie, to kulka w pewnym momencie mogłaby zostać w innym miejscu gąbki niż początek wgłębienia, ponieważ operacja Zwolnij nacisk wykonana byłaby za szybko.
Diagram można łatwo poprawić, poprzez umieszczenie elementu tzw. bramkę AND (ang. paraller (AND) joining). Element ten wskazuje, że przejście dalej w procesie jest możliwe dopiero po zakończeniu – otrzymaniu tzw. tokenów – wszystkich ścieżek przychodzących do bramki. Po wykonaniu wgłębienia należałoby poczekać na przesunięcie kulki, a następnie Zwolnić nacisk i utworzyć nowe wgłębienie. Poprawka zaprezentowana jest w ramach wariantu B.
Powyższy przykład pokazuje różnicę między dwoma elementami BPMN. Przepisując taki diagram na język maszynowy proces działałby niezgodnie z oczekiwaniem, jeżeli założeniem jest zakończenie dwóch równoczesnych czynności przed wykonaniem kolejnej.