In many ways, PolyWorld may be thought of as a sort of electronic primordial soup experiment, in the vein of Urey and Miller's classic experiment, only commencing at a much higher level of organization. I also see PolyWorld as a means to begin exploring Artificial Life as a path toward Artificial Intelligence, utilizing the same key elements that led to natural intelligence: the evolution of nervous systems in an ecology.
I will discuss the design principles employed in PolyWorld, the "species" that have evolved in various simulations, and the group and individual behaviors observed in these simulations. I will also at least briefly address the difficult issues around deciding when "Life" is actually present in a system.
We present FIREMAP, a tool for analyzing concurrent systems, and we describe some applications of this tool to the formal verification of digital circuits. The tool and formalism have a high degree of flexibility, as the underlying theory has been built with an abstract notion of an execution, and without any restrictions on the concurrent processes that participate in compositions or comparisons. In circuit applications, we have been able to deal with synchronous and asynchronous circuits, with general CMOS circuits, with terminals that are sometimes inputs and other times outputs, with transistor-level circuits where the transistors are approximated by switches, and with delay constraints and isochrony. We have tested FIREMAP on several small industrial designs. Neither the tool nor the underlying theory are limited to circuits.
A common problem in formal verification is that the number of states may grow exponentially with the number of components ('state explosion'). To deal with large state spaces, FIREMAP combines a BDD-based implementation (using a library provided by the Model Checking group at Carnegie Mellon University) with full support for modular and hierarchical verification, and, in some cases, with support for partial order techniques that may reduce the number of states that need to be verified.