are allowed to commute due to execution and
communication time variations.
For our case study, all inferred buffer capacities
are either one or two, except component C
2
, which has
buffers with capacities up to 24. The low number of
buffer places is due to the extensive synchronization
on replies. C
2
, the log component, only receives ‘fire-
and-forget’-type logging notifications without replies.
We verified that the resulting, improved, asyn-
chronously composed model indeed accepts its input
TMSC, i.e., the inferred model accepts the input ob-
servation from which it was inferred. This gives trust
that the practically inferred model is in line with that
observation. The inferred models were confirmed by
domain experts as remarkably accurate, allowing
them to discuss and analyze their system’s behavior.
This in stark contrast to models that were previously
inferred using process mining and heuristics-based
model learning, where they questioned the accuracy
of the models instead.
7 CONCLUSIONS AND FUTURE
WORK
We introduced our novel method, Constructive
Model Inference (CMI), which uses execution logs
as input. Relying on knowledge of the system archi-
tecture, it allows learning the behavior of large
concurrent component-based systems. The trace-
theoretical framework provides a solid foundation.
ASML considers the state machine models resulting
from our method accurate, and the service fragment
models in particular also highly intuitive. They see
many potential applications, and are already using
the inferred models to gain insight into their software
behavior, as well as for change impact analysis.
Future work includes among others extending the
CMI method to inferring Extended Finite Automata
and Timed Automata, further industrial application
of the approach, and automatically deriving interface
models from component models.
ACKNOWLEDGEMENTS
This research is partly carried out as part of the
Transposition project under the responsibility of ESI
(TNO) in co-operation with ASML. The research ac-
tivities are partly supported by the Netherlands
Ministry of Economic Affairs and TKI-HTSM.
REFERENCES
Akdur, D., Garousi, V., and Demir
¨
ors, O. (2018). A survey
on modeling and model-driven engineering practices
in the embedded software industry. Journal of Systems
Architecture, 91(October):62–82.
Akroun, L. and Sala
¨
un, G. (2018). Automated verification
of automata communicating via FIFO and bag buffers.
Formal Methods in System Design, 52(3):260–276.
Angluin, D. (1987). Learning regular sets from queries
and counterexamples. Information and Computation,
75(2):87–106.
Aslam, K., Cleophas, L., Schiffelers, R., and van den Brand,
M. (2020). Interface protocol inference to aid under-
standing legacy software components. Software and
Systems Modeling, 19(6):1519–1540.
Bera, D., Schuts, M., Hooman, J., and Kurtev, I. (2021).
Reverse engineering models of software interfaces.
Computer Science and Information Systems.
Beschastnikh, I., Brun, Y., Abrahamson, J., Ernst, M. D.,
and Krishnamurthy, A. (2013). Unifying FSM-
inference algorithms through declarative specifica-
tion. Proceedings - International Conference on Soft-
ware Engineering, pages 252–261.
Brand, D. and Zafiropulo, P. (1983). On Communicating
Finite-State Machines. Journal of the ACM (JACM),
30(2):323–342.
de la Higuera, C. (2010). Grammatical Inference. Cam-
bridge University Press, New York, 1st edition.
Genest, B., Kuske, D., and Muscholl, A. (2007). On com-
municating automata with bounded channels. Funda-
menta Informaticae, 80(1-3):147–167.
Heule, M. J. and Verwer, S. (2013). Software model syn-
thesis using satisfiability solvers. Empirical Software
Engineering, 18(4):825–856.
Hooimeijer, B. (2020). Model Inference for Legacy Soft-
ware in Component-Based Architectures. Master’s
thesis, Eindhoven University of Technology.
Howar, F. and Steffen, B. (2018). Active automata learning
in practice. In Bennaceur, A., H
¨
ahnle, R., and Meinke,
K., editors, Machine Learning for Dynamic Soft-
ware Analysis: Potentials and Limits: International
Dagstuhl Seminar 16172, Dagstuhl Castle, Germany,
April 24-27, 2016, Revised Papers, pages 123–148,
Cham. Springer International Publishing.
Jonk, R., Voeten, J., Geilen, M., Basten, T., and Schiffelers,
R. (2020). SMT-based verification of temporal proper-
ties for component-based software systems. Technical
Report ES Reports, Eindhoven University of Technol-
ogy, Department of Electrical Engineering, Electronic
Systems Group, Eindhoven.
Kuske, D. and Muscholl, A. (2019). Communicat-
ing Automata. Submitted for peer review (Jour-
nal unknown) Retrieved from http://eiche.theoinf.tu-
ilmenau.de/kuske/Submitted/cfm-final.pdf.
Leemans, M., van der Aalst, W. M., van den Brand, M. G.,
Schiffelers, R. R., and Lensink, L. (2018). Soft-
ware Process Analysis Methodology – A Methodol-
ogy based on Lessons Learned in Embracing Legacy
Software. In 2018 IEEE International Conference on
Constructive Model Inference: Model Learning for Component-based Software Architectures
157