Software Projects
The following projects have resulted in useful software applications and products. Some of these products are open source while others are commercial, but with demo versions. You can find further details about each project by clicking the related icon.
Open Source / Free
| 
| Licas - stands for lightweight (Internet-based) communication for autonomic services. It is a software package written in the Java programming language which allows a user to build distributed service-based networks that can also self-organise/self-optimise. Functionality is provided to allow for XML-RPC based message passing and dynamic linking between services. The framework is very lightweight and so it may also be used in a mobile environment. The architecture and adaptive capabilities add something new to what other similar systems provide. Autonomous behaviour can be realised through self-organisation where related services, or network nodes, can build dynamic links between each other, reflecting how they have been used together. The system also allows for permanent links that represent the static network structure. The services are password protected and there is a framework in place to implement service level agreements. Legacy code can be accessed through wrappers.
|
| 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.
|
| 
| 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'.
|
| | |
| |
Commercial
|
| Text file Filter and Formatter - This utility program might be helpful for filtering or formatting ASCII text files. It can read .txt or .xml files and is probably most useful for generating ordered lists of words from files of arbitrary text. It can also perform some analysis of the text - either the raw data or the filtered text. It can also perform some basic formatting, for example, it can reformat to a different width, or replace one word or character with another. 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. 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. |
| |
| |