text-based clone detection, (Antony et al., 2013) - a
tool called NiCad, detecting near-miss clones in UML
behavioral models, by using text-based approach over
XML, (Alalfi et al., 2012a) - near-miss clone detec-
tion, based on transformation of graph-based models
to normalized text form, using Simone plugin as ex-
tension to NiCad tool, (Stephan et al., 2013a) - an-
other paper, describing detection of model clones in
Simulink using Simone plugin to track the evolution
of model clones with respect to their clone contain-
ing classes, (Deissenboeck et al., 2010) - a clone de-
tection tool based on an industrial case study under-
taken with BMW Group, using graph-theory tech-
nique, (Stephan et al., 2013b) - a model-clone de-
tection framework, based on mutation-analysis, using
graph theory, (Stephan et al., 2012) - a brief review
over Simulink model clone detection approaches. Be-
havioral clone detection mostly relies on structural
clone detection tools and algorithms.
9 CONCLUSION
This paper presented several optimization methods
to accelerate compatibility checks of software com-
ponents applied in the automotive field. The con-
ducted experiments indicated that the optimization
undertaken to normalize transition guards of I/O-TS
to Disjunctive Guard-Normal-Form and then to Opti-
mized Hash-Guard-Disjunctive-Normal-Form results
in a decent performance gain of the overall be-
havioral compatibility checking process. Therefore,
this optimization has been included into the Monti-
Matcher framework. Additionally, this paper com-
pared the performance when using the automated the-
orem prover Isabelle as a replacement for Microsoft’s
SMT-Solver. We also show how to generate Isabelle
code to perform compatibility checks and assessed
how Isabelle performed against Z3 solver for these
kinds of application. Though it is still possible to use
Isabelle, the measurements show that the SMT-Solver
Z3 is in most cases faster. Therefore, it is necessary
to search for another appropriate candidate for the
replacement or to endure speed losses, that in many
cases can be critical. We also tried and evaluated an
index tree as a transition filtering mechanism. Unfor-
tunately, while querying the tree shows a better per-
formance than the previously used simpler approach,
the construction process of the tree appeared to be
very slow due to a large number of access operations
during the construction. The optimization removing
internal variables improved, as expected, the speed
of the compatibility checks for mid-scale component
and connector models a lot. In cases when this inter-
nal variable optimization cannot make any statement
on compatibility, it reports fast enough and, therefore,
can be used before the whole execution chain of the
old MontiMatcher tool is invoked.
ACKNOWLEDGEMENTS
Special thanks goes to the two students Vladimir
Parashin and Igor Shumeiko who implemented these
optimizations in their bachelor and master theses su-
pervised by Michael von Wenckstern.
REFERENCES
Abi-Antoun, M., Aldrich, J., Nahas, N. H., Schmerl, B. R.,
and Garlan, D. (2006). Differencing and Merging of
Architectural Views. In ASE.
Alalfi, M. H., Cordy, J. R., Dean, T. R., Stephan, M., and
Stevenson, A. (2012a). Models are code too: Near-
miss clone detection for Simulink models. In ICSM.
Alalfi, M. H., Cordy, J. R., Dean, T. R., Stephan, M., and
Stevenson, A. (2012b). Near-miss model clone de-
tection for Simulink models. In Cordy, J. R., Inoue,
K., Koschke, R., Krinke, J., and Roy, C. K., editors,
IWSC.
Alalfi, M. H., Rapos, E. J., Stevenson, A., Stephan, M.,
Dean, T. R., and Cordy, J. R. (2014). Semi-automatic
Identification and Representation of Subsystem Vari-
ability in Simulink Models. In ICSME.
Antony, E. P., Alalfi, M. H., and Cordy, J. R. (2013). An
approach to clone detection in behavioural models.
In L
¨
ammel, R., Oliveto, R., and Robbes, R., editors,
WCRE.
Baier, C., Katoen, J.-P., and Larsen, K. G. (2008). Princi-
ples of model checking. MIT press.
Bertram, V., Maoz, S., Ringert, J. O., Rumpe, B., and
von Wenckstern, M. (2017). Case Study on Struc-
tural Views for Component and Connector Models. In
MODELS.
CHAE, H. S., LEE, J.-S., and BAE, J. (2008). An Approach
to Checking Behavioral Ccompatiblity Between Web
Services. IJSEKE, 18(02).
Chakrabarti, A., de Alfaro, L., Henzinger, T. A., Jurdzi
´
nski,
M., and Mang, F. Y. C. (2002). Interface Compatibil-
ity Checking for Software Modules. Springer Berlin
Heidelberg, Berlin, Heidelberg.
Deissenboeck, F., Hummel, B., J
¨
urgens, E., Pfaehler, M.,
and Sch
¨
atz, B. (2010). Model clone detection in prac-
tice. In Inoue, K., Jarzabek, S., Koschke, R., and
Cordy, J. R., editors, IWSC.
Dragomir, I., Preoteasa, V., and Tripakis, S. (2016). Com-
positional semantics and analysis of hierarchical block
diagrams. In International Symposium on Model
Checking Software. Springer.
MODELSWARD 2018 - 6th International Conference on Model-Driven Engineering and Software Development
266