skip to main content
10.1145/3644033.3644382acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Finite Automata synthesis from Interactions

Published: 06 June 2024 Publication History

Abstract

Interactions are graphical models representing communication flows between actors. Well-known interaction languages include UML Sequence Diagrams or Message Sequence Charts. Even though interactions allow for concise and intuitive specifications, their use remains limited in formal verification, partly because the subsets of formalized languages often lack expressiveness. As many verification methods, such as model-checking or runtime verification, are routinely available for finite automata, we propose a new approach to generate finite automata from an expressive interaction language with operators such as the concurrent region. Our approach leverages an operational semantics to compute derivatives of an interaction and assimilate them to states of a finite automata. In addition, we use term rewriting to merge states on-the-fly so as to obtain small automata without relying on costly a-posteriori minimization techniques.

References

[1]
Parosh Aziz Abdulla, Yu-Fang Chen, Lukáš Holík, Richard Mayr, and Tomáš Vojnar. 2010. When Simulation Meets Antichains. In Tools and Algorithms for the Construction and Analysis of Systems, Javier Esparza and Rupak Majumdar (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 158--174.
[2]
Rajeev Alur and Mihalis Yannakakis. 1999. Model Checking of Message Sequence Charts. In CONCUR '99: Concurrency Theory, 10th International Conference, Eindhoven, The Netherlands, August 24--27, 1999, Proceedings (Lecture Notes in Computer Science, Vol. 1664), Jos C. M. Baeten and Sjouke Mauw(Eds.). Springer, 114--129.
[3]
Jerome Amilhastre, Philippe Janssen, and Marie-Catherine Vilarem. 2001. FA Minimisation Heuristics for a Class of Finite Languages. In Automata Implementation, Oliver Boldt and Helmut Jurgensen (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 1--12.
[4]
Maroneze Andre, Massonnet Philippe, Dupont Sebastien, Nigam Vivek, Plate Henrik, Sykosch Arnold, Cakmak Eren, Thanasis Sfetsos, Jimenez Victor, Amparan Estibaliz, Martinez Cristina, Lopez Angel, Garcia-Alfaro Joaquin, Segovia Mariana, Rubio-Hernan Jose, Blanc Gregory, Debar Herve, Carbone Roberto, Ranise Silvio, Verderame Luca, Spaziani-Brunella Marco, Yautsiukhin Artsiom, Morgagni Andrea, Klein Jacques, Bissyande Tegawende, and Samhi Jordan. 2020. Assessment specifications and roadmap. In Technical report, EC (Ed.). SPARTA project.
[5]
Valentin Antimirov. 1995. Partial derivatives of regular expressions and finite automata constructions. In STACS 95, Ernst W. Mayr and Claude Puech (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 455--466.
[6]
Christel Baier and Joost-Pieter Katoen. 2008. Principles of model checking. MIT Press.
[7]
Mohamed Bakillah, Steve H. L. Liang, Alexander Zipf, and Mir Abolfazl Mostafavi. 2013. A dynamic and context-aware semantic mediation service for discovering and fusion of heterogeneous sensor data. J. Spatial Inf. Sci. 6, 1 (2013), 155--185.
[8]
Janusz A. Brzozowski. 1964. Derivatives of Regular Expressions. J. ACM 11, 4 (1964), 481--494.
[9]
Jean-Marc Champarnaud and Fabien Coulon. 2003. NFA Reduction Algorithms by Means of Regular Inequalities. In Developments in Language Theory, Zoltan Esik and Zoltan Fulop (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 194--205.
[10]
Jan Daciuk, Bruce W. Watson, Stoyan Mihov, and Richard E. Watson. 2000. Incremental Construction of Minimal Acyclic Finite-State Automata. Comput. Linguist. 26, 1 (mar 2000), 3--16.
[11]
Nachum Dershowitz and Jean-Pierre Jouannaud. 1991. Rewrite Systems. MIT Press, Cambridge, MA, USA, 243--320.
[12]
Wan Fokkink. 2009. Process Algebra: An Algebraic Theory of Concurrency. In Algebraic Informatics, Symeon Bozapalidis and George Rahonis (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 47--77.
[13]
Wouter Gelade. 2010. Succinctness of regular expressions with interleaving, intersection and counting. Theor. Comput. Sci. 411, 31--33 (2010), 2987--2998.
[14]
Jaco Geldenhuys, Brink van der Merwe, and Lynette van Zijl. 2010. Reducing Nondeterministic Finite Automata with SAT Solvers. In Finite-State Methods and Natural Language Processing, Anssi Yli-Jyra, Andras Kornai, Jacques Sakarovitch, and Bruce Watson (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 81--92.
[15]
Jesper G. Henriksen, Madhavan Mukund, K. Narayan Kumar, Milind A. Sohoni, and P. S. Thiagarajan. 2005. A theory of regular MSC languages. Inf. Comput. 202, 1 (2005), 1--38.
[16]
John E. Hopcroft. 1971. An n Log n Algorithm for Minimizing States in a Finite Automaton. Technical Report. Stanford, CA, USA.
[17]
John E. Hopcroft and Jeffrey D. Ullman. 1979. Introduction to Automata Theory, Languages and Computation. Addison-Wesley.
[18]
Lucian Ilie, Gonzalo Navarro, and Sheng Yu. 2004. On NFA Reductions. Springer Berlin Heidelberg, Berlin, Heidelberg, 112--124.
[19]
Lucian Iliea and Sheng Yu. 2002. Algorithms for Computing Small NFAs. In Mathematical Foundations of Computer Science 2002, Krzysztof Diks and Wojciech Rytter (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 328--340.
[20]
Tao Jiang and B. Ravikumar. 1991. Minimal NFA problems are hard. In Automata, Languages and Programming, Javier Leach Albert, Burkhard Monien, and Mario Rodriguez Artalejo (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 629--640.
[21]
T. Kameda and P. Weiner. 1970. On the State Minimization of Nondeterministic Finite Automata. IEEE Trans. Comput. C-19, 7 (1970), 617--627.
[22]
Alexander Knapp and Till Mossakowski. 2017. UML Interactions Meet State Machines - An Institutional Approach. In 7th Conf. on Algebra and Coalgebra in Computer Science (CALCO) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 72).
[23]
Martin Korp, Christian Sternagel, Harald Zankl, and Aart Middeldorp. 2009. Tyrolean Termination Tool 2. In Rewriting Techniques and Applications, Ralf Treinen (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 295--304.
[24]
Giorgia Lallai, Andrea Pinna, Michele Marchesi, and Roberto Tonelli. 2020. Software Engineering for DApp Smart Contracts Managing Workers Contracts. In Proceedings of the 3rd Distributed Ledger Technology Workshop Co-located with ITASEC 2020 (CEUR Workshop Proceedings, Vol. 2580). CEUR-WS.org.
[25]
Ernst Leiss. 1981. Succinct representation of regular languages by boolean automata. Theoretical Computer Science 13, 3 (1981), 323--330.
[26]
P. Madhusudan and B. Meenakshi. 2001. Beyond Message Sequence Graphs. In FST TCS 2001: Foundations of Software Technology and Theoretical Computer Science, 21st Conference, Bangalore, India, December 13--15, 2001, Proceedings (Lecture Notes in Computer Science, Vol. 2245), Ramesh Hariharan, Madhavan Mukund, and V. Vinay (Eds.). Springer, 256--267.
[27]
Erwan Mahe. 2022. HIBOU tool. https://github.com/erwanM974/hibou_label.
[28]
Erwan Mahe. 2023. applying an incremental approach to NFA synthesis on interaction use cases from the literature. https://github.com/erwanM974/hibou_nfagen_concrete_usecases.
[29]
Erwan Mahe. 2023. AUTOUR toolbox. https://github.com/erwanM974/autour_core.
[30]
Erwan Mahe. 2023. comparing incremental and compositional approaches to NFA synthesis from interactions. https://github.com/erwanM974/hibou_nfa_synthesis_benchmark.
[31]
Erwan Mahe. 2023. coq proof for the equivalence of interaction semantics with co-regions. https://github.com/erwanM974/coq_interaction_semantics_equivalence_with_coregions.
[32]
Erwan Mahe. 2023. proof of convergence for interaction simplification. https://github.com/erwanM974/hibou_trs_simplify_empty.
[33]
Erwan Mahe, Boutheina Bannour, Christophe Gaston, Arnault Lapitre, and Pascale Le Gall. 2021. A Small-Step Approach to Multi-Trace Checking against Interactions. In Proceedings of the 36th Annual ACM Symposium on Applied Computing (Virtual Event, Republic of Korea) (SAC '21). Association for Computing Machinery, New York, NY, USA, 1815--1822.
[34]
Erwan Mahe, Christophe Gaston, and Pascale Le Gall. 2020. Revisiting Semantics of Interactions for Trace Validity Analysis. In Fundamental Approaches to Software Engineering, Heike Wehrheim and Jordi Cabot (Eds.). Springer International Publishing, Cham, 482--501.
[35]
Erwan Mahe, Christophe Gaston, and Pascale Le Gall. 2022. Equivalence of Denotational and Operational Semantics for Interaction Languages. In Theoretical Aspects of Software Engineering - 16th International Symposium, TASE 2022, Cluj-Napoca, Romania, July 8--10, 2022, Proceedings (Lecture Notes in Computer Science, Vol. 13299), Yamine Aït Ameur and Florin Craciun (Eds.). Springer, 113--130.
[36]
Erwan Mahe, Christophe Gaston, and Pascale Le Gall. 2024. Denotational and operational semantics for interaction languages: Application to trace analysis. Science of Computer Programming 232 (2024), 103034.
[37]
Sjouke Mauw and Michel Adriaan Reniers. 1997. High-level message sequence charts. In SDL '97 Time for Testing, SDL, MSC and Trends - 8th International SDL Forum, Proceedings. Elsevier, 291--306.
[38]
Sjouke Mauw and Michel Adriaan Reniers. 1999. Operational Semantics for MSC'96. Computer Networks 31, 17 (1999), 1785--1799.
[39]
A.J. Mayer and L.J. Stockmeyer. 1994. The Complexity of Word Problems - This Time with Interleaving. Information and Computation 115, 2 (1994), 293--311.
[40]
B. F. Melnikov. 1999. A new algorithm of the state-minimization for the non-deterministic finite automata. Korean Journal of Computational and Applied Mathematics (may 1999), 277--290.
[41]
Zoltán Micskei and Hélène Waeselynck. 2011. The many meanings of UML 2 Sequence Diagrams: a survey. Software & Systems Modeling 10, 4 (2011), 489--514.
[42]
Gordon Plotkin. 2004. A Structural Approach to Operational Semantics. The Journal of Logic and Algebraic Programming 60--61 (07 2004), 17--139.
[43]
Libor Polak. 2004. Minimalizations of NFA Using the Universal Automaton. In Proceedings of the 9th International Conference on Implementation and Application of Automata (Kingston, Canada) (CIAA'04). Springer-Verlag, Berlin, Heidelberg, 325--326.
[44]
Grigore Roşu and Mahesh Viswanathan. 2003. Testing Extended Regular Language Membership Incrementally by Rewriting. In Rewriting Techniques and Applications, Robert Nieuwenhuis (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 499--514.
[45]
Koushik Sen and Grigore Roşu. 2003. Generating Optimal Monitors for Extended Regular Expressions. Electronic Notes in Theoretical Computer Science 89, 2 (2003), 226--245. RV '2003, Run-time Verification (Satellite Workshop of CAV '03).
[46]
Jocelyn Simmonds, Yuan Gan, Marsha Chechik, Shiva Nejati, Bill O'Farrell, Elena Litani, and Julie Waterhouse. 2009. Runtime Monitoring of Web Service Conversations. IEEE Trans. Serv. Comput. 2, 3 (2009), 223--244.
[47]
Harald Zankl, Bertram Felgenhauer, and Aart Middeldorp. 2011. CSI - A Confluence Tool. In Automated Deduction - CADE-23, Nikolaj Bjørner and Viorica Sofronie-Stokkermans (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 499--505.

Cited By

View all
  • (2024)Efficient Interaction-Based Offline Runtime Verification of Distributed Systems with Lifeline RemovalScience of Computer Programming10.1016/j.scico.2024.103230(103230)Online publication date: Nov-2024

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
FormaliSE '24: Proceedings of the 2024 IEEE/ACM 12th International Conference on Formal Methods in Software Engineering (FormaliSE)
April 2024
154 pages
ISBN:9798400705892
DOI:10.1145/3644033
Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 June 2024

Check for updates

Author Tags

  1. interaction language
  2. sequence diagram
  3. message sequence chart
  4. non-deterministic finite automaton
  5. operational semantics
  6. term rewriting

Qualifiers

  • Research-article

Funding Sources

Conference

FormaliSE '24
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)53
  • Downloads (Last 6 weeks)2
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Efficient Interaction-Based Offline Runtime Verification of Distributed Systems with Lifeline RemovalScience of Computer Programming10.1016/j.scico.2024.103230(103230)Online publication date: Nov-2024

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media