Evolving Algebras 1993: Lipari Guide

Evolving Algebras 1993: Lipari Guide

1995 | Yuri Gurevich
The evolving algebra project aims to bridge the gap between computation models and specification methods by improving on Turing's thesis. Evolving algebras are versatile machines that can simulate arbitrary algorithms in a direct and coding-free way. The thesis suggests that evolving algebras can be used to model computer systems closely, allowing correctness to be established through observation and experimentation. The approach is facilitated by the ability of evolving algebras to reflect arbitrary abstraction levels. Static algebras are defined as structures with specific operations and relations. They are used to define terms, locations, and updates. Evolving algebras extend static algebras by allowing the import of new elements and the use of transition rules. Nondeterministic sequential evolving algebras and other extensions of the basic model are discussed, along with parallel and distributed evolving algebras. The guide extends the definition of evolving algebras from the tutorial, introducing terms like "ealgebra" and discussing static algebras, sequential evolving algebras, nondeterministic evolving algebras, parallel evolving algebras, and distributed evolving algebras. The guide emphasizes the importance of clarity and simplicity in definitions, balancing them with practical considerations for programming convenience and efficiency. The guide also addresses the challenge of handling inconsistent update sets, proposing conservative determinism as a solution. It discusses the use of variables in parallel evolving algebras and the importance of distinguishing between internal and external functions. The guide concludes by highlighting the need for further research and development in the field of evolving algebras.The evolving algebra project aims to bridge the gap between computation models and specification methods by improving on Turing's thesis. Evolving algebras are versatile machines that can simulate arbitrary algorithms in a direct and coding-free way. The thesis suggests that evolving algebras can be used to model computer systems closely, allowing correctness to be established through observation and experimentation. The approach is facilitated by the ability of evolving algebras to reflect arbitrary abstraction levels. Static algebras are defined as structures with specific operations and relations. They are used to define terms, locations, and updates. Evolving algebras extend static algebras by allowing the import of new elements and the use of transition rules. Nondeterministic sequential evolving algebras and other extensions of the basic model are discussed, along with parallel and distributed evolving algebras. The guide extends the definition of evolving algebras from the tutorial, introducing terms like "ealgebra" and discussing static algebras, sequential evolving algebras, nondeterministic evolving algebras, parallel evolving algebras, and distributed evolving algebras. The guide emphasizes the importance of clarity and simplicity in definitions, balancing them with practical considerations for programming convenience and efficiency. The guide also addresses the challenge of handling inconsistent update sets, proposing conservative determinism as a solution. It discusses the use of variables in parallel evolving algebras and the importance of distinguishing between internal and external functions. The guide concludes by highlighting the need for further research and development in the field of evolving algebras.
Reach us at info@study.space
Understanding Evolving algebras 1993%3A Lipari guide