State machines for large scale computer software and systems (1608.01712v11)
Abstract: The behavior and architecture of large scale discrete state systems found in computer software and hardware can be specified and analyzed using a particular class of primitive recursive functions. This paper begins with an illustration of the utility of the method via a number of small examples and then via longer specification and verification of the Paxos distributed consensus algorithm. The sequence maps are then shown to provide an alternative representation of deterministic state machines and algebraic products of state machines. Distributed and composite systems, parallel and concurrent computation, and real-time behavior can all be specified naturally with these methods - which require neither extensions to the classical state machine model nor any axiomatic methods or other techniques from formal methods. Compared to state diagrams or tables or the standard set-tuple-transition-maps, sequence maps are more concise and better suited to describing the behavior and compositional architecture of computer systems. Staying strictly within the boundaries of classical deterministic state machines anchors the methods to the algebraic structures of automata and makes the specifications faithful to engineering practice.
- Composing specifications. Transactions on Programming Languages and Systems, 15(1), January 1993.
- Gene M. Amdahl. Computer architecture and amdahl’s law. Computer, 46(12):38–46, 2013.
- Michael A Arbib. Theories of Abstract Automata (Prentice-Hall Series in Automatic Computation). Prentice-Hall, Inc., USA, 1969.
- A message system supporting fault tolerance. In Proceedings of the Ninth ACM Symposium on Operating Systems Principles, SOSP ’83, page 90–99, New York, NY, USA, 1983. Association for Computing Machinery.
- Automatic groups and amalgams. Journal of Pure and Applied Algebra, 76(3):229–316, 1991.
- Manfred Broy. The specification of system components by state transition diagrams. Institut für Informatik, Technische Universität München., TUM-I9729, 1997.
- Manfred Broy. A logical basis for component-oriented software and systems engineering. Comput. J., 53(10):1758–1782, 2010.
- Automatic verification of finite-state concurrent systems using temporal logic specifications: A practical approach. In Proceedings of the 10th Annual Symposium on Principles of Programming Languages, pages 117–119, 1983.
- The impact of operating system structure on memory system performance. SIGOPS Oper. Syst. Rev., 27(5):120–133, dec 1993.
- Paxos made live - an engineering perspective (2006 invited talk). In Proceedings of the 26th Annual ACM Symposium on Principles of Distributed Computing, 2007.
- Formal verification of multi-paxos for distributed consensus. CoRR, abs/1606.01387, 2016.
- Optimizing the idle task and other mmu tricks. In Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, page 229–237, USA, 1999. USENIX Association.
- Method, time consumer system, and computer program product for maintaining accurate time on an ideal clock, 8 2016. US Patents and Trademarks Office, Patent number 20160238999.
- S. Eilenberg and Calvin Elgot. Recursiveness. Academic Press, New York, 1970.
- Ferenc Gécseg. Products of Automata, volume 7 of EATCS Monographs on Theoretical Computer Science. Springer, Berlin, 1986.
- A. Ginzburg. Algebraic theory of automata. Academic Press, New York, 1968.
- Consensus on transaction commit. Computing Research Repository, cs.DC/0408036, 2004.
- Towards an automatic proof of lamport’s paxos. 2021 Formal Methods in Computer Aided Design (FMCAD), pages 112–122, 2021.
- J. Hartmanis. Loop-free structure of sequential machines. In E.F. Moore, editor, Sequential Machines: Selected Papers, pages 115–156. Addison-Welsey, Reading MA, 1964.
- D. Harel. Statecharts: A visual formalism for complex systems. Technical report, Weizmann Institute, 1984.
- The statemate semantics of statecharts. ACM Trans. Softw. Eng. Methodol., 5(4):293–333, oct 1996.
- W.M.L. Holcombe. Algebraic Automata Theory. Cambridge University Press, 1983.
- J. Hartmanis and R. E. Stearns. Algebraic Structure Theory of Sequential Machines. Prentice-Hall, Englewood Cliffs, N.J., 1966.
- Introduction to Automata Theory, Languages, and Computation. Addison-Welsey, Reading MA, 1979.
- L. Lamport. The temporal logic of actions. ACM Transactions on Programming Languages and Systems (TOPLAS), 16(3):872–923, May 1994.
- Leslie Lamport. Paxos made simple. ACM SIGACT News (Distributed Computing Column) 32, 4 (Whole Number 121, December 2001), pages 51–58, December 2001.
- A. Lynch, N. and M. Merrrit. Introduction to the theory of nested transactions. Technical Report TR-367, Laboratory for Computer Science, MIT, 1986.
- Sanjoy Mahajan. Street-Fighting Mathematics: The Art of Educated Guessing and Opportunistic Problem Solving. The MIT Press, 03 2010.
- Oded Maler. On the Krohn-Rhodes Cascaded Decomposition Theorem, page 260–278. Springer-Verlag, Berlin, Heidelberg, 2010.
- E.F. Moore, editor. Sequential Machines: Selected Papers. Addison-Welsey, Reading MA, 1964.
- Z. Manna and A. Pnueli. The modal logic of programs. In Proceedings of the 6th International Colloquium on Automata, Languages, and Programming, volume 71 of Lecture Notes in Computer Science, pages 385–408, New York, 1979. Springer-Verlag.
- Finite automata and their decision problems. IBM Journal of Research and Development, 3(2), April 1959.
- D. L. Parnas. On the criteria to be used in decomposing systems into modules. Commun. ACM, 15(12):1053–1058, December 1972.
- Rozsa Peter. Recursive functions. Academic Press, New York, 1967.
- Rozsa Peter. Recursive Functions in Computer Theory. Ellis Horwood Series in Computers and Their Applications, Chichester, 1982.
- J.E. Pin. Varieties of Formal Languages. Plenum Press, New York, 1986.
- A. Pnueli. Applications of temporal logic to the specification and verification of reactive systems: a survey of curent trends. In J.W. de Bakker, editor, Current Trends in Concurrency, volume 224 of Lecture Notes in Computer Science. Springer-Verlag, 1985.
- Krithivasan Ramamritham. Correctness of a distributed transaction system. Information systems, 8(4):309–324, 1983.
- Joseph R Shoenfield. Mathematical Logic. Addison-Wesley, 1967.
- John von Neumann. The general and logical theory of automata. In Cerebral Mechanisms in Behavior, pages 1–41. Wiley, New York, NY, USA, 1941.
- J. von zur Gathen and J. Gerhard. Modern Computer Algebra:. Modern Computer Algebra. Cambridge University Press, 2013.
- Real-Time. In USENIX 1997 Annual Technical Conference (USENIX ATC 97), Anaheim, CA, January 1997. USENIX Association.
- Victor Yodaiken. The algebraic feedback product of automata. a state machine based model of concurrent systems. In CAV (DIMACS/AMS volume), pages 591–614, New Brunswick, NJ, 1990. Springer Science & Business Media.
- Victor Yodaiken. The algebraic feedback product of automata. In Papers from the DIMACS Workshop on Computer Aided Verification, AMS-DIMACS Series. American Mathematical Society, 1991.
- Victor Yodaiken. Modal functions for concise definition of state machines and products. Information Processing Letters, 40(2):65–72, October 1991.