Sample Xholon Applications

preamble

Each sample includes a description of what it is intended to demonstrate about Xholon.

Hello World

This model is a very simple example of how to write and run a Xholon application. Several xholon objects cooperate to write the words Hello and World a specified number of times.

Simple Ping Pong

Ping Pong is a sample Xholon application. Two active objects of the same class collaborate to count from 0 to 19. They coordinate their behaviors by writing directly into each others public variables, through ports. Compare this with the Hello World tutorial in which two active objects collaborate by passing messages through ports.

Hello World with 3d VRML

This variation of Hello World creates a 3d VRML file. VRML files are organized as trees, and it is quite straight-forward to write out a VRML tree from a Xholon composite structure tree.

Hello World - Test Time

This model extends the basic HelloWorld model by setting a couple of timers and responding to timeout events in addition to normally sent messages.

Digital Watch

This digital watch model includes a large hierarchical state machine. The system was modeled using the Poseidon UML tool, and transformed into XML and Java files required by the Xholon runtime framework. This application simulates the internal structure and behavior of a fairly generic digital watch I own. It has four buttons which can be labeled S1, S2, S3 and S4. It displays the time or the date. By pressing the four buttons in various combinations, the current second, minute, hour, month, day and date can be updated, and various other internal functions can be managed.

Cell Model

This simulation of a biological cell includes enzymes that continuously transform substrate chemicals into products, and lipid bilayers and transport proteins that move chemicals between compartments. This sample application is part of the separate Cellontro project, and is available by going to the Cellontro website.

Cell Model with Autopoiesis

This application demonstrates the emergence of structure, as enzymes construct a membrane around themselves.

Life

This simulation extends the cell model. Many instances of the original cell are embedded within multiple subsystems of an organism, which in turn is embedded within an ecosystem. This demonstrates a deeply nested composite structure, and the ability to reuse structures. This sample application is part of the separate Cellontro project, and is available by going to the Cellontro website. It is the most complex application developed so far using the Xholon runtime framework.

Life with 3d VRML

This biological cell simulation generates a Virtual Reality Modeling Language (VRML) view of itself, allowing 3d visualization with the use of a VRML browser.

SBML Cell Model

System Biology Markup Language (SBML) - see Cellontro project.

Elevator Controller

This model simulates the control of a pair of elevators operating in a multi-story building.

Ant Foraging

The Ant Foraging System is a Xholon implementation of an example presented by John Koza in his 1992 book Genetic Programming. It is an example of a grid implemented in Xholon, and also demonstrates mobility as ants move about on the grid. This and the next set of projects focus on systems that evolve and adapt to their environment, by using the Xholon runtime framework.

Ant Foraging with Genetic Programming

In this version of the Ant Foraging model, genetic programming is used to evolve the behavior of the ants, by manipulating the Xholon tree structure.

Cart Centering

This model implements a solution to the cart centering problem.

Cart Centering with Genetic Programming

This model uses genetic programming (GP) to evolve a solution to the cart centering problem.

ECJ Ant Trail

This model is a Xholon version of the Ant Trail application included with ECJ, an evolutionary computation system written in Java. This version does NOT include genetic programming, but simply uses an already-known optimal behavior. This optimal behavior, is hard-coded into a Xholon tree structure, inside the CompositeStructureHierarchy.xml configuration file.

ECJ Ant Trail with Genetic Programming

This model is a Xholon version of the Ant Trail application included with ECJ. You will need to download ECJ separately from Xholon. This version of the model generates an optimal solution using genetic programming (GP).

ECJ Tutorial 4

This model is a Xholon version of the Tutorial 4 application included with ECJ.

ECJ Tutorial 4 with Genetic Programming

This model is a Xholon version of the Tutorial 4 application included with ECJ. You will need to download ECJ separately from Xholon. This version of the model generates an optimal solution using genetic programming (GP).

Game of Life

This is the classic Conway Game of Life implemented using Xholon. It demonstrates how to implement a two-dimensional grid within a Xholon tree.

CTRNN - AdapSysLab

This model demonstrates use of a Continuous Time Recurrent Neural Network (CTRNN), using Xholon.

Dynamical Systems - Fibonacci

This model implements a dynamical system that creates the Fibonacci series. This demonstrates how to model dynamical systems using Xholon.

Collisions

This is a partial implementation of a statistical analysis described in a research paper.

Generic Test Application

This simple application demonstrates and tests some core internal functions of the Xholon runtime framework. It also shows how to add new nodes to the composite structure tree.

Finite State Machine Test

This application tests and demonstrates the ability of Xholon to model and execute hierarchical finite state machines (FSM). Xholon FSMs are based on the Unified Modeling Language (UML 2) specification for State Machines. This FSM was modeled using the Magic Draw UML tool, exported to XML Metadata Interchange (XMI) format, converted to Xholon XML and Java files using a set of XSLT scripts, merged with several manually-produced Xholon Java files, and executed using the Xholon runtime framework.

Orthogonal Finite State Machine Test

This application tests and demonstrates the ability of Xholon to model and execute hierarchical finite state machines (FSM), especially an FSM containing orthogonal states. Xholon FSMs are based on the Unified Modeling Language (UML 2) specification for State Machines. This FSM was modeled using the Magic Draw UML tool, exported to XML Metadata Interchange (XMI) format, converted to Xholon XML and Java files using a set of XSLT scripts, merged with several manually-produced Xholon Java files, and executed using the Xholon runtime framework. In UML, an orthogonal state contains two or more regions. Each of these regions can contain separate hierarchical states, that typically operate independently of each other.

Regulated Catalyzing System (RCS)

This model, taken from a biology domain, is a fairly simple Xholon application. A regulated catalyzing system (RCS) contains catalysts as well as entities that regulate the catalysts. The Glycogen Phosphorylase System is one such system, in which Glycogen Phosphorylase is the catalyst, and Phosphorylase Kinase and Phosphorylase Phosphatase regulate its activity.

Membrane Computing - P Systems

This is a model of a Membrane Computing system.

Brane Calculus

This is a model of a Brane Calculus system.