Xholon

Category Cross-Omics>Agent-Based Modeling/Simulation/Tools

Abstract Xholon is a flexible open source tool for multi-paradigm [UML 2, ABM, SBML, Neural Network (NN), genetic programming (GP), P System, cellular automata (CA), ...] modeling, simulation, design, execution, and transformation.

Generic Java and XML building blocks are extended into multiple domains, and woven into loosely organized systems.

Note 1: Tools that model, transform, simulate and execute building blocks from multiple domains, woven into loosely-organized systems. Event-driven Xholon apps are expressed using XML, XPath, and Java activities, optionally created with third-party UML 2 tools.

Note 2: The Xholon project defines ‘generic building blocks’ that can readily be combined to form arbitrarily complex systems through top- down design or bottom-up evolution, and supports this through a Java, XML, UML 2, MDA development tool, and a process that includes modeling, transformation, simulation, and execution.

Xholon is especially appropriate for event-driven systems, or any system, in which ‘objects move around’, are regularly created, destroyed and modified, need to change their class at runtime, or even need to dynamically create new classes and new instances of those classes.

While some Xholon applications, such as the example elevator controller, have very deterministic behavior and can be statically validated, the tool is especially designed to allow very open-ended systems that ‘organize themselves’ at runtime and canNot be completely pinned down to a specific UML Metamodel or XML schema.

The goal of the Xholon project is to enable the building of systems that approach the complexity of ‘biological systems’, using many of the same principles that have made biological systems so adaptable, successful and long-lived.

The Xholon tool can itself be specified in terms of its own core generic building block.

Xholon - Agent Based Modeling (ABM) --

Xholon supports the Unified Modeling Language (UML 2.1), systems biology modeling, other types of modeling, and many of the features found in existing agent-based modeling tools.

It focuses especially on integration of various approaches. It can, for example, simulate 2D-grid and agent-based models created using UML tools, and can combine multiple agent-based grids in the same model.

It includes an optional limited NetLogo-like syntax, as Java methods. The download includes numerous example applications.

Xholon - Finite State Machine - Simulation --

Xholon is a simulation tool that supports ‘state machines’ in several ways.

1) Xholon supports an XML syntax that parallels how state machines are defined in the Unified Modeling Language (UML) and in the Systems Modeling Language (SysML).

2) Xholon can transform UML models into Xholon models that can then be simulated and executed using the Xholon runtime framework.

Currently, two (2) UML tools are supported, MagicDraw UML (UML 2), and Poseidon for UML (UML 1) (see below…).

3) Xholon can execute Java code that implements 'state machines' using simple ‘switch statements’ with state and event variables.

4) Xholon can export a state machine in a simplified SCXML format. In the near future it will be able to import this format as well. SCXML is relatively easy to manually edit. State Chart XML (SCXML) is a general- purpose event-based state machine language that can be used in many ways.

5) All of these approaches can be used together in the same application.

6) Any number of state machines can concurrently execute within the same application. Each can send messages to other state machines. Received messages become events.

Xholon - Membrane Computing --

Xholon supports the Unified Modeling Language (UML 2.1), systems biology modeling including SBML, other types of modeling, and many of the features needed to support 'P Systems' (Membrane Computing).

Like P Systems, Xholon is based on a concept of hierarchically organized structures, a concept it borrows from biology and from the Unified Modeling Language (UML 2) where it is known as 'composite structure'.

Xholon focuses especially on the integration of various approaches.

It can, for example, model the same application either as a finite state machine or as a P System.

The Xholon download includes numerous example applications, including six (6) that re-implement models found in the membrane computing literature, and one from the related field of ‘Brane calculi’ [P systems and Brane calculi are two (families of) computational models inspired by the structure and the functioning of ‘living cells’].

Xholon - SBML and Biochemical Networks --

Xholon supports importing of Systems Biology Markup Language (SBML) 2.1, and limited exporting. It can, for example, read files exported by COPASI (see G6G Abstract Number 20296).

Xholon can also read biological and other models created using Unified Modeling Language (UML 2) tools.

Xholon is written in Java, and uses LibSBML (LibSBML is an open- source programming library that will help you to read, write, manipulate, translate, and validate SBML files and data streams).

The previously separate Cellontro project (see below...), with a focus on biology modeling, has now been made part of Xholon.

The intent is to gradually integrate the different types of models and simulations that Xholon supports, for example UML and SBML.

Xholon - Unified Modeling Language (UML) --

Xholon is generally aligned with versions 2.0 and 2.1.1 of the Unified Modeling Language (UML).

Xholon uses many UML concepts, including classes, components, class inheritance, composite structure, structured classifiers, ports, parts, roles, connectors, signals, messages, required and provided interfaces, activities, interactions, and state machines.

Xholon can be used as a UML modeling tool, but without the UML diagrams. An Xholon model consists of a set of XML and Java files.

Xholon can also transform UML models into Xholon models that can then be simulated and executed using the Xholon runtime framework. Currently, two (2) UML tools are supported:

1) MagicDraw UML (UML 2) - MagicDraw is a business process, architecture, software and system modeling tool with teamwork support. This development tool facilitates analysis and design of Object Oriented (OO) systems and databases; and

2) Poseidon for UML (UML 1) - Poseidon for UML is a software application used to create models with the Unified Modeling Language.

Cellontro --

Cellontro models and simulates cells, other biological entities, and biochemical networks. Specify the structure and behavior of your models using XML and Java, and optionally using UML 2.0.

Cellontro applications are built on top of the Xholon runtime framework, and Cellontro is now entirely contained within the Xholon project. Xholon features include SBML import and simple export to allow exchange of biochemical reaction models with other tools.

System Requirements

Contact manufacturer.

Manufacturer

Manufacturer Web Site Xholon

Price Contact manufacturer.

G6G Abstract Number 20441

G6G Manufacturer Number 104070