generating transformation rules from examples for behavioral models
Behavioral UML models like sequence diagrams (SD) lack sufficient formal semantics, making it difficult to build automated tools for their analysis, simulation and validation. A common approach to circumvent the problem is to map these models to more formal representations. In this context, many works propose a rule-based approach to automatically translate behavioral models like SD into colored Petri nets (CPN). However, finding the rules for such SD-to-CPN transformations manually may be difficult, as the transformation rules are usually not obviously defined. We propose a solution that starts from the hypothesis that examples of good transformation of SD-to-CPN can be useful to automatically generate transformation rules. To this end, we describe an automated approach to find the rules that best match the meta-model elements of SD to corresponding elements in the CPN meta-model. Thus, our approach starts by randomly generating a set of rules, executing them to generate some target models. Then, it evaluates the quality of the proposed solution (rules) by comparing the generated target models to the expected ones in the base of examples. In this case, the search space is large and heuristic-search is needed. To achieve our goal, we combine two algorithms for global and local search, namely Particle Swarm Optimization (PSO) and Simulated Annealing (SA). Our empirical results show that the generated rules derive CPNs similar to the expected ones.
behavioral models model transformation rules generation search-based software engineering