Ken Webb 2013-11-12T01:01:51Z
The Xholon project explores: software as systems of linked nodes, organized hierarchically. The Xholon toolkit supports this back-to-basics approach, and demonstrates practical benefits through examples from numerous domains.
This wiki provides newer information about Xholon. For additional information, please see the original Xholon site. See especially:
The main development effort (as of mid 2014) is going into the Google Web Toolkit (GWT) version of Xholon. Many of the example apps now run using HTML5, JavaScript, Scalable Vector Graphics (SVG), and canvas directly in all modern browsers.
Many sample Xholon applications are available online. Run them using Java Web Start.
The Xholon Collaborative Apps site is up and running, as a WordPress blog.
Contents |
All software has some sort of basic structure, whether intended or accidental.
This structure is best described as a system of linked nodes.
These nodes are organized hierarchically.
If software really is structured this way at a fundamental level, and if software developers were more aware of this structure, then they could use that knowledge to advantage when building software.
The Xholon project and toolkit provide increased awareness of structure by placing nodes, node relationships, and hierarchical organization at the center of the development process, while remaining as unobtrusive as possible. Xholon focuses on these ideas and mines them for all they can give.
This approach enables software to use a large and growing number of related approaches and software, many of which are described or mentioned in this wiki.
The Xholon toolkit is currently implemented in Java. The basic structure of software (nodes, links between nodes, and hierarchical organization) is typically captured intentionally using XML. The detailed behavior of nodes is expressed using standard Java classes, although several scripting languages can also be used. In a Xholon application, the structure is always accessible in a consistent way when modeling, designing, implementing, simulating, testing, transforming, or running the application.
By adhering to this simple universal structural pattern, Xholon is able to integrate itself with almost any third-party software product or approach to extend its capabilities. The Xholon project currently offers working examples of integration with Java Swing, HTML (Cobra), UML and SysML design tools (MagicDraw, Poseidon, Topcased), SVG-based GUIs (SVG Salamander), the Spring Framework, relational databases through Hibernate/JPA or JDBC, XML databases (exist), sequence diagram editors (sdedit, UMLGraph, Rational Rose), network/graph analysis and visualization software (JUNG, Network Workbench), state machine software (SCXML, SMC, QEP, SwingStates), mind-mapping software (FreeMind), statistics packages (R), charting tools (JFreeChart, gnuplot, Excel, OpenOffice), Ajax frameworks (ZK), MathML, System Biology Markup Language (Copasi), membrane computing, agent-based modeling, J2EE, system dynamics, Matlab Simulink, ordinary differential equations, neural networks (CTRNN), genetic programming (ECJ), cellular automata, XPath, XQuery (Saxon, MXQuery), XSLT, VRML (Cortona), Business Processes (JPDL), JMS, X-bar linguistic theory, and others. This is just some of the software that uses hierarchically-organized linked nodes in some way.
One purpose of this wiki is to present arguments for and against the statements above.
I have just started to work on this wiki. At this point it has no fixed structure, and is just a place to put new content.
This is a list of topics, ordered by the date that the topic was added.
No arbitrary restrictions (NAR)
The syntax of hierarchy (table)
Community Structure and Detection
FreeMind Mind-mapping software
Scalable Vector Graphics (SVG)
Google Web Toolkit (GWT)
XMind Mind-mapping software
Topicscape 3D Mind-mapping software
Virtual Reality Modeling Language VRML 3D visualization
Reverse engineering from Java to Xholon
R Project for Statistical Computing
ASM Java bytecode framework
jBPM/jPDL Business process management
Xholon with non-xholon classes
Multiple concurrent applications
COPASI biochemical network simulator
X-bar linguistic theory
Umple Model-Oriented Programming
PlantUML Class and State diagrams
PlantUML Composite Structure diagram
PlantUML Sequence diagram
Scratch programming language and environment
Unified Modeling Language (UML) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Systems Modeling Language (SysML) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Systems Biology Markup Language (SBML) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Membrane Computing (P Systems) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Agent-Based Modeling (ABM) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
NetLogo (turtle graphics, and more) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Neural Networks (specifically CTRNN) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Genetic Programming (GP) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Cellular Automata (CA) Directly supported in Xholon toolkit, with complete examples in the Xholon download.
Brane Calculus Directly supported in Xholon toolkit, with complete examples in the Xholon download.
System Dynamics Directly supported in Xholon toolkit, with complete examples in the Xholon download.
List of other topics topics that don't yet have their own page
Ralf Westphal website
XO Laptop One Laptop per Child
Event-Based Components (EBC)
Xholon Collections List, Map, and Set
Event-Based Programming (EBP)
Discrete Event System Specification (DEVS)
Parallel Universes and Time Travel
Phylogenetic Trees lots of tree visualization software
The Malleable Software Challenge
Dresden JaMoPP, EMFText, Reuseware, and other projects from TU Dresden
ATLAS Transformation Language (ATL)
Simple Transformer (SiTra) simple transformations in Java and C#
Prefab reverse engineering from GUI pixels
Model Transformations in Practice Workshop at MoDELS 2005
yUML simple UML diagrams online
Java Swing VariationsJSON can be used in Xholon as an alternative to XML
Cascading Style Sheets (CSS)
Internet Media Type MIME Type
Java Web Start (JNLP)
Scripting Xholon using JavaScript
Carbon Bathtub a Xholon model of CO2 in the atmosphere
Collaborative Apps with Xholon
Embedding Xholon nodes in images such as .png files
Environments for Learning Java
jsTree JavaScript Tree Component
Processing visual programming language
GUI for Xholon grid apps using HTML5 Canvas
Bootstrap minimal environment for developing and running web apps
Xholon webEdition Xholon apps on the web, with or without Java
Bootstrap 2 a smaller and better minimal environment for developing and running web apps
HTModL HyperText Modeling Language, rather than HyperText Markup Language
Interplay between Xholon and Wikipedia
Web App Frameworks as Graph-Based Software
The Azimuth Project Petri Nets, Bigraphs, Climate Models, Connections between modeling approaches
Xholon gwtEdition Xholon models run as HTML5 web apps using Google Web Toolkit (GWT)
The Xholon project and this wiki are the work of Ken Webb. Ken can be reached at primordion dot com.
I've used a wikitext to HTML converter to help me convert my mediawiki site at SourceForge to this HTML. As of June 2014, SourceForge no longer supports mediawiki wikis.