Skip to main content

Implementation of Code Properties via Transducers

  • Conference paper
  • First Online:
Implementation and Application of Automata (CIAA 2016)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9705))

Included in the following conference series:

Abstract

The FAdo system is a symbolic manipulator of formal language objects, implemented in Python. In this work, we extend its capabilities by implementing methods to manipulate transducers and we go one level higher than existing formal language systems and implement methods to manipulate objects representing classes of independent languages (widely known as code properties). Our methods allow users to define their own code properties and combine them between themselves or with fixed properties such as prefix codes, suffix codes, error detecting codes, etc. The satisfaction and maximality decision questions are solvable for any of the definable properties. The new online system LaSer allows one to query about a code property and obtain the answer in a batch mode. Our work is founded on independence theory as well as the theory of rational relations and transducers, and contributes with improved algorithms on these objects.

Due to the page limit we chose to omit algorithmic details and proofs of correctness, and focus on providing a somewhat comprehensive presentation on implementation aspects and the new capabilities of FAdo. Details can be found in [17].

N. Moreira and R. Reis are partially supported by CMUP (UID/MAT/00144/2013), which is funded by FCT with national and European structural funds through the programs FEDER, under the partnership agreement PT2020. S. Konstantinidis and C. Meijer are supported by NSERC, Canada.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Note: In transducer figures, the input and output alphabets are equal. An arrow with label \(\sigma /\sigma \) represents a set of transitions with labels \(\sigma /\sigma \), for each alphabet symbol \(\sigma \); and similarly for an arrow with label \(\sigma /\varepsilon \). An arrow with label \(\sigma /\sigma '\) represents a set of transitions with labels \(\sigma /\sigma '\) for all distinct alphabet symbols \(\sigma ,\sigma '\).

References

  1. Almeida, A., Almeida, M., Alves, J., Moreira, N., Reis, R.: FAdo and GUItar: tools for automata manipulation and visualization. In: Maneth, S. (ed.) CIAA 2009. LNCS, vol. 5642, pp. 65–74. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  2. Béal, M.P., Carton, O., Prieur, C., Sakarovitch, J.: Squaring transducers: an efficient procedure for deciding functionality and sequentiality. Theoret. Comput. Sci. 292(1), 45–63 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  3. Berstel, J.: Transductions and Context-Free Languages. B.G. Teubner, Stuttgart (1979)

    Book  MATH  Google Scholar 

  4. Berstel, J., Perrin, D., Reutenauer, C.: Codes and Automata. Cambridge University Press, New York (2009)

    Book  MATH  Google Scholar 

  5. Claveirole, T., Lombardy, S., O’Connor, S., Pouchet, L.-N., Sakarovitch, J.: Inside vaucanson. In: Farré, J., Litovsky, I., Schmitz, S. (eds.) CIAA 2005. LNCS, vol. 3845, pp. 116–128. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  6. Domaratzki, M.: Trajectory-based codes. Acta Informatica 40, 491–527 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  7. Domaratzki, M., Salomaa, K.: Codes defined by multiple sets of trajectories. Theoret. Comput. Sci. 366, 182–193 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  8. Dudzinski, K., Konstantinidis, S.: Formal descriptions of code properties: decidability, complexity, implementation. IJFCS 23(1), 67–85 (2012)

    MathSciNet  MATH  Google Scholar 

  9. FAdo: Tools for formal languages manipulation. http://fado.dcc.fc.up.pt/

  10. Grail: Grail+. http://www.csit.upei.ca/~ccampeanu/Grail/

  11. Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. 26(2), 147–160 (1950)

    Article  MathSciNet  Google Scholar 

  12. Head, T., Weber, A.: Deciding code related properties by means of finite transducers. In: Capocelli, R., De Santis, A., Vaccaro, U. (eds.) Sequences II, Methods in Communication, Security, and Computer Science, pp. 260–272. Springer, New York (1993)

    Google Scholar 

  13. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, Reading (1979)

    MATH  Google Scholar 

  14. Jürgensen, H.: Syntactic monoids of codes. Acta Cybernetica 14, 117–133 (1999)

    MathSciNet  MATH  Google Scholar 

  15. Jürgensen, H., Konstantinidis, S.: Codes. In: Rozenberg and Salomaa [25], pp. 511–607

    Google Scholar 

  16. Konstantinidis, S.: Transducers and the properties of error-detection, error-correction and finite-delay decodability. JUCS 8, 278–291 (2002)

    MathSciNet  MATH  Google Scholar 

  17. Konstantinidis, S., Meijer, C., Moreira, N., Reis, R.: Symbolic manipulation of code properties. Computing Research Repository (2015). arXiv:1504.04715v1

  18. Konstantinidis, S., Moreira, N., Reis, R.: Channels with synchronization/substitution errors and computation of error control codes. Computing Research Repository (2016). arXiv:1601.06312v1

  19. LaSer: Independent LAnguage SERver. http://laser.cs.smu.ca/independence/

  20. Mateescu, A., Salomaa, A.: Formal languages: an introduction and a synopsis. In: Rozenberg and Salomaa [25], pp. 1–39

    Google Scholar 

  21. Nivat, M.: Elements de la théorie générale des codés. In: Automata Theory, pp. 278–294 (1966)

    Google Scholar 

  22. OpenFst: OpenFst Library. http://www.openfst.org/

  23. Paluncic, F., Abdel-Ghaffar, K., Ferreira, H.: Insertion/deletion detecting codes and the boundary problem. IEEE Trans. Info. Theory 59(9), 5935–5943 (2013)

    Article  MathSciNet  Google Scholar 

  24. Raymond, D., Wood, D.: Grail: a C++ library for automata and expressions. J. Symbolic Comput. 17(4), 341–350 (1994)

    Article  MATH  Google Scholar 

  25. Rozenberg, G., Salomaa, A. (eds.): Handbook of Formal Languages, vol. I. Springer-Verlag, Berlin (1997)

    MATH  Google Scholar 

  26. Sakarovitch, J.: Elements of Automata Theory. Cambridge University Press, New York (2009)

    Book  MATH  Google Scholar 

  27. Sardinas, A.A., Patterson, G.W.: A necessary and sufficient condition for the unique decomposition of coded messages. IRE Int. Conven. Rec. 8, 104–108 (1953)

    Google Scholar 

  28. Shyr, H.J.: Free Monoids and Languages, 2nd edn. Hon Min Book Company, Taichung (1991)

    MATH  Google Scholar 

  29. Shyr, H.J., Thierrin, G.: Codes and binary relations. In: Malliavin, M.P. (ed.) Séminaire d’Algèbre Paul Dubreil Paris 1975–1976 (29ème Année). Lecture Notes in Mathematics, vol. 586, pp. 180–188. Springer, Heidelberg (1977)

    Google Scholar 

  30. Vaucanson: The Vaucanson Project. http://vaucanson-project.org/

  31. Veanes, M.: Applications of symbolic finite automata. In: Konstantinidis, S. (ed.) CIAA 2013. LNCS, vol. 7982, pp. 16–23. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  32. Yu, S.: Regular languages. In: Rozenberg and Salomaa [25], pp. 41–110

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stavros Konstantinidis .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Konstantinidis, S., Meijer, C., Moreira, N., Reis, R. (2016). Implementation of Code Properties via Transducers. In: Han, YS., Salomaa, K. (eds) Implementation and Application of Automata. CIAA 2016. Lecture Notes in Computer Science(), vol 9705. Springer, Cham. https://doi.org/10.1007/978-3-319-40946-7_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-40946-7_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-40945-0

  • Online ISBN: 978-3-319-40946-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics