ara0002">Objective: The aim of this work is an approach to systematically discover and specify the behavioral anti-patterns of block-structured CBP models.
ara0003">Method:The approach proposes using the metamodel of a CBP language to discover all possible combinations of constructs leading to a problem in the behavior of block-structured CBPs. Each combination is called minimal CBP. The set of all minimal CBPs with behavioral problems defines the unsoundness profile of a CBP language, from which is possible specifying the behavioral anti-patterns of such language.
ara0004">Results: The approach for specification of behavioral anti-patterns was applied to the UP-ColBPIP language. Twelve behavioral anti-patterns were defined, including support to complex control flow such as advanced synchronization, cancellation and exception management, and multiple instances. Anti-patterns were evaluated on a repository of block-structured CBP models and compared with a formal verification method. Results show that the verification based on anti-patterns is as accurate as the formal method, but it clearly improves the performance of the latter.
ara0005">Conclusion: By using the proposed approach, it is possible to systematically specify behavioral anti-patterns for block-structured CBP languages. During the discovery of anti-patterns different formalisms can be used. With this approach, the specification of anti-patterns provides the exact combination of elements that can cause a problem, making error correction and result interpretation easier. Although the proposed approach was defined for the context of CBPs, it could be applied to the context of intra-organizational processes.