End Event Missing

Written by

in

Description

The End Event Missing is a BPM anti-pattern. If a process chain does not contain an end event, it might not be clear where it is terminated. Unlike BPMN, ArchiMate does not have an End event, but we can consider an event element at the end of the EA process.

Context

Derived from: “End Event Missing”

Consequences

If the end event is missing it will be hard to locate the end of the EA process. Terefore the understandhability of the EA Model is lowered.

Detection

We consider process flows that have no event element at the end of the chain.

Solution

An end event should be added. In a simple EA process model, it is not required.

Example

The “Handle Decision” element does not have an end event. Therefore, we can not determine whether the process terminated after this step.

Cypher query

MATCH (startNode:BusinessProcess|ApplicationProcess|TechnologyProcess) <br /> MATCH (endNode:BusinessProcess|ApplicationProcess|TechnologyProcess) <br /> where not exists ((endNode)-->()) <br /> CALL apoc.path.expandConfig(startNode,{relationshipFilter:"TriggeringRelationship>|FlowRelationship>|AssociationRelationship>", <br /> minLevel: $minLevel, <br /> maxLevel: $maxLevel, <br /> terminatorNodes:[endNode] <br /> }) <br /> YIELD path AS p <br /> RETURN p

Cypher count query

MATCH (startNode:BusinessProcess|ApplicationProcess|TechnologyProcess) <br /> MATCH (endNode:BusinessProcess|ApplicationProcess|TechnologyProcess) <br /> where not exists ((endNode)-->()) <br /> CALL apoc.path.expandConfig(startNode,{relationshipFilter:"TriggeringRelationship>|FlowRelationship>|AssociationRelationship>", <br /> minLevel: $minLevel, <br /> maxLevel: $maxLevel, <br /> terminatorNodes:[endNode] <br /> }) <br /> YIELD path AS p <br /> RETURN count (distinct endNode)

Diagram

Diagram for End Event Missing

Tags

Understandability Problems, Process

Query parameters

[
    {
        "name": "minLevel",
        "type": "number",
        "default": 5,
        "description": "The minimum length of the path for detection."
    },
    {
        "name": "maxLevel",
        "type": "number",
        "default": 20,
        "description": "The maximum length of the path for detection."
    }
]

All smells