Software Products



The following software products are available for downloading. Some of these are open source, while others are commercial with demo versions. You can find further details about each project by clicking on the related icon or link.

The products fall under the following broad categories:


Distributed Computing

Distributed Systems

  • Licas: Build distributed service-based networks.
  • Code Analyzer: Utility tool for generating metadata to help with semantic searches.

Game Playing

  • ChessMaps: Chess game-playing program. Uses a neural network at the heart of its search heuristic.
  • Match-It: Puzzle game.

Scheduling

  • PEGS: Generic production scheduler with agent-based version.

Other

Text processing

Logging

  • JLog2: Useful logging tool.

Open Source / Free



Licas - stands for lightweight (Internet-based) communication for autonomic services. It is an open source software package, written in the Java programming language, that allows a user to run or build lightweight networks of service-based components (SOA). The framework allows for autonomous behaviour and includes a self-organising mechansim and distributed/remote communication. The services can be password protected and there is a system in place for implementing autonomic managers and service level agreements. There is also a default metadata search engine. Legacy code can be accessed through wrappers.

There are now different packages for a server, a client/GUI, and a problem solver based on genetic algorithms. Each one can be used separately. The code is also J2ME CDC compatible. Click on the icon for further details.
 
JLog2 - This is a lightweight Java logger/debugger compatible with both the J2SE and J2ME platforms. The mobile version of Java does not have a default logger and so this package was written and is used by the licas system. Click on the icon for further details.
 
ChessMaps - The ChessMaps chess playing program has been developed using the 'Chessmaps heuristic'. This heuristic uses a neural network at its core to order moves for the search process. The heuristic uses the theory that there is a definite relation between the squares that we control and the squares that we influence when we move a piece. The neural network tries to map the square control of any position to the squares influenced by each move and then use this to order any moves as part of a search process. Other moves can also be extracted, such as capture, forced or forcing moves and added to make the move ordering even more accurate. A demo version of the program can be downloaded that will allow you to play the game. This demo also includes a new version of chess where the squares can be 'mined'. Click on the icon for further details.
 
Match-It - Sudoku for beginners! Match numbers or symbols over a game grid to try to optimise your score. Skill required to decide what values to keep or remove, and strategy/tactics in realinging scoring squares. Written in C# and comes as an setup.exe installer. Click on the icon for further details.
 

 

Commercial / Demo Versions



Text file Filter and Formatter - This product has now developed into a feature-rich text processor. As well as organising or searching through text, it can be used to filter or process text files, to create new files with different information or formats. It can read Text or XML files and apply a sequence of operations on the text, to change the contents. The application can also extract content from PDF or HTML files. The transformation can include arbitrary sequences of filtering or reformatting operations. Some of the more common formatting options are included as well.

Organising text documents, or searching through the text is also possible. An analysis can be performed, with the results fed back to highlight certain content for separate formatting, for example. A demo version is available. Click on the icon for further details.
 
Code Analyzer - This utility program is a code analyzer and semantic mapping application. The application can read source code files and parse them to determine what the most important words or concepts in the method headings are. This information is then used to allow the user to enhance these method descriptions with standard descriptions from online dictionaries. This would be useful, for example, if the code was an interface to a Web-based service. It can also generate admin documents for initialising licas services, through the same parsing routines. A demo version is available. Click on the icon for further details.


PEGS - (Production and Environmental Generic Scheduler) is a production scheduling system. It uses the latest techniques for ordering and searching through millions of potential alternative schedules to find a solution close to the optimum possible. The program is generic - it will cope with a wide range of factory configurations and manufacturing strategies including single machine, parallel machines, flow shops, job shops and a wide range of constraints. The system also includes some novel features, such as environmental factors (waste) and economic factors (cost) when optimising the schedule. There is also an agent-based version with new sorting algorithms to generate faster schedules. I do not own or sell this product, but I list it here as an example of my work. Click on the icon for further details.