Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Finite-state techniques : automata, transducers and bimachines
Mihov S., Schulz K., Cambridge University Press, New York, NY, 2019. 324 pp. Type: Book (978-1-108485-41-8)
Date Reviewed: Oct 5 2020

The mathematical theory of automata is one of the great ideas of computer science, easy to state and understand, yet with great explanatory power and potential for problem solving.

When I first encountered finite-state machines many years ago [1], the emphasis was theoretical. Since then, the emphasis has shifted dramatically. Currently, a great deal of work and research is being done to solve large, complex problems using finite-state machines along with different software tools.

This book fits along these lines. It aims to provide a rigorous mathematical background, coupled with a set of executable programs, for pattern searching in strings and for matching-based text rewriting. The executable programs, which the authors assure us have been fully tested and are correct, are created using C(M), an experimental declarative language. The language, along with the programs, are explained in detail in the book; actually, the C(M) language is explained in greater detail in the book than on its website [2].

In evaluating this book, I ran into a fatal issue, making all others irrelevant in comparison; therefore, I will only mention this issue. The C(M) website [2] offers 64-bit binaries for Mac OS and for Linux. I was unable to install the Mac binaries and obtain a valid executable application on a MacBook Pro running the current version of macOS. This is a serious issue. Rightfully so, given the sad state of affairs with rampant malicious software, Apple has made it increasingly difficult, and now nearly impossible, to install suspicious software.

I’ll quote directly from Apple Support:

macOS includes a technology called Gatekeeper, that’s designed to ensure that only trusted software runs on your Mac. The safest place to get apps for your Mac is the App Store. Apple reviews each app in the App Store before it’s accepted and signs it to ensure that it hasn’t been tampered with or altered. [...] When you install Mac apps, plug-ins, and installer packages from outside the App Store, macOS checks the Developer ID signature to verify that the software is from an identified developer and that it has not been altered. [3]

To install applications from sources not registered with Apple, you must bypass the Apple security protections. And that is not easy. I am not a novice when it comes to macOS. Attempting to install the Mac C(M) binaries, I took every possible step allowed, including disabling security protocols and putting my machine at risk. That is simply unreasonable and unacceptable.

The authors have several choices:

(1) They could register C(M) with Apple. This would be best. In that case, C(M) would come packaged as a file that would be trivially installed.
(2) They could offer the C(M) source code so that each developer could compile his own version of C(M).
(3) They could offer an external platform where users could execute C(M) remotely.

Failing that, it may be difficult or impossible to install C(M) on an Apple computer.

As of now, for me, this book is for intellectual interest but essentially useless for its intended purpose. I strongly recommend first verifying that C(M) will actually run on the machines where it will be used before committing to using the book.

Reviewer:  Edgar R. Chavez Review #: CR147075 (2102-0021)
1) Denning, P. J.; Dennis, J. B.; Qualitz, J. E. Machines, languages, and computation. Prentice-Hall, Englewood Cliffs, NJ, 1978.
2) , The C(M) language http://lml.bas.bg/~stoyan/lmd/C(M).html (11/21/2019).
3) , Safely open apps on your Mac https://support.apple.com/en-us/HT202491 (11/21/2019).
Bookmark and Share
  Featured Reviewer  
 
Automata (F.1.1 ... )
 
 
Formal Languages (F.4.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Automata": Date
The congruence theory of closure properties of regular tree languages
Tirri S. Theoretical Computer Science 76(2-3): 261-271, 2001. Type: Article
Jun 1 1991
Distribution and synchronized automata
Petit A. Theoretical Computer Science 76(2-3): 285-308, 2001. Type: Article
Feb 1 1992
Efficient simulation of finite automata by neural nets
Alon N., Dewdney A., Ott T. Journal of the ACM 38(2): 495-514, 1991. Type: Article
Dec 1 1991
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy