Licas Changelog

What's new in Licas 7.25

Dec 30, 2023
  • TreeNode 'hasValue' method updated.
  • MetricDataset re-written slightly to be 2 lists instead of HashMap. Need to retrieve key list and value lists separately, but otherwise works the same. Returned lists are cloned.

New in Licas 7.24.1 (Dec 9, 2023)

  • Bug fixes. Uploaded between 21 November and 8 December 2023.
  • Tree node methods updated to take account of cycling in tree searches.
  • LinksParser bug fix to re-construct the linking structure again.
  • Some dynamic linking updates. Minor bug fixes.
  • AI solver interface changed slightly to have default empty lists, so do not have to code empty lists.

New in Licas 7.24 (Dec 1, 2023)

  • LinksParser bug fix to re-construct the linking structure again.

New in Licas 7.23 (Nov 21, 2023)

  • Some dynamic linking updates. Minor bug fixes.

New in Licas 7.22.6 (Nov 2, 2023)

  • TreeNode value comparisons bug fix. As object-based, can still be a guess

New in Licas 7.22.5 (Mar 21, 2023)

  • Minor underlying XML bug fix.

New in Licas 7.22.4 (Dec 21, 2022)

  • Internet bug fixes.
  • Minor service updates.

New in Licas 7.22.3 (Dec 20, 2022)

  • Internet bug fixes.
  • Minor service updates.

New in Licas 7.22.2 (Aug 3, 2022)

  • Minor bug fixes - AI and text algorithms.

New in Licas 7.22 (May 12, 2022)

  • Serious bug fix when using the Rest/Http GET method.

New in Licas 7.21 (Apr 26, 2022)

  • Email base64 decoding bug fix.
  • Data Hub interface update.
  • The base64 encoder/decoder now uses both Robert Harder's and the default Java version.

New in Licas 7.20.1 (Mar 23, 2022)

  • New minimised console.

New in Licas 7.20 (Mar 9, 2022)

  • Service and performance improvements. Uploaded on 9 March 2022.
  • New email search spam feature and new minimised console.
  • Some threading performance improvements.
  • Web service code integrated back into core package. Uses WSDL and SOAP.
  • TreeNode count field now float not double, to save space.

New in Licas 7.19 (Feb 28, 2022)

  • Service GUI updates.
  • For coding - service interface classes now require the service type as well.
  • Internet Package - HttpUrlConnection and HttpWebConnection changed round. HttpConnection is now the generic class and there can be either a Web or a Socket connection from it.
  • Other bug fixes.

New in Licas 7.18.3 (Nov 4, 2021)

  • Internet https bug fix.
  • LicasHttpConnection changed to LicasSocketConnection and also the related methods.

New in Licas 7.18.2 (Jun 27, 2021)

  • Some critical bug fixes. Uploaded between 7 May and 27 June 2021.
  • Primitive type comparison with object type bug fix in method invocation.
  • Sync to async method call bug fix.
  • Communication bug fix in general.
  • Server bug fix to free blocking client when an error.
  • GeneticGrid update.

New in Licas 7.18.1 (Jun 20, 2021)

  • Sync to async method call bug fix, when using the MessageStore.

New in Licas 7.18 (May 7, 2021)

  • Some critical bug fixes.
  • Primitive type comparison with object type bug fix in method invocation.
  • Sync to async method call bug fix.
  • Server bug fix to free blocking client when an error.

New in Licas 7.17.2 (Jan 28, 2021)

  • Some bug fixes.
  • Remove service from the server bug fix.
  • ObjectHandler.isVector or isHashtable now correct.
  • MetricDataset should now process Vector and Hashtable as single objects, if pass list type as the data type.

New in Licas 7.17.1 (Jan 28, 2021)

  • Some bug fixes.
  • MetricDataset.toDataset - if storing HashMap as a single object, it should correctly recognise the 'AiTypeConst.HASHMAP' data type now.
  • TestSpec variables all public now, removed the get/set methods.
  • CallHandler.canInvoke method interface changed. Just checks if service is running on the server now, not its password.

New in Licas 7.17 (Jan 11, 2021)

  • Some bug fixes. Uploaded on 10 January 2021.
  • Recursive loop in MetricDataset.toDataset for arrays has been fixed.
  • Generics added to the Problem Solver package. The Solution and MatchPair classes are slightly different, with new container and different inheritance.

New in Licas 7.16 (Dec 30, 2020)

  • Some bug fixes from adding generics to the core licas package.
  • Some service bug fixes.

New in Licas 7.15 (Dec 21, 2020)

  • Some bug fixes.
  • Web service bug fix, slightly different GUI interface.
  • Generics added to the lower stack packages, up to licas_text.

New in Licas 7.14 (Dec 15, 2020)

  • The REST interface had a communication bug, now removed, resulting in some service bug fixes.
  • The clustering version for the frequency grid is now added as an input parameter - version 1 or 2.
  • Ai-Heuristic package: the MetricDataset has been simplified a bit. It always stores MetricValue objects and you can now iterate over them. Use methods like: isSingleValue, getFirstValue, resetValueIterator, hasNextValue, getNextValue.
  • Bug fixes in some classifiers.

New in Licas 7.12 / 5.26.2 (Aug 4, 2020)

  • AI algorithm update. Uploaded on 4 August 2020.
  • Frquency Grid algorithm re-written. Seems to be more compact, with fewer single nodes at the end. Small changes from the previous version.

New in Licas 7.12 (Jun 21, 2020)

  • Parsing bug fixes. Uploaded on 20 June 2020.
  • Parsing XML re-wrtten slightly, but should now work as before.

New in Licas 7.11.2 (Jun 15, 2020)

  • Message Bus updates for the local server queue. Might be much slower, but that is because everything goes through the message bus now.
  • Data Hub working again, also Behaviour Mediator and Metrics.
  • Possible parser bug fix.

New in Licas 7.11 / 5.25 (Jun 8, 2020)

  • Server update. Uploaded on 8 June 2020.
  • Message Bus updates for the local server queue. Might be much slower, but that is because everything goes through the message bus now.

New in Licas 7.10 / 5.24.1 (Jun 2, 2020)

  • Message Bus subscribe option added to the service admin document and server.

New in Licas 7.9 / 5.17 (May 25, 2020)

  • Bug fxes relating to the server and the GUI.

New in Licas 7.8 (May 24, 2020)

  • A new Message Bus has been added and it processes messages for specific services. Still need to add the functionality where a service can subscribe to accept messages of a type.
  • The server calls to execute a service type, now only relate to the server-owned services and not any other service. This will be moved to the new message bus system.
  • Other minor updates and documentation updates.

New in Licas 7.7.3 (Apr 24, 2020)

  • Method 'initialiseValues' changed to 'initialise' in all classes. It is a private method, apart from the Function class. You will probably need to re-download any modules that you use.
  • MetricDataset.toDataset has an error if you try to store lists as single entities, where the data type is also the list type. It would still split the list up and store each item as an individual element. This is now changed version so that getSingleValue will return the whole list, as the only stored element.

New in Licas 7.7.2 (Apr 18, 2020)

  • Web service updates and bug fixes.
  • Web services changed a bit with some bug fixes.
  • Possible autonomic manager bug fix.
  • The moblie app has been updated.

New in Licas 7.7.1 (Apr 8, 2020)

  • Http URL connection switched back from POST to GET.
  • Should fix the Feeds Service error.

New in Licas 7.7 (Apr 8, 2020)

  • Communication bug fixes after removing the HttpCore base. Tested OK with XML-RPC and Rest_MethodHandler, but no guarantee about direct comm from a browser.
  • Potential parser bug fix.
  • Minor update to the server startup and settings.

New in Licas 7.6 (Apr 3, 2020)

  • Server updates. Uploaded on 30 March and 3 April 2020.
  • Communication bug fixes after removing the HttpCore base. Tested OK with XML-RPC and Rest_MethodHandler, but no guarantee about direct comm from a browser.
  • Minor update to the server startup and settings.

New in Licas 7.5.1 (Mar 30, 2020)

  • Minor update to the server startup and settings.

New in Licas 7.5 (Mar 9, 2020)

  • Information service filter terms now a list of comma-separated terms.
  • In licas_internet: ConnectionManager.sendGetRequest now sendRequest. The connection classes now have 'Licas' at start of name.
  • Removed HttpCore from the framework, so no third-party server now. Starting to overwrite some of the licas classes and then realised that HttpCore also serializes what is parsed first, which must be uneconomic.
  • If there are any server problems, then if you send an email, I can correct it more quickly.

New in Licas 7.4 (Feb 20, 2020)

  • Information service GUI has some more config options.

New in Licas 7.3 (Feb 12, 2020)

  • The Sparql Query now allows nested Select clauses in the Where clause.
  • Messenger service lists the current clients.
  • Minor Feeds and Information service updates.
  • Other bug fixes.

New in Licas 7.2 (Dec 2, 2019)

  • The cluster behaviours have been re-written for the new modules and may produce slightly different results. Probably improved the result. If any problems then please email me.

New in Licas 7.1.2 (Nov 11, 2019)

  • The cluster behaviours have been re-written for the new modules and may produce slightly different results. Probably improved the result. If any problems then please email me.

New in Licas 7.1.1 (Oct 31, 2019)

  • If using createResource, you need to use the Data-Value structure for the XML element.
  • Serious communication bug fix, might be quite old.
  • Module names changed slightly, so base module is now a 'FrameworkModule'. A new general rule is that modules directly in services extend 'FrameworkModule' only and any module being added as a child service should extend 'ServiceModule'. An exception is thrown otherwise.
  • The cluster services have been moved to the core licas package and converted into heuristic modules. A small amount of change, some new AI classes and some classes moved over. Check the sci and AI packages. The cluster class names have changed, so you will need to redo any scripts for that.
  • Feed service bug fix.

New in Licas 7.1 (Oct 30, 2019)

  • Service bug fixes.
  • If using createResource, you need to use the Data-Value structure for the XML element.
  • Module names changed slightly, so base module is now a 'FrameworkModule'. A new general rule is that modules directly in services extend 'FrameworkModule' only and any module being added as a child service should extend 'ServiceModule'. An exception is thrown otherwise.
  • The cluster services have been moved to the core licas package and converted into heuristic modules. A small amount of change, some new AI classes and some classes moved over. Check the sci and AI packages. The cluster class names have changed, so you will need to redo any scripts for that.

New in Licas 7.0.2 (Oct 23, 2019)

  • Bug fixes for the recent updates, relating to the data services.

New in Licas 7.0 (Oct 17, 2019)

  • New modular architecture and some fixes. Uploaded on 17 October 2019.
  • The Service class is quite large now, so a new base ServiceModule class has been created.nThis will also convert the system over to a more modular architecture. It may require a few changes to your code, but the updates should be minimal.
  • Some important bug fixes. The Link service autonomous behaviour has at least 1 error - it does not process the input message, but the default behaviours will be looked at again anyway. The Ai-heuristic evaluators (SimpleMathCompare) now process MetricDatasets as well.
  • With the new modular architecture, the service behaviours are extracted to the modules, see the module package and ModuleHandler. Also see the user guids. All of the functionality should be the same. You may need to update some package names but nothing else.
  • A new Data Module is used by the Service class and stores the data as a Resource. So this is now the default setup for every service now. The Service 'getData' method has been changed to return an Object. The method to look for is MethodConst.GETDATA and it returns the Java Object. You might need to update your code for this. Also 'setDataObj' changed to 'setData' with slightly different interface.
  • The problem solvers now pass objects as the data instead of always elements that then get parsed. The ProblemSolverMediator, for example.
  • If running scientific services, you should not use the InformationService for clustering. Use the LinkService instead, as the InformationService will be given a different behaviour module and so will not automatically cluster data. You might need to update your scripts for this.
  • The default clustering behaviour has been changed, but this will be looked at again.
  • Auto Manager Module does not need both password handler and admin key in constructor, so admin key removed and taken from password handler internally.
  • DataQuery now DataQueryModel, ComparisonQuery now ComparisonQueryModel, plus parsers.

New in Licas 6.23 (Sep 17, 2019)

  • Bug fixes. Uploaded on 16 September 2019.
  • Some important bug fixes for the Auto Manager communication and remote communications.
  • Only commID for the Auto Manager key now, but can get client URI from the service.

New in Licas 6.22.2 (Sep 6, 2019)

  • Bug fix for Information service back button.
  • XML parsing bug fix for the rss feeds.
  • Possible Tree.nodesAtLevel bug fix.

New in Licas 6.22.1 (Aug 28, 2019)

  • Web Service bug fixes. Uploaded on 22 and 28 August 2019.
  • Possible Data Hub bug fix.
  • Web service updated and bug fixes.
  • Parsers.removeCoding can be used to remove all of the extra coding.

New in Licas 6.21.4 (Aug 20, 2019)

  • Parser bug fix or update.
  • Data Hub and Web Service bug fixes.

New in Licas 6.21.3 (Jul 30, 2019)

  • Service bug fixes. Uploaded on 15, 16 and 30 July 2019.
  • Deleting a rss feed category is permanent, so a check is now added to confirm it.
  • The server 'executeServiceTypeAsync' method has been updated to use the syncToAsync method. So it now allows calls with an Element reply and saves the reply under the communication ID. Can use 'syncToAsyncReply' to retrieve the reply. Some Query Model updates.
  • Data Hub bug fixes.

New in Licas 6.21.1 (Jul 15, 2019)

  • Data Hub bug fixes.

New in Licas 6.21 (Jul 3, 2019)

  • Service and GUI updates.
  • Service.removeService method is ambiguous when calling remotely, so changed into removeServiceID and removeServicePath.
  • RSS feeds bug fix when no query term is entered, other minor service updates.
  • DataService - 'sendInfoXML' renamed 'dataXmlBM'. Some other tidy-up with the data objects. Also InformationService.
  • DataService moved from 'sci' package to parent 'service' package.
  • New Data Hub service that receives the text-based results from other services, so the text is all in one place and can be queried over. If this or any other service is useful, or you would like other features, then please let me know.

New in Licas 6.20 (May 28, 2019)

  • Minor updates:
  • The query panel in the main GUI has been removed. You can use the Query Service instead.
  • There may be 2 jar files missing for general use - 'licas_service_lib' and 'licas_soap'. They are compiled with the GUI but may be missing for independent development. They are now added to the jars download folder. Any problems this way, please send an email.

New in Licas 6.19 (Mar 14, 2019)

  • GUI bug fix and thread updates. Uploaded on 13 March 2019.
  • Remote servers can be registered with the GUI again. Actually a problem with the recent HttpServer update.
  • Service syncToAsync method and related should not be public, so corrected to require a password.
  • Text Search service update. Should be able to use meta search now.

New in Licas 6.18 (Feb 26, 2019)

  • Bug fix in 'getAllQueryReplies' in Web Service.
  • Some Admin Document updates for creating through the GUI.
  • Auto script: new Script_SwitchTrue and Script_SwitchFalse. True executes until get true reply, false executes until get false reply. Help with adding Cases.
  • Script construction simplified slightly, see LinkService.createProcessScript for an example.

New in Licas 6.17 (Dec 6, 2018)

  • Web service updates. Uploaded on 6 December 2018.
  • Resource containers updated to store the list in a hashmap.
  • Web service updated to allow the execution of multiple calls and some bug fixes.

New in Licas 6.16.1 (Nov 29, 2018)

  • ContainsLinkService infinite loop bug fix. Should now shut-down.
  • Some threading updates.

New in Licas 6.16 (Nov 20, 2018)

  • Web Services bug fixes. Uploaded on 19 November 2018.
  • Web Services should mostly run now. Ignore the remote check box as for later programming, but should be able to save and re-load a configuration.

New in Licas 6.15.3 (Nov 13, 2018)

  • CallPool lock bug fix.
  • Web Services still a bit buggy, so they may not work every time.
  • OpenJFX classes added to the GUI, for Java 11.
  • Minor class loader changes for Java 11.

New in Licas 6.15.2 (Nov 7, 2018)

  • Service and Auto bug fixes. Uploaded on 6 November 2018.
  • Maybe small bug in CallPool shutdown bug fix.
  • Bug fix so that the Web Service can be saved and re-loaded as an SOA. Also allow loading of actual values in the config file. Other updates for later.
  • Amazingly, I can't find a free web service to test with. I have also upgraded to NetBeans 9 and the program runs better in the IDE than the exe version. I am sure any bugs of this nature will be fixed, but the scientific behaviours can be resource-intensive now.
  • There was an error in the Autonomic Manager key since the last update, as part of the 'invokeBehaviour' loop. This error has been removed. Any others will be removed when found.

New in Licas 6.15.1 (Oct 17, 2018)

  • The constructor in the scientific panel stores an admin document file path only now. Can use default passwords with it.
  • The autonomic manager can now be configured and loaded through the GUI and script.
  • With the autonomous communication, the communication ID now adds the client URI and the message processing has been updated. This could cause some problems, but bugs will be fixed if reported.
  • Some other bug fixes.

New in Licas 6.15 (Oct 10, 2018)

  • Admin updates bug fixes. Uploaded on 10 October 2018.
  • New form in the Services Factory, for automatically creating a service admin document.
  • Important bug fix when adding the autonomic manager modules. The constructor was not configured properly.
  • Minor improvement to the matching algorithm in GeneticGrid.
  • EntropyGrid renamed FrequencyGrid.

New in Licas 6.14 (Aug 14, 2018)

  • Remote server calls bug fix.
  • Rest interface now uses parsers for complex objects.
  • Minor service updates.

New in Licas 6.13 (Aug 2, 2018)

  • FileLoader.getFullFileListPaths bug fix.
  • Added some description fields to the Information service GUI.

New in Licas 6.12.3 (Jul 30, 2018)

  • Rest_MethodHandler error bug fix. This may be the preferred mobile comm option. Tested successfully on Android.
  • Scatter graph update.

New in Licas 6.12.2 (Jul 26, 2018)

  • Files in temp folder should now be deleted automatically.
  • Probable Rest communication bug fix. Package ws.rest renamed call.rest.
  • Scatter graph added.

New in Licas 6.12.1 (Jul 26, 2018)

  • Auto engine bug fix.
  • Parallel script elements can call specific services now, not just type.

New in Licas 6.12 (Jul 14, 2018)

  • Gui and script updates. Uploaded on 13 July 2018.
  • Email service view details update.
  • Possible graph bug fix and new Histogram graph. Histogram count is for any value, not each service.
  • TextHandler update.

New in Licas 6.11 / (Jul 3, 2018)

  • Gui and script updates. Uploaded on 3 July 2018.
  • Bug fix with security/web GUI, when trying to save details.
  • GUI graphic update.
  • Condition evaluator now stores Objects for values.
  • Parallel Flow script element added, but not fully tested.

New in Licas 6.10 (Jun 27, 2018)

  • All-in-One GUI, Service panel: the constructor combo box replaced with the 3 default fields. Also minor bug fix where 'show metadata' does not now need to be enabled to remove services.
  • Service updates and bug fixes: File service Gui update, Information service Gui update, RSS Feeeds bug fix.

New in Licas 6.9.1 (Jun 25, 2018)

  • Security and Performance updates. Uploaded on 19 and 24 June 2018.
  • StringHandler.tokenize now keeps empty tokens and therefore blank lines in strings.
  • Option to block external classloaders added.
  • Information service GUI now stores lists of url or file addresses.
  • Some improvement with the memory resources.

New in Licas 6.9 (Jun 19, 2018)

  • Security and Performance updates.
  • Option to block external classloaders added.
  • Information service GUI now stores lists of url or file addresses.
  • Some improvement with the memory resources.

New in Licas 6.8 (Jun 6, 2018)

  • Synchronization added to the CallPool, including new static methods to construct and run
  • Auto script bug fixes, including limited capability to nest complex elements, so can have Pick inside of While, for example

New in Licas 6.7.1 (May 21, 2018)

  • Bug fix in auto script parallel element, with a timing problem.
  • Temp folder clean-up moved to the server.
  • Possible performance improvement on the server.

New in Licas 6.7 (May 8, 2018)

  • Email service: remove spam filter option at first startup.
  • The Auto script function is now a dedicated Condition object that can allow math comparisons.
  • Save network config bug fixes for passwords. Xml structure update, so will need to create a new file.

New in Licas 6.6 (Apr 30, 2018)

  • Service bug fixes and improvements.
  • Some service bug fixes.
  • New module to install to allow for binary file search.

New in Licas 6.5.4 (Apr 24, 2018)

  • Important server bug fix with new change.
  • Link service: the getLinksFor method changed to dynamicLinksQuery and has a query object parameter for basic aggregations.
  • The Auto 'setPolicyScript' changed to 'setProcessScript' and applies to the auto engine execution script only.
  • 'createAdmin' method moved to MetaFactory.
  • Admin document bug fix. New admin iterations field to allow auto service to execute fixed number of behaviours and then shut down.
  • DataService moved back to sci package. Was moved to a 'secure' package name and so could not be loaded, so move back to service package.
  • Parallel Pick script element implemented. Limited to local server only.
  • New ScriptService service that executes a process script only. The script construction is slightly different now, with no compound names, but separate operator and condition fields.
  • In the Auto script - Input variable changed to a method-specific keyname mapping and processName removed. Output changed to filter and condition changed to function.
  • Communication error when invoking direct objects bug fix and also possible load service bug fix in 'addService' method.
  • In the text package: QueryConst.ASXML deprecated, use QueryConst.XML to create XML-based query instead.

New in Licas 6.5 (Apr 13, 2018)

  • Link service: the getLinksFor method changed to dynamicLinksQuery and has a query object parameter for basic aggregations.
  • The Auto 'setPolicyScript' changed to 'setProcessScript' and applies to the auto engine execution script only.
  • 'createAdmin' method moved to MetaFactory.
  • Admin document bug fix. New admin iterations field to allow auto service to execute fixed number of behaviours and then shut down.
  • DataService moved back to sci package. Was moved to a 'secure' package name and so could not be loaded, so move back to service package.
  • Parallel Pick script element implemented. Limited to local server only.
  • New ScriptService service that executes a process script only. The script construction is slightly different now, with no compound names, but separate operator and condition fields.

New in Licas 6.4.1 (Apr 9, 2018)

  • RSS feeds bug fix.
  • Sparql query service updates.

New in Licas 6.4 (Apr 3, 2018)

  • Sparql query service update and bug fixes.

New in Licas 6.3.2 (Mar 29, 2018)

  • Potential dynamic linking bug fix.
  • In linker service: getLinkedSources now getLinkSources and getRelatedSources now getLinkTree.
  • In problem solver: SOM re-added as it was before.

New in Licas 6.3.1 (Mar 21, 2018)

  • Dynamic linking bug fixes - NullPointer and concurrency.

New in Licas 6.3 (Mar 19, 2018)

  • Minor bug fixes, improvements. Uploaded on 19 March 2018.
  • Minor resource container updates.
  • Auto script updates, but not tested yet.

New in Licas 6.2.2 (Mar 8, 2018)

  • XML query bug fix.
  • TextModel now stores text as list of lines. Should be quicker to process.
  • Entropy equation performance imporvement and Ai_Heuristic Metric objects - getValue not getObjValue.

New in Licas 6.2 (Feb 12, 2018)

  • Major bug fixes, new features.
  • Basic publish-subscribe mechanism added to the ESB. The KeywordHandler and Info objects also modified slightly and some package name changes.
  • Some bug fixes in the base server and/or improvements.
  • Logger package bug fixes, including the UuidHandler.getUuid method.

New in Licas 6.1 (Jan 31, 2018)

  • Hashtable parser error. The transition to ArrayList and HashMap may have introduced one or two bugs, but they will quickly be removed.
  • Removed XML from Metafactory method names, as cosmetic change.
  • W3C Dom parser added, but should be used for documents only, not message passing.
  • W3c Dom the default XML Document in FileObject and InfoXml now.
  • Script_Invoke now only stores 1 link, as a sub-event.
  • AutoSecure - some protection to not allow some licas package names to be used.
  • Small error in ObjectInvoker.retrieveMethod if passing simple types.

New in Licas 6.00 (Jan 16, 2018)

  • GUI and service updates. Major lists update. Uploaded on 16 January 2018.
  • Service console auto-hide re-activated and some GUI bug fixes.
  • Almost all lists updated from (synchronized) Vector and Hashtable to (not synchronized) ArrayList and HashMap. This will improve performance, but if there are bugs, then please report any you find to fix them quickly. Everything should work as before. All interface calls will need to be changed for this. To help TypeConst.VECTOR and HASHTABLE are temporarily removed and ARRAYLIST and HASHMAP are added, so simply update where there is an error. It was automatic in the base system.

New in Licas 5.18 (Jan 10, 2018)

  • GUI updates and improvements. Now auto-hide option for services.
  • Behaviour Mediator update for clustering service.
  • New base DynamicJFrame class for the GUI interfaces. Extend it instead of JFrame, to be used for any common functionality.
  • Auto Script Engine class updates, with a parallel processing option added. Still need to add the script element.

New in Licas 5.17.2 (Jan 2, 2018)

  • Service and GUI bug fixes and updates.
  • BehaviourMediator updates for one remote server problem.

New in Licas 5.17.1 (Dec 23, 2017)

  • Minor service GUI updates
  • Definition classes moved into different package groups

New in Licas 5.17 (Dec 15, 2017)

  • Query engine bug fixes. Uploaded on 14 December 2017.
  • The auto script and engine had some bugs, now fixed.
  • Updates to query engine for potential bugs.

New in Licas 5.16.5 (Dec 3, 2017)

  • The core licas package includes java.awt.EventQueue, which is for processing Swing GUI events and is not directly available on Android. If specify the os to be Android - System.setProperty(“type.os”, Const.ANDROID), then the event queue will be switched off and not throw an error.

New in Licas 5.16.4 (Dec 3, 2017)

  • If call server to execute service type, can now be for any running service
  • LocalServer.isAdminKey method now public
  • Bug issue in JavaFX GUI fixed. All services should run
  • In the ai_heuristic package - bag-of-words update and bug fix, if word stem
  • The evaluator interface now throws Exceptions, so you may need to update any code that uses the API

New in Licas 5.16.3 (Nov 23, 2017)

  • Heuristic bug fixes. Uploaded on 23 November 2017
  • In the ai_heuristic package - bag-of-words update and bug fix, if word stem
  • The evaluator interface now throws Exceptions, so you may need to update any code that uses the API

New in Licas 5.16.2 (Nov 9, 2017)

  • Server upgrades and service bug fixes. Uploaded on 1, 7 and 8 November 2017.
  • Licas server package upgraded from Java 6 to Java 7. If any problem please let me know.
  • Internet package now includes a keystore and default untrusted licas certificate. Also option to accept any certificate, but keystore and manager used as default.
  • Feed service update for new SSL checks, streams and some config.
  • InformationService.loadDataContents change back. ObjectResource bug fix.
  • Logger now does not throw Exception when logging.

New in Licas 5.16.0 (Nov 2, 2017)

  • Licas server package upgraded from Java 6 to Java 7. If any problem please let me know.
  • ConnectionManager new method to allow any ssl certificate.
  • Feed service update for new security pass.

New in Licas 5.15.2 (Oct 26, 2017)

  • Problem Solver updates - knn and entropy frameworks can now be used to link distributed services. Try with the testDataB or testDataC folders, for example.
  • SOM temporarily removed because some functions need additional configurations.
  • TypeConst.isText evaluation does not include the basic string type now. Text file or String Resource bug fix.

New in Licas 5.15.1 (Oct 23, 2017)

  • Feed service bug fixes.

New in Licas 5.14.2 (Sep 29, 2017)

  • Email service bug fix.

New in Licas 5.14 (Sep 22, 2017)

  • Web Service updates, with some function to run a web service locally
  • Email service update
  • Default behaviour loop sleep time changed to 150 ms from 1000 ms. You should set this if it is too slow

New in Licas 5.13.1 (Sep 6, 2017)

  • Problem solver updates. The main thread of a service is not now started.
  • Behaviour panel updates. The main thread is now started automatically. Because the services now run continuously, the default sleep time is increased to 1 second, so it might take a while for any links to register.
  • The solvers now create dynamic links first and then convert these to permanent, so the behaviour is more indeterminate. They can also add with repeat runs, so choosing 'Run from current' can add more links.
  • The previous permanent link only algorithms are available upon request.
  • Some other updates and bug fixes to the linking and solvers. Also, 'addRelatedSources' renamed 'addDynamicLinks'.
  • The BehaviourMediator service now has a Register option. When selected, it will cluster the service metadata based on permanent links and return a metadata set of the clusters instead, for the main GUI graphic. It can then also be unregistered, but with a lot of services, this might produce a better view. Cluster list panel removed.

New in Licas 5.13 (Sep 1, 2017)

  • Problem solver updates. The main thread of a service is not now started. Use the behaviour panel to run this type of test, but faulty since switch over to dynamic
  • Most solvers now create dynamic links first and then convert these to permanent. They can also add with repeat runs, so choosing 'Run from current' can add more links
  • Some other updates and bug fixes to the linking and solvers. Also, 'addRelatedSources' renamed 'addDynamicLinks'
  • The BehaviourMediator service now has a Register option. When selected, it will cluster the service metadata based on permanent links and return a metadata set of the clusters instead, for the main GUI graphic. It can then also be unregistered, but with a lot of services, this might produce a better view
  • Save admin config separately for each SOA. So do not have to use default one

New in Licas 5.12 (Aug 29, 2017)

  • Save admin config separately for each SOA. So do not have to use default one.
  • Some problem solver updates. If get error running a test, then starting the threads might be a reason. With Link_Distributed, for example, don't start the threads. The architecture does not allow single invocations if running main thread loop. The links are now added as dynamic first. Can always set a high threshold to convert immediately to permanent.
  • Some other updates to the link service and related, and maybe a bug fix. Also, 'addRelatedSources' renamed 'addDynamicLinks'.
  • Other service updates.

New in Licas 5.11.1 (Aug 10, 2017)

  • Email service bug fix and updates.
  • SPARQL query form interface update. The documentation is still not complete and the service still needs more work, but it may be useful for several types of query now.

New in Licas 5.10.1 (Aug 10, 2017)

  • Admin key password update plus potential bug fix.
  • MetaFactory admin methods moved to MetaFactoryService.
  • SPARQL query form update, but still requires more updates.

New in Licas 5.10 (Aug 10, 2017)

  • Possible loop bug fix in main GUI graphic display and speed-up of metadata retrieval.
  • SPARQL query form still needs updating, so ignore any current issues.
  • Problem solver: MatchSolutions now MatchPair. No other change.
  • Other minor updates.

New in Licas 5.9 (Aug 10, 2017)

  • Problem-solver now uses a Result object for its reply. Different types, but it should only be a matter of changing the package name. SolutionSet now MatchResult. One or two variables removed to simplify the reply process.
  • EntropyGrid now integrated. If using and any problem, then if you send an email I will fix the problem.
  • GUI documentation split into 2 docs, with scientific now a separate document.
  • Other minor updates.

New in Licas 5.8 (Aug 10, 2017)

  • Problem-solver example bag-of-words bug fix
  • EntropyGrid not fully integrated, but can still use as stand-alone. New Result class in problem solver
  • For the All-in-One GUI, the scientific panels are now hidden as default. There is an admin panel config option to enable them
  • Other GUI updates

New in Licas 5.7 (Jun 27, 2017)

  • Text search added as a default service. If you installed the module, you should try to delete it first. It should delete OK. Then install the current version and the module is added as a default servce instead.
  • EntropyGrid update, so it should now work. Slightly different API.

New in Licas 5.6 (Jun 27, 2017)

  • Feed service updates.
  • ESB.autoManMetrics renamed serviceMetrics.
  • GUI security form update, but for later.

New in Licas 5.5.1 (Jun 27, 2017)

  • Monitor email bug fix.
  • Dynamic Links parser bug fix.
  • GUI security form update, but for later.

New in Licas 5.5 (Jun 27, 2017)

  • Feed service updates. Uses new config, so you cannot use the Info service for feeds now. You might need to note your addresses and query terms if still using the info service for feeds and transfer over to the dedicated feed service.
  • Behaviour mediator now saves and re-loads graph configs.
  • Minor update to main GUI allows you to remove a registered server - right-click on the combo box.

New in Licas 5.4.1 (Jun 27, 2017)

  • New quick startup menu, where you can load a service config directly, or load the main GUI.
  • Spam filter for email service now includes keywords for subject matching.

New in Licas 5.4 (Jun 27, 2017)

  • Bug fix for case where iconified GUI can get stuck if try to restore using main GUI list.
  • Spam filter for email service.
  • New Feed service to replace info service feeds. It has the same config so copy details accross. You can still use the info service feed option for the time-being.

New in Licas 5.3.1 (Jun 27, 2017)

  • Line Plot graph update.
  • Ai_heuristic package - MathStat.sd bug fix.

New in Licas 5.3 (Jun 27, 2017)

  • Service Factory form bug fix with jar factory.
  • Some service improvements and updates.
  • A small change to the html parser, but should be OK.
  • Documentation updated.

New in Licas 5.2.2 (Jun 27, 2017)

  • Installer 'temp' folder moved to installation folder, not user folder.
  • Some more methods added for the new secure server access.
  • Updates to Jaccard or Index Similarity metrics with with single objects. Intersection and Union now partially implemented for these, where the single objects need to be Lists or BagOfWords.
  • Documentation is out of date, needs updating.

New in Licas 5.2.1 (Jun 27, 2017)

  • Some important GUI bug fixes.
  • File service updated, now only passes file in packets, slow but works.
  • Binary coding changed to Base64.
  • Remote server access problem fixed.
  • Updates to the metrics in Ai_Heuristic.

New in Licas 5.1 (Jun 27, 2017)

  • Updates to the behaviour mediator graphs. There is a popup meu for quicker graph re-draw. Wait a few seconds now for any graph draw.
  • Click on the line plot at a set of points to get the service id list at the bottom of the graph.
  • Other minor service updates.
  • EntropyGrid added but not tested yet.

New in Licas 5.0 (Jun 27, 2017)

  • ESB extends AutoSecure and 'removeService' method permission now added.
  • HttpServer is no longer a Service and ESB is removed as a parent to any service, so base services have no parent to provide some more protection for the server. A direct reference to either HttpServer or ESB now requires the admin key.
  • New interface class LocalServer, for invoking server methods. It should define all server methods that you access. This may require minor updates but it should be very straightforward. Where you previously used HttpServer.getHttpServer(pw).getESB(admin) you now need to use LocalServer.getApi(pwd)... If any method is missing, I can add it upon request.
  • You will have to update the Run_HttpServer class if you use one, as HttpServer stores the ESB in a different way now. See the code for details.
  • Also some URI methods moved to Handle for default server URI element or String.

New in Licas 4.37.4 (Jun 27, 2017)

  • New Service handshake method, to check that client exists and can be contacted.

New in Licas 4.37.3 (Jun 27, 2017)

  • Service and Server updates and bug fixes. Uploaded between 12 December 2016 and 20 January 2017.
  • Serious query model bug when adding more than 1 constraint fixed. Released now because of this bug.
  • ESB now extends AutoSecure to make the API more secure.
  • Handle.createBaseServiceHandle now called Handle.createServiceHandle.
  • Service updates - Query form, Sparql Query, Rss feeds, Email, Web Service.
  • Auto invokeBehaviour update and bug fix.
  • If use 'messageReply' and not run the Auto service thread, then the messages will not get processed, but now the Autonomic Manager has an internal loop to check for this.

New in Licas 4.36 (Oct 13, 2016)

  • Service and problem solver bug fixes. Uploaded on 13 October 2016.
  • Clustering algorithms bug fix or update seems to produce more links on the display.
  • A new 'Dataset' section is passed through sendInfoXML to the behaviour mediator. You can select it to draw a new Line plot graph of the distances. See also the change to the sendInfoXML method definition.
  • Behaviour Mediator now allows a line plot. A bit buggy, but should draw correctly.
  • Documentation needs updating, but it is same as current graphs.

New in Licas 4.35.4 (Sep 20, 2016)

  • Some service bug fixes.
  • The licas server has been upgraded to Java 6 and is Android compatible.

New in Licas 4.35 (Sep 20, 2016)

  • licas_text package: query model api changed slightly in attempt to make it easier to use.
  • Service GUI interface class now includes a close form method.
  • Info service updated, now includes an rss feed option.
  • New InfoXmlStream resource, IdContainer removed, use ListContainer instead.
  • Info Service URL resource bug fix. Some other bugs in info service and related fixed, with metadata, initialisation, etc.

New in Licas 4.34 (Sep 20, 2016)

  • The email service can now monitor your email accounts and let you know when new emails arrive. Shouldn't stick, but remember Task Manager in case.
  • Web service working again after a bug fix, due to a runtime error.
  • New CallPool in licas package, for multi-thread running of CallObjects.

New in Licas 4.33 (Sep 20, 2016)

  • New minimum service console if just using the service GUIs. Can toggle between it and the main GUI.
  • Can now load and save basic SOA. Also, can load the main GUI and as a first instruction, load in an SOA.The other config is performed automatically.
  • Some other bug fixes.
  • InformationService GET method. Const.RNDSEP used instead of Const.NULL.
  • ai_heuristic package: for MetricDataset construction use toDataset, and for MetricValue use toValue now. New entropy-style algorithm VarGain.
  • Some complete test programs in an examples folder.

New in Licas 4.32.4 (Sep 20, 2016)

  • LinkService createScript, data type bug fix, AI services in general.
  • Server address updates for Android OS.
  • SPARQL query service updates. Also re-named Web Query.
  • TreeNode.containsChildNode renamed hasChildNode.
  • TreeNode.getChildNodeDeep bug fix.

New in Licas 4.32.1 (Sep 20, 2016)

  • Some base server methods could not be invoked, making server registration difficult. Bug fixed now.

New in Licas 4.32 (Sep 20, 2016)

  • New Sparql Service Query Interface in the text search service. Can do real sparql queries based on RDF, documentation to follow. Other important bug fixes, so released now.
  • Bug fix in MetricDataset.toDataset(...).
  • Bug fix in some xml parsing.

New in Licas 4.31.2 (May 20, 2016)

  • REST interface bug fixes. This should be more flexible now.
  • Re-compiled the base licas package to remove some third-party jars.
  • Moved SOAP classes to a new package, so the base licas package should be Android-compatible now. I built an apk file using it.
  • Documentation updates in version b.

New in Licas 4.31.1 (May 20, 2016)

  • EvaluateService removed, so extend DataService instead.
  • Then Behaviour-Auto, so same as current setup, with a tiny bit of new functionality.
  • REST protocol integrated into the communication mechanism.
  • MethodHandler.createMethodCall now MethodFactory.createMethodCall. New MethodFactory class.
  • MethodInfo.setServerURL deprecated and will probably be removed, so do not use.
  • Handle.createNewServerUrlHandle now createNewServerHandle.
  • Default parsers not now overwritten.
  • Web service method info now has getWsUsername or getWsPassword methods for account password. Bug here with service password. Other comm bug fix.
  • ServiceFactory bug fix.
  • New data package for data and query models.
  • Other minor package/name changes, see the javadocs for details. Every update is automatic.
  • External modules will not now work, but will be updated for the next version.

New in Licas 4.31 (May 20, 2016)

  • New option to request a method execution and also store the result of it on a service. The client can then ask for the result at some later date, using the same ID. Different to asynchronous, as client-driven, but might help with a mobile client, where the connection is intermittent
  • Small communications error found

New in Licas 4.30.1 (May 20, 2016)

  • The BehaviourMediator now has final clustering phase, so each cluster will be drawn in a single colour
  • Some (ReplySet) text output updates
  • New KD Tree structure in ai_heuristic. Maybe not 100% generic, but used for the nearest neighbour clustering. It currently requires a double[] as the only data value, for each data row
  • A nearest neighbour that uses a KD Tree has been added and can be used in the same way as the SOM

New in Licas 4.30 (May 20, 2016)

  • The ai_solver.som prob solver package now ai_solver.central. The ai_solver.link package now ai_solver.distrib.
  • Minor interface changes to the AI/Problem Solver code, with Object references replaced. Easy to update as getValue() returns the Object.
  • New EvaluationSet class for the problem solver evaluators.
  • Note the changes to MetaFactory.createMethodXML, as types now required, but one interface copies earlier one for names.
  • Behaviour Mediator updates, including using the GraphStream graphics package.
  • Minor updates to the Query process and StringHandler.tokenize.
  • Nearest neighbour and KD_Trees not fully implemented or working yet.

New in Licas 4.29.2 (May 20, 2016)

  • Information Service viewer updated, GUI converted to JavaFX.
  • Problem Solver: SolverMediator renamed ProblemSolverMediator, to avoid confusion.
  • Problem Solver: The module interface has been broken up into separate classes that can be added or left out. The method list is the same, but you need to access or go through the storing class as well now. This is for all calls to the two factory objects - HeuristicFactory or SolverFactory - see the module and user guides for details. Updating the other problem solver classes for this was automatic.
  • A potentially important bug fix, where the Auto class ignored input messages passed to its behaviour methods. OK for the default classes that can generate these internally, but not if using in a more general sense.
  • A centralised problem solver like the SOM NN can now return its result to the related service. It is returned to the messageReply method that now ignores a NOACTION message state type.
  • Some documentation updates.

New in Licas 4.29 (May 20, 2016)

  • String-based similarity measurements (Levenshtein) updated, where a String type in a MetricDataset is automatically recognised.
  • New external module for the Simmetrics package. Some string comparison functions added.
  • Other bug fixes.

New in Licas 4.28 (May 20, 2016)

  • In main package: The updateDynamicLinks functionality mostly moved to the LinkService from the Mediator. Still works the same way.
  • In problem solver: SOM implemented. Runs in the GUI with a token connection to a service.
  • Bug fixes in the scientific classes.
  • A reduced output trace to help with memory problems, but needs to be managed.

New in Licas 4.27.3 (May 20, 2016)

  • Information Service and related resources updates. Services now compiled under JavaFX, so smaller jar file.
  • In licas - EvaluateService moved to the sci package with new EvaluateData class.
  • BasicService class removed and base implementation is now the DataService.
  • Service control classes can now extend either ServiceInterface or AutoInterface.
  • Auto control loop reduced to writing one abstract method.
  • Possible communication/password bug fixes.
  • In the problem solver package, to help with a possible modular setup - LicasSolverConst and LicasHeuristicConst removed. Only SolverConst and HeuristicConst now.
  • The methods from these classes moved to factory objects - SolverFactory and HeuristicFactory. Some static methods now public instance ones, so you may need to look for the method again. Then module versions, as for the services. Not added to the GUI yet, so cannot be read.
  • AiEval renamed EvaluateGenData and AiEvaluateService renamed EvaluateSolverData, as not really used as services.
  • Other bug fixes and updates. Note that a direct reference to the ESB now requires the admin key, so minor updates to the server.

New in Licas 4.26 (May 20, 2016)

  • GUI and service updates, server updates, other bug fixes. Uploaded on 10 November 2015
  • Options to load and save different GUI config files
  • Some query updates and basic server stats. Each remote message is logged, but very basic version
  • Some updates for loading service modules, including a new service module to test with
  • Documentation updates and other bug fixes
  • Upgrade the GUI to 64 bit Java. If a problem I can change back to 32 bit

New in Licas 4.25 (May 20, 2016)

  • Bug fixes, GUI, service and serializer updates. Uploaded between 24 September and 2 October 2015.
  • Serializer updates and save/load from the GUI. Still not 100%, but you can test it for suitability.
  • File Service, packet size option fixed and allows uploads as well.
  • Behaviour Panel bug fix.
  • Message packet size may now be working better.
  • Temp and Data folders used for the automatic or temporary files that are created, so look there instead of the base app folder.
  • All 3 dynamic links levels can be returned and Sigmoid function can be tried. Note that it might start at 0.5 or something.
  • ParserDef moved to ai_heuristic package and all default parsers implement it.
  • HH Grid framework extended to multiple columns. Might be useful if multiple features or problem parts, for example. Only max number of solutions now, for both matching or hill-climbing.
  • Other bug fixes.
  • The documentation is slightly out of date, but will be updated.

New in Licas 4.23.3 (May 20, 2016)

  • Bug fixes, GUI, serializer and problem solver updates. Uploaded between 17 August and 17 September 2015.
  • The service serialization has been moved to a ServiceSerialize class. It still needs testing, but can provide for a type of selective serialization.
  • 2 methods to stop and re-allow services to be added to another service, added to the base Service class. Can therefore run a server when new services cannot be added to it.
  • A new hill climbing search algorithm with a 'Search_Hill_Climb' tag.
  • Data files and other bug fixes. Data type sometimes now the resource type, when retrieved for display.
  • BehaviourMediator, InformationService.
  • Some important Parser updates and bug fixes - ParamInfo, dynamic links XML.
  • Small amount of stats processing for the dynamic links and problem solver. Still down to interpretation, but output is displayed at the end of a test run.
  • The timer in the Info Service viewer should now shut down automatically.
  • InfoURL returns the file contents now, not the URL path.
  • Other bug fixes.

New in Licas 4.22.3 (May 20, 2016)

  • Bug fixes, GUI, server, script and threading updates. Uploaded on 7 July to 1 August 2015
  • GUI problem solver panel updates, one info service bug fix, some others
  • The stand-alone server (licas package) now has an implementation of the ServiceFactory, where some methods were missing and should now work with the solver test run
  • In the Problem Solver - Hyper... classes renamed Grid
  • Other class and method names updated, to try to allow for other framework types
  • The GUI script values changed to make more sense. You should be able to load in a script and click the 'Update' button to update it in the GUI
  • The distributed cluster algorithms working better, as a comm fault was a problem
  • Problem Solver manual updates
  • The client-side requests are now threaded uing java.util.concurrent (requires java 1.5+). Very basic implementation

New in Licas 4.22 (May 12, 2015)

  • Some metadata changes, in particular when saving to or from a file using the GUI menu 'Save SOA' options. This will change the existing metadata structure, so if this is currently used and there is a problem, you will need to contact me and I will try to write a convertor. It is unlikely to be a perfect solution in any case. You may need to manually add parameter sections for constructors, for example, so even not all of the default services can be automatically saved and re-loaded, but more basic configs can.
  • The data generator script has been updated, so that they can be re-initialised through the script again.
  • The parser classes have been updated a bit. The Parsers 'public Object serialize(Object obj)' renamed 'public String serializeToString(Object obj)', with a new 'public Element serializeToElement(Object obj)' and 'serializeToFile' added. It is mostly used internally by the system communication, but if you use it and expect to receive a String, then simply update to serializeToString in the next version. Note you have to use one of these 3 methods now.
  • The Parsers.parse method now requires either a String or an Element as well. If passing an Object, you need to call parseObject(obj) instead.
  • Also in Parsers, the 'createObject' method has been separated and some more strict typing added to the parsing in general.
  • There might have been an infinite loop depending on how the default parsers were used, for simply a String value. This particular bug should be fixed now. All of the default methods should work as before.
  • There might be some performance improvements.
  • There is a chance of bugs with this update, so if any are found, I will be happy to correct them.

New in Licas 4.21.1 (Apr 15, 2015)

  • Re-compiled under J2SE 1.5 and new look logos, as the mobile client is no longer integral to the system.
  • New Message Board service, with some bug fixes. Released now as easier to do it this way and hopefully get some feedback on any remaining bugs. The refresh rate is currently every two minutes.
  • I do not have a proper distributed environment to test with. It might be best to try it in a restricted environment to start with. Apologies for quick release so soon after version 4.20.
  • InformationService and info resource objects updated. Some of the automatic metadata creators for the resource objects might have been out of date. The GUI can now be used as a slide show and a new service is on the way. New release now because of the other updates and bug fixes
  • When the Service Factory is opened, the Email service form accidentally opened as well. A bit of testing code was accidentally left in it, which has been removed.
  • IP now just 127.0.0.1, for example. URL is now http://ip+port, and URI is the full Handle description. The method names have been updated to try to avoid confusion.
  • Handle.getUri, hasUri and removeUri renamed getURL, .... AddressInfo.serverIP changed to serverURL. IP address used instead of URL in a lot of the code, so this will be changed to URL wherever it is found, so will probably need to check for that. HttpServer.getIpAddress now HttpServer.getServerURL. Probably worst is MethodInfo.setServerUri and related changed to setServerURL, etc. Also, ...Uri is renamed ...URI (capitals). You will need an editor, but it only takes seconds to update.
  • IpV6 addresses can change the ip format and so the code now explicitly states the ipV4 format. The code has also been updated to try to remove the loopback address as the default one. See the new code example for how to start the server.
  • Other bug fixes and improvements that might help with some of the functionality as well.

New in Licas 4.20 (Mar 31, 2015)

  • Re-compiled under J2SE 1.5 and new look logos, as the mobile client is no longer integral to the system.
  • InformationService and info resource objects updated. Some of the automatic metadata creators for the resource objects might have been out of date. The GUI can now be used as a slide show and a new service is on the way. New release now because of the other updates and bug fixes
  • When the Service Factory is opened, the Email service form accidentally opened as well. A bit of testing code was accidentally left in it, which has been removed.
  • IP now just 127.0.0.1, for example. URL is now http://ip+port, and URI is the full Handle description. The method names have been updated to try to avoid confusion.
  • Handle.getUri, hasUri and removeUri renamed getURL, .... AddressInfo.serverIP changed to serverURL. IP address used instead of URL in a lot of the code, so this will be changed to URL wherever it is found, so will probably need to check for that. HttpServer.getIpAddress now HttpServer.getServerURL. Probably worst is MethodInfo.setServerUri and related changed to setServerURL, etc. Also, ...Uri is renamed ...URI (capitals). You will need an editor, but it only takes seconds to update.
  • IpV6 addresses can change the ip format and so the code now explicitly states the ipV4 format. The code has also been updated to try to remove the loopback address as the default one.
  • Other bug fixes and improvements that might help with some of the functionality as well.

New in Licas 4.19.1 (Mar 25, 2015)

  • Search engine invoking now improved where it should be possible to get lists of URLs for different vendor searches and page numbers. Some other bug fixes here as well.

New in Licas 4.19 (Feb 18, 2015)

  • The script 'autoEngineAdmin.xml' should have been removed from the xmlSchemas package as it has been re-written.
  • Some new Auto script elements - While and Otherwise. Also a number of important updates and bug fixes, which is why the release is now.
  • The base Service class is kept abstract, so you need to use or extend BasicService. An empty implementation of setInstanceValues is OK unless you actually use it, but you have to add it to any class that uses it. It is a bit of a new idea, so it might be confusing.
  • A simple json parser added to the text package.
  • Also when removing symbols, hyphenated words are now kept, but there may still be a problem with the end of lines. The decision here is to remove all hyphens at the end of lines, so hyphenated words should be OK anywhere else, but may lose the hyphen if they span two lines.

New in Licas 4.18.1 (Feb 4, 2015)

  • In the Auto script, a source reference can now be a web service as well, referenced by the wsdl document
  • Most element 'create' methods moved to the MetaFactory class itself, so maybe a method move there
  • Some WSDL parser updates. Still need to be careful when using, but it should be easier to setup now, if using the code by itself

New in Licas 4.18 (Jan 6, 2015)

  • AutoServer now called EBS for Enterprise Service Bus. This puts it in context of finding services and passing the methods to execute on them. EBS.'serverService' renamed 'executeServiceType'. 'asServerService' now 'asTypeService'. HttpServer.'hasAutoServer' now 'hasESB'. No real changes here, but maybe easier to then map to the known SOA architecture.
  • AutoEngine script changed completely to a new BPEL format, with some additions. See the examples and the 'licasAuto' document for details.
  • BehaviourService removed, where you can now use Auto directly, or a new DataService for scientific testing. LinkService extends DataService instead. Most of the auto loop now passes MessageInfo objects only.
  • New sci package for the scientific services. Simply update where there is an exception. It looks like a lot, but it will require only a small amount of coding to update. Backward compatibility should be checked for, where classnames in scripts should get updated. The only major user re-write is a new script format.
  • Some service GUI interface updates. Should be able to use passwords with utility services.
  • In the text processing package, whitespace was added when removing the xml tags (XmlHtmlHandler.removeXmlTags) , which has been fixed. The specific method also parses badly-formed, or bits, of XML, where any alternative XML parser can be used instead.
  • Random number generator bug fix when using from the GUI.
  • With the SOM, sometimes a smaller value is better, depending on the evaluation function. So an explicit method call can be used to return the best node.
  • AI algorithm updates.

New in Licas 4.17.3 (Nov 28, 2014)

  • The Hyper-Heuristic Grid had evaluation bugs that are now fixed. Negative values can also be considered. A larger Max_Matches value is probably OK, but it will probably be modified again sometime as more research is done.
  • The Grid framework has been changed slightly as to how it removed solutions between other ones. The maximum number should now be made small in the first instance. Nothing definitive here, so it might change again and if it causes problems then I can change it back.

New in Licas 4.17.2 (Nov 27, 2014)

  • The Email service GUI fixes. It should work better now and is still limited to sending text messages
  • AI algorithm Hyper-heuristic updates. The Grid framework has been changed slightly as to how it removed solutions between other ones. The maximum number should now be made small in the first instance. You should update your scripts to the default ones in the solver folder, if you use them. The Max_Matches value. Nothing definitive here, so it might change again and if it causes problems then I can change it back

New in Licas 4.17.1 (Nov 20, 2014)

  • Small menu for utility services through the GUI.
  • Note that the GUI initialisation should now be passed the full service URI and not the server URI. See the code.
  • The InformationService had a recent bug when trying to retrieve its contents. Should be fixed.
  • Handle.removeFirstServiceHandle or Handle.removeLastServiceHandle were incorrect.
  • Name change. Hyper-heuristic matching grid classes moved to 'grid' from 'genetic' packages.
  • The licas_exception package has been moved to the logger. Again just a package name change, but also some more functionality.
  • There is a new GUI interface for the email service. It is only to configure it or invoke a send request, not a fully working client. It is also still under construction, but this release is for the bugs mentioned above. The documentation will also be updated in the next version, but the GUI works in part (HotMail), so it can be tested.

New in Licas 4.17 (Nov 4, 2014)

  • The SOM neural network has been integrated with the main system. It is possible to run a test using it, but as there is only 1 data row, it is not very useful. The data row is the list of services' data. This will be looked at again in the near future.
  • Problem solver package and name changes again, to try to make things clearer. I will be happy to assist with resolving any confusion, if you are adding your own classes.
  • Behaviour panel bug fix and other GUI updates.
  • Query service updates. You should be able to perform text queries over the metadata as well.
  • NumberDataGenerator was a little bit incorrect.

New in Licas 4.16 (Oct 16, 2014)

  • More changes to the class structure in the problem solver package, to try to simplify the hierarchy. Some of the classes are probably not needed and so have been removed. Some name changes, but the same functionality.
  • A number of bug fixes in both the problem solver and ai heuristic packages. Some potentially serious ones. If something did not work before it might work now, but this cannot be guaranteed for everything. Reporting any bugs will speed this up.
  • Query form: the numerical query type should now be correctly identified
  • ServerConfig is now protected in HttpServer and so can be accessed.
  • In the Admin panel of the All-in-One GUI, max nodes referred to all services, including the child or nested ones. This is now more accurate, referring to the base services in general.
  • Some communication bug fixes. Using a packet size might have had 1 bug.

New in Licas 4.15 (Oct 1, 2014)

  • Some more GUI and service updates, with a number of bug fixes.
  • New query form for the query panel and websearch folder.
  • New server admin contact field, so re-save config settings as soon as load in GUI.
  • Service updates for the messenger and the web service.
  • Text processing package bug fixes and updates.

New in Licas 4.14 (Sep 12, 2014)

  • MessageService - 'Remove Conversation' button has been removed.
  • WebServiceMethodInfo constructor does not currently set the parameters list. Added, of type ParamInfo.
  • Ability to drag files to copy them missing from the File Service fixed.
  • New config options for both the file and the web services.
  • HTTPS protocol now possible for the server.

New in Licas 4.13 (Sep 9, 2014)

  • Some service bug fixes and minor updates:
  • Minor bug in the ServiceWrapper, asks for an Auto not a Service class. This is fixed and allows the service apps to work properly again.
  • New group addresses setting for the message service.
  • AI heuristics, Cosine function now included as a Taylor series.

New in Licas 4.12 (Aug 12, 2014)

  • A minor error with the query engine has been fixed.
  • Final refactoring probably. Package 'org.licas.autonomic' renamed 'org.licas' and 'org.licas.autonomic.manager' renamed 'org.licas.autonomic'.
  • Added activation functions to the dynamic linking mechanism and updated. Possibly an error fix as well, especially with the GUI query panel.
  • InformationService initialisation error fixed - if it did not have a 'Data' element in the admin script.
  • The GUI AI panels now also allow the constructors to be set, including an admin (with possibly auto policy) script.
  • Also updated for more class types and using the service factory to add a new solver factory might even work. Tests have added a new solver factory to the GUI config script and changed the values accordingly.
  • Web Services service updated.
  • Some documentation updates.

New in Licas 4.11 (Jul 31, 2014)

  • ai_heuristic package: Updates to some of the functions for the more extreme cases.
  • Function.isBetter had the comparisons the wrong way around (val1 < val2) instead of (val2 < val21), etc.
  • BowHeuristic.sortTopTermOrder had wrong comparison sign, making the evaluations incorrect.
  • Linking services needed updating, where the algorithms are now a bit more correct. All data is used but not all clusters info is available. Note that the base class is run by an auto policy script.
  • Problem Solver panel has been updated, with a new place for entering the heuristic variables. You might need to check your script again.

New in Licas 4.10 (Jul 18, 2014)

  • In the ai_heuristic package: AlgorithmCompare has been updated for factors like best data point indexes.
  • New Interface for SingleLinkCluster, so if using, might need to change the input dataset structure, but again, should be easier to use afterwards.
  • Function updates - base functions will now return a better value as it is measured, so a larger value or a smaller value, depending on the function itself. A new isBetter method in the function can then be used to compare two values.
  • In main licas package: BehaviourService now abstract again, with a new LinkService for default functionality.
  • MethodInfo.createMethodCall moved to static method in MethodHandler.
  • Some major updates with the autonomic processing. The new LinkService is now controlled by a policy script, that is created by default using the createPolicyScript method. This allows the static code to be dynamically configured.
  • The AutoEngine and related components have been updated accordingly.
  • Future updates and doc updates will make this more clear.

New in Licas 4.9.2 (Jul 9, 2014)

  • Ai Heuristic package: Function now has a set of config parameters and some functions should be initialised with them, instead of using the dataset parameters. You may need to check the initialisation criteria again, for example, NGram.
  • Some object conversion improvements - for the basic number types.
  • Also in 4.9.2, simple int cast mistake corrected, so please check again.
  • Some new functions and addition of a SOM neural network.
  • Still need to integrate SOM with the rest of the system, so you can see how to use the SOM directly from their web site (Java and C++ pages).
  • Problem Solver: some package name changes and OptimiseGrid now HyperHeuristicGrid. Overall functionality a bit limited, so new package names reflect that.
  • Still all works as before, so it is only a matter of updating some package names, but the new help methods should make things easier.

New in Licas 4.9.1 (Jun 30, 2014)

  • Ai Heuristic package: Function now has a set of config parameters and some functions should be initialised with them, instead of using the dataset parameters. You may need to check the initialisation criteria again, for example, NGram.
  • Some object conversion improvements - for the basic number types.
  • Some new functions and addition of a SOM neural network (http://jknnl.sourceforge.net/). Still need to integrate with the rest of the system, so you can see how to use the SOM directly from their web site (Java and C++ pages).
  • Problem Solver: some package name changes and OptimiseGrid now HyperHeuristicGrid. Overall functionality a bit limited, so new package names reflect that.
  • Still all works as before, so it is only a matter of updating some package names, but the new help methods should make things easier.

New in Licas 4.9 (Jun 18, 2014)

  • Autonomic Manager updated with some default functionality. See the new 'licasAuto' document an related script. Note that you do not have to use one.
  • In the ai heuristic package, 'LearnedFunctionSingle' changed to 'FunctionLearn' and some minor interface changes. Everything still works the same way, so it is just a matter of changing a class path or something. A 'newInstance' method needs to be implemented for some derived functions however, but it is simply that.
  • Basic implementation of a Markov model and Info Gain input data structure improved.
  • Some of the Object parameters have been removed, but are replaced by the licas 'MetricDataset' one.
  • The default 'sleep' time in the Auto class was set to 5 seconds, which is quite slow, so changed to 1 second, also monitor lock removed.
  • Potentially serious bug with parsers - the element 'detach' method also removes from the list, where the loop indexer can then skip over something.
  • When adding attributes to XML elements, need to make sure that neither field is null. Might be a current bug.
  • Try for new version this week.
  • A lot of recent changes, so continue to tidy this up and fix any bugs, but definitely download current version and update as required. Useful feedback appreciated.

New in Licas 4.8.1 (Jun 4, 2014)

  • Changed idf in ai_heuristic to Math.log(doc/count) but this can now produce a value of 0 if 1/1, so care with that. Also the BowHeuristic.sortTopTermOrder is incorrect
  • New sort algorithm and minor update to the interface to the other ones

New in Licas 4.8 (May 22, 2014)

  • Creating variable instances from the admin script should now be possible. This requires that you add a method to your own service class, so the base Service is now abstract with a default BasicService version, with the method implemented. Everything else works as is and the call to create the variables is automatic. See the licasUserGuide for an example
  • New utility Email service
  • The communication IDs have been moved from Auto back to Service. They can be useful without the Auto functionality and so this means that you do not need to add empty Auto-derived methods to use them. Now saved as MessageInfo objects with timestamps and tries to clean-up any stored IDs older than 3 days
  • Some updates to the web search engines, plus some changes there
  • Some updates to the ai heuristics. String descriptions should now work better, for example, an Integer parsed from a double
  • Double and long types added to the heuristics, but might need to cast to a reply to Double now. New random number generators and some new algorithms. Lots of package name changes, but all code works the same, so it is only a matter of re-declaring the package name
  • There was an error with MetricCompare - if adding MetricDatasets with Vector lists, these are converted to Hashtables first and will lose their ordering. New version will keep the ordering, but Vectors and Hashtables still used

New in Licas 4.7 (Apr 24, 2014)

  • The code is still J2ME CDC and Java 6.
  • The lightweight server GUI (on DCS) has been updated to Java 8 and does not now load in a jar factory.
  • There are a number of minor changes that you will find and require a single update to correct. Everything works in the same way as before.
  • For the InfoResources - new infoDescr parameter for getInfo or getValue.
  • New resource containers that perform specific functions. Not fully tested but should work, so please email any feedback.
  • The InformationService can now be initialised with a resource through the admin script during the construction. It was not possible before. Creating a resource also now slightly easier.
  • For the InformationService - getSourceInfo also now has infoDescr parameter and getDataValue now getValue (also BehaviourService).
  • The NetworkParser and related are now called SoaParser and related. There is a new NetworkParser for the registered list of servers that can be accessed through the GUI.
  • Minor bug fix. If you call getFullPath on the server, it returns the HttpServer part twice. It should add it only once.
  • Some other minor changes. If something does not work, it is likely to be a single word change as indicated, but these updates should make things more clear.
  • RESTful client-side web services removed from package, as package is server-side there. Can stil use SOAP.
  • The Javadocs have been updated.

New in Licas 4.6 (Mar 26, 2014)

  • InfoResource updates, including how data is retrieved. In the InformationService: loadFile now called loadDataContents, and loadFilePath now called loadDataDetails. Also now, MetaFactory.createDataXml and other InfoResource updates, so might need to check this. All still works the same way
  • Potential problems with different data types fixed. Lots of changes there
  • Main GUI ServiceFactory updates. You should be able to change default settings but can revert back if you then delete your own setting
  • Method name change: LicasConfig getServiceModule... now just getService..., but easy to check for, so not a worry
  • Server GUI updates, including generic invoke method panel
  • Http Requests: If the server is password protected, a browser request can still make subsequent calls for other documents. Possibly only works for an uninterrupted call
  • Documentation updated. Feel free to report any bugs

New in Licas 4.5 (Mar 6, 2014)

  • Communication protocol updates:
  • MethodInfo: 'getMethodParams' renamed 'retrieveParamValues' as it extracts the value from the ParamInfo object. New 'getMethodParameters' method to retrieve the list of ParamInfo objects themselves.
  • Some type checking in the restful-style communications is now possible - added as a 'pts' parameter. Also one bug fix.
  • Some provision for Array parameters in both the XML-RPC and the REST-style HTTP addresses.

New in Licas 4.4.1 (Feb 10, 2014)

  • Some service updates, including new binary or image resource
  • Possibly some bug fixes in the query parser and process
  • The linker learn methods have never been updated, so moved to the problem solver package

New in Licas 4.4 (Feb 7, 2014)

  • Some service updates, including new binary or image resource.
  • Possibly some bug fixes in the query parser and process.
  • The linker learn methods have never been updated, so moved to the problem solver package.

New in Licas 4.3 (Jan 9, 2014)

  • A basic security manager has been added. You can configure specific file locations for Internet access, but please check first.
  • Basic interface to WordNet added in the text package.
  • Some other GUI updates and bug fixes.
  • The Logging package has been updated. Now uses a single factory instance and is initialised by the command LoggerFactory.setLoggerFactory(new CustomLoggerFactory()) or something similar. Requires minimal changes to your current code.

New in Licas 4.2 (Nov 27, 2013)

  • Retrieval of files, including html, as in a basic web server, without the licas services. So you can now download HTML to your web browser directly.
  • Some provision for sending images as part of an html page download.
  • Minor bug fix in the ai_heuristic text processing.
  • Error in the jLog2 tokenizer fixed. It does not now add empty tokens.
  • Some user guide doc updates.

New in Licas 4.1 (Nov 12, 2013)

  • Bug fix with Web Service service invocation. Maybe still a timer error
  • New GUI interface to the Information Service, for loading in data
  • New GET method in Service class, overriden in InformationService, to return content from http call
  • The invokeBehaviour method interface changed, where the service password parameter has been removed
  • Some other class package moves, but still all the same code
  • If there are specific queries, then please send an email, as further tutorials, etc. might be a while

New in Licas 4.0 (Oct 28, 2013)

  • With the recent changes, everything has been bumped up a version level.
  • Meta classes split into current package and new model package for the description objects. Some constant values moved from Const to new MetaConst class, and some new functionality.
  • Problem Solver interface changed slightly. The single link service has been moved to the problem solver package.
  • A whole lot of bug fixes and minor updates. You might need to check over things if programming, but most changes should be forced.
  • PasswordHandler update - now checks both full URI and uuid only.
  • The parameters list passed to all Auto-derived evaluateBehaviour-related methods changed from Vector to Hashtable.
  • Minor bug in the XML package fixed.
  • If there are still errors, then please excuse. They will get fixed quicker with feedback.

New in Licas 3.58 (Oct 16, 2013)

  • Ai-heuristic package: entropy corrected and looks better now. Also new Information Gain algorithm. Gives a similar result to a test example.
  • Licas_text package: QueryMediator update for the default metadata matching. Now has default true (Any_Structure), or other types of matching (All_Partial, All_Exact, Values_Partial, Values_Exact). Still only for testing but might be useful.
  • Load / Save SOA network parsing updated, but still limited. Now passes a hashtable instead of a vector file list. Saving a behaviour network is currently not possible because the data generators do not have empty constructors.

New in Licas 3.57.2 (Oct 7, 2013)

  • Inverse Document Frequency calculation - Idf, in the ai_heuristic package changed back, with log factor removed.

New in Licas 3.57 (Oct 2, 2013)

  • Information Service tidied up a bit more, but still needs further testing.
  • Other' service category renamed 'Personal'.
  • Some package name changes and minor interface changes to the ai_heuristic problem-solving package. Relatively easy to update to it. New Kullback-Leibler and Entropy evaluations.
  • The Hashtable that defined the path in the linking structure has been replaced by a dedicated Tree structure from the heuristic package. The adding links method now only has the simplest interface that uses Vectors. If that causes problems, I can add the other methods again.
  • The server graphic is staggered a bit more, to space out link lines. If it is not the easiest to look at, then I can change it again.
  • Some bug fixes related to the above changes.
  • The documentation will be updated in a day or two.

New in Licas 3.56 (Sep 18, 2013)

  • Some major bug fixes and new Information Service:
  • Service Config form - 'Service or Gui Class' section needed correcting again. Changed the class that is chosen for the GUI.
  • New MetaFactory class to automatically create meta XML parts.
  • InformationService implementation changed. Can now store different information types through a resource object. Not fully tested but should work as before. Moved from the services package back to the main licas package.
  • Some testing of the evaluation metrics (euclidean distance, etc), they should be more reliable now.
  • String evaluator change - for adding / multiplying, etc. But this is made up for consistent values only, in any case

New in Licas 3.55 (Sep 7, 2013)

  • When first use the All-in-One GUI, problems with initial config file fixed.
  • Services now stored under categories as well. Existing services should get assigned a default category, but can then be changed.

New in Licas 3.54 (Aug 19, 2013)

  • Going over some features again has found a number of bugs and allowed some improvements.
  • All-in-One GUI updates, with some bug fixes and graphics improvements.
  • Query process through the GUI now integrates with a basic linking mechanism.
  • Behaviour and linking classes updates. New linking service, for testing purposes.
  • Might need to check the linking method parameter interfaces again.
  • Some more serious bug fixes included: ?PasswordHandler updated to allow full Element Handle paths for the service ID. Useful for a GUI, for example, that connects to more than 1 server.
  • BehaviourService 'getAllData' bug fix.
  • The server was always completely cleared of services before running a problem solver test. Methods now added to keep some services and remove the rest. So a behaviour mediator can be loaded beforehand, for example.
  • Might be a problem calling the 'serverService' method on the server remotely. Parsing problem using the ElementParser - a bit I wrote myself, so now fixed.
  • In the problem solver package - InformationMediator is now called SolverMediator and new InformationMediator in the main package.
  • Only local testing is possible at the moment, but should work better than before. This is now a complex system, so if a bit buggy, please excuse.
  • Document updates.

New in Licas 3.53 (Jul 11, 2013)

  • Minor Euclidean distance metric change and some other changes to the ai_heuristic package.
  • Package with dynamic linking mechanism: org.licas.autonomic.link changed to org.licas.service.link.auto, to be in line with the other services.
  • BehaviourService and related evaluation service changed. The new ContainsLinkService checks for containment only and returns a boolean. It produces better results now and over numerical data as well.
  • GUI updates. At least one serious graphic bug fix - did not always show all nodes. Other bug fixes. Some new components - one still to be completed. The popup menus return metadata as well now, including all sections.
  • Metadata updates. Tried to simplify the process. Smaller subset returned as default with the rest admin protected. See the documentation for details.
  • Also some Const values changed back to a full name. TYPE is 'Type' again, for example. So the Code Analyzer app, or existing metadata scripts will probably have to be re-done in the near future, but the short names look confusing.
  • Tested locally and OK. Bugs and documentation will be updated in future releases.

New in Licas 3.52 (Jun 14, 2013)

  • There is a small bug in the text processing when removing symbols. Fixed in the next version.
  • Some bugs in the distance functions or metrics (Euclidean, Jaccard) fixed.
  • Classes in the problem solver package updated. You might need to create them slightly differently, but hopefully easier to use. Not fully tested, but this will happen as bugs are found. Still being used as is.
  • Evolve class now also returned by default for unknown data type.
  • New evolve using percentages class.

New in Licas 3.51.1 (May 17, 2013)

  • UuidHandler moved to the logger package jLog2.
  • Name for a MetricValue added again as useful for direct comparisons.
  • The evaluation metrics have been updated to be more generally applicable. They currently might only work with the bag or words or the default settings. Some bug fixes.
  • New CosineSimilarity Metric.
  • If run a test and then clear the network. It should be possible to run another one now.
  • Some other minor updates, including GUI bug fixes.

New in Licas 3.51 (May 17, 2013)

  • A number of updates to the problem solver and GUI, making it more friendly to use.
  • Now MetricValue, MetricDataset and MetricComparison classes used, from the ai_heruristic package, to store and compare the problem datasets.
  • New stopping criterion measures if dynamic links still being incremented. The test script now looks more realistic, as links can be created gradually through more test runs.
  • GUI improvements to both the behaviour and the problem solving test panels. Do not need to switch between them. The behaviour can now read data from files as well.
  • Example testDataB folder, with files that can create one or two behaviour links.

New in Licas 3.50.3 (Apr 25, 2013)

  • Improvement to the class loader. Can now load separate jars from a lib, or other, folder. Does not all have to be compiled together.
  • Minor bug fixes in the GUI and services.

New in Licas 3.50.2 (Apr 12, 2013)

  • Service factory form simplified to only re-configure the script. Also easier to add own factory objects now.
  • Admin key parameter in constructor required for creating the service or jar factory. Might be useful later.

New in Licas 3.50.1 (Apr 12, 2013)

  • ServiceRepository - minor bug fix. If remove metadata 'type', the service types list is not currently updated as well. Now also removed from the serviceTypes list. Not important for general use, only if you are programming or adding / removing modules.
  • Ai_heuristic package moved down the stack and also removed as open source code. It was not particularly interesting and will be used in different projects, so it needs to be moved to a lower level in the compilation process.
  • Some low-level licas classes also removed. Two exception classes now in the exception package and some 'Const' values moved to the ai_heuristic 'AiHeuristicConst' package. All still contained in the licas compilation, so it is just a matter of importing a different package name.
  • Ping method added to check if an address is reachable. Should help to prevent the GUI from hanging if the address is not reachable, but there can still be some delay.
  • Client or All-in-One GUI removed from sourceforge download. It can be downloaded as a setup.exe installer from the main DCS web site at http://distributedcomputingsystems.co.uk/licas.aspx.
  • There is now a 'data' folder as part of the default installation and the test data example is now located there. It is included as part of the installation and you can place your data folders there. So to use the problem solver, run the installed GUI and then run the problem solver script to execute on it.
  • LoadObject update or bug fix. Also added to a new utils package, but it might work slightly better than before.

New in Licas 3.49 (Apr 12, 2013)

  • Some more minor changes, but they should make using the code easier.
  • VOID type moved from Const to TypeConst. It is used more when declaring types.
  • New 'MethodConst' class for method names, which are also removed from Const now. Should be easier to see what is what.
  • Passwords problem with MethodInfo.createMethodCall bug fix.
  • A password problem with the default services and Auto run method now fixed. If there are other problems and you send an email, it will help to fix them.
  • Metadata description returned in slightly condensed format.
  • Some more WSDL parsing bug fixes - when convert to parameter list.
  • Web Service service updates, including enumerations.
  • The 'final' tag removed from all server class methods, to allow them to be overridden.
  • GUI panel updates, but provide same functionality. No component width now, but can use any previous config OK.
  • Graphic display updated and also allows customised icons that can be configured.
  • Display to network depth bug fix.

New in Licas 3.38.1 (Jun 15, 2012)

  • If the server is started and stopped a number of times, the connections should be shut down and re-started better now.
  • Graphic display might be a bit better, with some nodes linked at the same level moved to the next level.

New in Licas 3.38 (Jun 8, 2012)

  • The Auto class is now abstract, meaning that if you use it you will have to implement its abstract methods. It works in the same way as before. If methods are not used, an empty implementation can be added instead.
  • One or two method names have been changed but everything works the same way as before. For example, 'executeQuery' on the server changed to a generic 'serverService' name. This allows different global services to be executed through the server, not just the query engine. Also check for toXml methods for retrieving xml-based info.
  • New GUI interface to a behaviour mediator service - a new server service. This can be programmed to display a better view of agent-based behaviors executing on a network. The general method connections are in place, so only one or two methods need to be implemented.
  • Protected static logger declarations changed to private and re-declared in each derived class.

New in Licas 3.37 (May 30, 2012)

  • Minor GUI bug fixes.
  • Byte files stored in a more compact form, to allow for quicker processing over a network. Integrated into the FileObject and related classes.
  • Jar file modules now store a timestamp to record when they were saved.
  • Checking for the admin key in the password handler can now throw a PasswordException. Might need to catch this error.

New in Licas 3.30 (Feb 17, 2012)

  • Can now add your own service definitions to the default list loaded at startup. The current config file should be OK. If not delete it and re-load the modules.

New in Licas 3.29 (Feb 17, 2012)

  • GUI updates - configuration of the GUI now possible with service factory and external modules details. Also the gui interfaces to a service can be saved in the config file. See the documentation for details.
  • NetworkParser updated - dynamic links can now be saved, but not re-loaded, as too much information is required.
  • If retrieve dynamic links as an XML description, some tag names and structure now changed.
  • The jlog2 logger updated to require a logging level for all log commands. This might require minor code changes (add logging level) but is important for general use.

New in Licas 3.28 (Feb 17, 2012)

  • Server updated to process RESTful-style HTTP POST requests directly from a browser, for example. You can now invoke a method through an HTML page running in a browser. An example html page in included in the download.
  • GUI Service tab update and other graphic updates/fixes.
  • Documentation updated for the new server details.

New in Licas 3.27.1 (Feb 17, 2012)

  • Internet package works slightly better, with fewer sockets closing. Both connection types (HTTP or URL) should now connect.
  • Wsdl parser bug fixes. Simple type enumerations included now.
  • 'getAllDynamicLinkedSources' method bug fix.
  • Some class name changes, also in the main licas package for the connection handlers. Now named for client or server specifically.
  • Minor GUI update - does not automatically remove the server address when an error is returned.

New in Licas 3.21 (Aug 31, 2011)

  • Lots of minor bugs in the problem solver fixed. Looks much more correct now. New testing confirms more correct output. If testing with provided test script and data, can set the 'Link_Increment' value to something like 10.0, so that only one increment will from a link in the network gui view.
  • GUI updates for some bug fixes and also now search fields for searching classname lists. Still needs more work.
  • Can now do deep clone of elements in licas_xml package, where attributes correctly cloned as well.

New in Licas 3.20 (Aug 6, 2011)

  • Link class has been made abstract. Now three different derived versions - see the online javadocs. The additional options, such as add negative or individual updates not tested recently and so it is not clear how well they work. This would need to be checked through testing. Basic operations such as memory management should work as before.
  • Problem solver made slightly more flexible. The clustering process can now be changed to your own classes (one public class) through the solver factory - in the same way that the other classes can be changed. So the default clustering is not definitive and should be changed for your own purposes. The documentation explains how to do this.
  • Some of the mathematical evaluation operator definitions used in the metrics also changed. Two of the more experimental evaluation functions have been removed, so hopefully the existing ones are now more correct.
  • The default problem solver results only use solution names. The default classes now keep the duplicate groups, so that links occurring more than once as a result of the clustering are also reinforced more than once. Not a definitive solution, so this is what you can change with new clustering classes.
  • One bug in the GUI removed that causes infinite looping when drawing the graphic.
  • Download now split into 3 separate parts: jars/executables, docs and source code.

New in Licas 3.19 (Aug 6, 2011)

  • New problem sover framework written on-top of the main licas packages. Possibly still slightly buggy, but documentation accidentally released, so code now released as well. Should work in most cases. Can be used to organise a network through a search instead of direct link updates.

New in Licas 3.18.1 (Aug 6, 2011)

  • The GUI now draws the graphic in a slightly different way. Might fix some previous problems concerning layout.
  • New version of addService called 'addDefaultService', takes a default service name and if known, automatically adds an instance of it to the parent service, allocating it the same password and service key. A quick way to add default services to another one.
  • New licas_text package with classes for processing text from different sources.
  • New Information service in licas package, and the FileLoader has moved to the new package.
  • Minor change to the Parser class allows a String-based value to be sent remotely, even if it is in XML format. See the Knowledge Base page, section titled 'Passing Strings in Remote Method Calls'.

New in Licas 3.17.4 (Apr 29, 2011)

  • Default EvaluateService and interface changed to have 'evalComparison' for comparisons and 'evalMath' for mathematical addition / subtraction, etc. All mathematical methods now return objects, as does the def interface, to make it easier to extend.
  • ServiceYP/ServerYP/ServiceYPDef classes changed to ServiceMetaSearch/ServerMetaSearch/ServiceMetaSearchDef instead. Related search method names also changed. Search facility not implemented yet.

New in Licas 3.17.3 (Apr 7, 2011)

  • Yellow Pages lookup facility added. Only framework at the moment and not fully implemented. The existing code should work the same as before but with some new classes, for future implementation of a more sophisticated search facility over the services.

New in Licas 3.17.2 (Apr 7, 2011)

  • WSDL parser can now read a documentation tag for message parts.
  • Service.removePermanentLinkTo will now automatically construct the correct server uri address.
  • GUI bug fix when automatically retrieving passwords remotely.
  • Linking from a single source now allows different path levels, including more than one linking structure on the same path.

New in Licas 3.16.5 (Apr 7, 2011)

  • Probable correction to the linking mechanism. It now probably decrements the link weight values more correctly. Because there is a slight change, if this adversely affects your program, then if you let me know I can undo the update.
  • Package is now compiled under the jdk 32 bit version. It was compiled under the 64 bit version for a while, but the 32 bit version is more compatible (J2ME).
  • Method getMessageQueue(String theServiceKey) added to the AutonomicManager to return the MessageQueue.
  • AutonomicManager interface replaced with base abstract class. Needs to extend the Service class to work with the rest of the system.
  • Adding objects derived from licas services, or independent of licas services, should both display OK in the GUI.
  • Default hashtable parser has one nullpointer bug fix for empty list entries.
  • Service wrapper did not always set wrapper object's parent service correctly. Should be set to parent of wrapper service. Should now be correct. The getFullPath() method will show all parent services.

New in Licas 3.16 (Apr 7, 2011)

  • Implementation of framework for AutonomicManager and Service Level Agreements.
  • Method 'hasCompleted' in Auto class changed to 'messageReply'.
  • Service.getPassword(id, description) changed to process a contract description through a contract handler. Default version still always returns the password, but now a framework in place to process this differently.
  • New 'serviceNegotiate' method to allow services to negotiate over contracts.
  • MethodInfo.createMethodCall bug fix.
  • GUI bug fixes both for adding services and testing method calls. Can store more than one service type for adding to the network and switch between them.
  • Documentation updates.
  • Autonomic components probably still beta stage. No real opportunity to test completely, with derived classes, etc.

New in Licas 3.15.3 (Apr 7, 2011)

  • Linking mechanism could throw an arrayoutofbounds exception if the linking path was empty or incorrect. This is now corrected simply to check for an empty path. No check to determine if the data entered is correct.
  • The 'AutoServer' method 'setAllLinkThresholds' throws an exception if the password is not found. This method tries to apply the thresholds values to every service and is essentially a quick way to set linking threshold values in a test scenario. The exception has been changed to use the default 'anon' password values instead. So it should work in a test scenario with the default password settings. No other changes.
  • GUI crash when remote server shuts down is now mostly fixed. The GUI should revert to the next stored server uri instead.
  • Minor server bug fixes. The server could crash if stopped and then started again in mobile version. GUI should now be able to stop and restart the server any number of times.

New in Licas 3.14 (Apr 7, 2011)

  • Minor GUI updates. The GUI now formats uris for remote servers correctly. You should now be able to run the gui and the server on different computers over a network. Recent gui update was the problem - the server always worked remotely.
  • Logger properties standardised. The level specification applies to all loggers, not just files.
  • Lower-level packages recompiled under cldc (logger, xml, exceptions and internet). Licas mobile version now runs under the most recent cdc version.

New in Licas 3.12 (Dec 2, 2010)

  • New look GUI with all of the previous functionality.
  • Possibly some bug fixes - the Example 1 in the GUI document now works in full. The test classes that were missing have been added to the licas package.
  • Documentation updated.

New in Licas 3.11 (Nov 15, 2010)

  • A third linking structure has been added to the Service class. This stores full service paths, so that one service can know about other services without being part of any sort of permanent structure. The add / removeRemoteNetworkUri methods in the AutoServer have been removed and replaced with the new addServiceLink / getServiceLinks, etc. methods in the Service class.
  • Metadata should now record these links/associations as well.
  • The Service.getServicePassword method also needs the server password in the method calls, if the server pasword is not the default one. This has now been added. The test behaviour classes should now also work on servers with different passwords.

New in Licas 3.10 (Nov 2, 2010)

  • Examples of instant messenger and file sharing services have been added to the service package.
  • New window to allow you to enter a packet size and communication ID for testing method executions. Can be opened in the Method panel.
  • GUI updated again to try to parse the string values entered as parameters when testing service methods. Should parse to a simple type now.
  • The Auto 'hasCompleted' method now returns a boolean reply. The file sharing was tried with smaller packet sizes, requiring the message to be split up and sent in parts. This only works with the blocking communication mechansim and so if the hasCompleted method is used, it needs to be blocking as well.
  • If using this sort of autonomous communication, you need to make sure that you include the client service URI with the communication ID in the calling method info. This can be done using the MethodInfo constructor that requires the service that is making the call as a parameter.
  • In the licas_xml package, cloning an Element will now also clone the attribute values.
  • Documentation updated to explain how to use the services and the other changes.

New in Licas 3.9.4 (Nov 1, 2010)

  • PasswordHandler.getServicePassword(serviceID) returned the server password by default if the service password was not stored. This has been changed so that a password is returned only if it is stored specifically for the specified service id value, however you can still ask for the local server password using a default id value of Const.HTTPSERVER. If no password is stored an exception is thrown.
  • As no default password is now returned (anon, for example), you might need to ask for a password using the getServicePassword(serviceID, ipAddress) method in your service, which will also make a remote call if necessary.

New in Licas 3.9.3 (Nov 1, 2010)

  • If using direct references through the communication mechansim, there was an error if the default password was not used. Now fixed to allow the password to be anything.
  • The parser panel can now load in parsers from remote (non-local) jar files.
  • This can be used to pass complex objects as parameters to services running on a server. See the Knowledge Base page for an example of how this can be done.
  • Note that the system assumes that any additional jar files are stored in a 'lib' folder in the same directory as the main jar file to be loaded - the same structure as in the download package.
  • Minor improvements to the GUI graphic display.
  • In the GUI Method panel, adding a Vector of values (strings) as a parameter was broken. Should now be working again.
  • In the GUI Behaviour panel, jar files from remote directories were not being loaded in properly. This has now been fixed and tested to show that an alternative behaviour class can be loaded and run. Some compatibility issues with loading J2ME jar files into the J2SE GUI however.
  • Behaviour package classes moved to a new service package, also now with a basic timer service.
  • New 'licasService' document describes how to write your own services and some other document changes.

New in Licas 3.9.0 (Nov 1, 2010)

  • Updates to server code using new Apache HttpCore classes.
  • The server can now handle synchronous (blocking) or asynchronous (non-blocking) method calls.
  • The agent-like features of the Auto class have been fixed, so that it now stores a communication ID that can be retrieved and used as part of an agent-like communication protocol.
  • Documentation gives examples of how this can be used.

New in Licas 3.8.6 (Nov 1, 2010)

  • The Service class has a new getServicePassword method that will automatically call the other service over the network if it does not currently have the password.
  • The Link class now returns the Vector of links in the correct format for XML Element descriptions.
  • Another linking error occurred if the linking configuration string did not include a memory statement. The link config string should be initialised to something, but all link updates in the Thresholds structures now increment a source weight value in the same way. If you specify memory conditions, then the Link_M class can still control this.
  • If you create a network outside of the gui and then load it into the gui to display, the service passwords can be missing. The gui now tries to retrieve the service passwords if they are missing. The server passwords however still need to be present, which should be the case if you are able to load in the server.
  • Some of the documentation has been tidied up a bit.
  • Problems with direct reference calls and wrapped objects fixed. Wrapper got wrapped twice.
  • The ExceptionHandler has been moved to a separate package, to allow for easier reuse.
  • The MethodInfo object can now create part of the method call automatically, making its construction slightly easier.
  • Some password problems removed (NetworkParser and AutoServer.setThresholds ...), related to service keys.
  • Logger has been looked at again and updated. A number of unfinished methods now completed. This package is now also a separate project called jlog2 and also avaliable from sourceforge.
  • Documentation updated.

New in Licas 3.8 (May 19, 2010)

  • Update to make the system slightly easier to use.
  • Uploaded early as also some bug fixes.
  • Uploaded on 19 May 2010.
  • The MethodInfo object can now create part of the method call automatically, making its construction slightly easier.
  • Some password problems removed (NetworkParser and AutoServer.setThresholds ...), related to service keys.
  • Logger has been looked at again and updated.
  • A number of unfinished methods now completed.
  • Documentation updated.

New in Licas 3.7.2 (May 5, 2010)

  • Licas logo changed on documents and code.

New in Licas 3.4.7 (Jan 7, 2010)

  • Local calls through the CallObject class had a potentially serious error - now fixed

New in Licas 3.4.6 (Dec 23, 2009)

  • The server now allows other remote server URIs to be stored, to allow them to be retrieved for calling.
  • Network graphic updated for some errors - popup menu corrections, for example.
  • Network graphic now allows any component to be ‘nudged’ in a particular direction to manually change its position slightly for better viewingWill help to compensate when graphic not drawn completely correctly.
  • GUI now also has options to adjust the vertical or horizontal width between components, as well as the component itself.
  • Network parser corrected to add description element correctly to created services.
  • GUI documentation updated to describe recent changes.

New in Licas 3.4.5 (Dec 23, 2009)

  • When a new query template is loaded in, any existing text is cleared first.
  • The getStats method on the server requires the query engine service type and not uuid as the parameterThis makes it the same as the executeQuery method, as it should be for consistency.
  • The server now holds a rootNodes listYou can specify specific service uuids to add to this list through the addRootNode method of the AutoServerThis list can then be used to specify the root nodes of a hierarchical networkThe permanent links can then be used to traverse through the rest of the structure.
  • The timeout value for a call can now be changed in the admin panel of the GUIIt defaults to 10 seconds, but can be changed to anythingSo for long synchronous calls, you can increase this value to whatever you need.
  • Service ID and type fields added to the admin document.
  • WSDL parser updated..
  • There appeared to be a problem with the XML-RPC communication mechanism serializing lists of Objects, but this now looks OK, so possibly there was not a problem here after allThere has been a minor change back to the previous version to correct this.
  • ServiceMetaParser still required the service class to reconstruct the ServiceMeta from the XML descriptionThis is changed so that the ServiceMeta object can now be reconstructed (parsed) from the XML onlyThis means that any client retrieving the XML does not require the service class file to read the metadata.
  • You now have the option to retrieve different parts of the metadata if you know the service passwordSo you can also retrieve the ‘other_meta’ or ‘data’ parts.
  • Some GUI updates and network graphic correctionsShould crash less now as some of the synchronized sections actually removed to help prevent the deadlock.
  • The network depth for the graphic can now be manually entered and the popup menu now allows the user to manually close or expand a node to control what is displayed.
  • Documentation updatedThe GUI document describes in detail how to set the gui and system up for executing queries on, with an example of the steps required.

New in Licas 3.3.9 (Dec 23, 2009)

  • The Service class has had some variables made protected instead of privateThis should make it easier to extend this class, also other classes as well.
  • A new metadata section has been added called This can be used as a slot to add any other metadata related to the service that is not already specifically definedThis could be, for example, a list of keywords to search overSo there are now slots to add metadata and value data in a serviceThis can then be processed by a class that extends the Service classPlease check the documentation for details about the new metadata field.
  • LoadObject convert file path to URL error fixedShould be able to load in classes from a browsed jar file nowI have now loaded a jar file built on the J2SE platform onto the J2ME server.
  • More of the GUI threading problems fixed.
  • GUI bug for network depth fixed - used to loop to max depth of 100 when not necessary.
  • Minimal changes to XML interface with two new methods.
  • More Wsdl parser / SOAP message bugs fixedWill be updated as errors are found.
  • The J2SE version can use SOAP to create Web Service calls dynamically constructed from wsdl documentsNew Web Services packages provide the functionalityThe service calls are through the same calling mechanism as for the standard XML-RPC calls, see the documentation for details.
  • This functionality is currently only available on the J2SE platform and not the J2ME one.
  • User Guide documentation updatedWhen calling web services, should use the SoapConst class variables instead of the Const class variables.

New in Licas 3.2.2 (Dec 23, 2009)

  • The calling mechanism is now passed a MethodInfo object instead of a Vector of parametersAll of the Vector element manipulation, as part of the calling process, has now been removed, making the code cleaner and clearerTo make a call it is now callObject.call(methodInfo), with the service uri added to the MethodIno object using the setServiceUri method.
  • Nullpointer exceptions in LoadObject and XML parsing now fixed.
  • Boolean.parseBoolean not allowed in the MethodInfo parser, changed to text comparison.

New in Licas 3.1 (Dec 23, 2009)

  • The micro edition does not allow Generics and so these have been removed from all lists, etc.
  • The micro edition does not have a UUID key generator and so a pseudo-random one has been included in licas itselfIt is suitable for any testing but it may be relatively easy to guess the generated passwords.
  • The micro edition does not support DOM or JDOM and so these have been replaced by an alternative lightweight parserThe licas packages now includes base parsing classes that should be used in any user-specific object parsersThe underlying parser package can then be changed relatively easily.
  • The micro edition does not have a default logger and so a new logging package has been writtenOnly the jar is included as part of the licas package.
  • The base XML classes have been moved to a new project and supplied as a separate JARThis will allow other packages to be built independently of the main system.
  • Some XML parsing errors removed

New in Licas 2.5 (Dec 23, 2009)

  • Gui available for displaying a network and running some tests.
  • Auto class can now run a behaviour in its thread as default.The behaviour can be configured or changed to perform any evaluation.
  • NOTE: data generator should return only String-based values at the momentConvert to specific type in your own classes.
  • Services can be saved and/or loaded from files in XML format.
  • HttpServer - the getPassword(id, serviceKey) has been changed to getServerPassword as this is what it returns.
  • Automatically start threads for specific services or service types.
  • Some other minor method additions/changes (e.gLoadObject again).
  • Network Graphic in the GUI improved.
  • The LoadObject class has been re-written so that there is only one class loaderThis helps to avoid version conflicts.
  • The Admin Gui now has two new panels to add parsers or execute methods on the network services.
  • Complex objects can be represented in XML and loaded from a file as part of a method call.
  • Documentation updatedAdmin Gui documentation now includes a step-by-step guide of how to load and execute services from remote jar files.
  • File handling of message packets now done through a file channel with a lock.
  • To access a server's service directly, you now need to use the communication protocol (CallObject) or know the server service key value and use the new 'getService' method

New in Licas 2.3 (Dec 23, 2009)

  • Documentation split into three documents - architecture, programmer's guide and administrator's guide.
  • The metadata has been updated further to allow for a service to be initialised by an administrator's document.
  • The admin document can specify different levels of access, requiring different passwords for different methods.
  • Thus SLAs can be used and services/methods can now be arranged into separate hierarchical groups.
  • Service metadata also changed slightly.
  • The linking mechanism should now work better - previous versions had additional code for a system built ontop which is now removed.
  • Service URI reference now in XML, so the linking classes need to use this format as well.
  • Linking service can now store both strings or XML service paths.
  • Service.getFullPath() does not include the HttpServer reference and so can be used directly.
  • Service.removeService now working after the change in the path info.
  • AdminParser method comparison corrected.
  • RPC connection now timed out.
  • ServiceRepository now stores service metadata under service types as wellSome methods also removed.

New in Licas 2.0 (Dec 23, 2009)

  • All abstract methods have been removedAll classes are now directly implementableThe abstract methods now have default or no functionality and so should still be overriden if more functionality is required.
  • All globally visible variables have been made private, for example, the MethodInfo variablesUse the get/set methods to change these, which will require some adjustments to your code.
  • The Handle class used to construct the method call path now processes XML, so the special characters have been removed and can be included in the path specThe call path however now needs to be stored as an XML element and not a String, which will require some adjustments to your code.
  • Some methods moved from Auto back to Service, please check but should be easy to adapt to.
  • The Service class now has another constructor that includes a description parameterThus you can add a description of the service at construction time, or later through methodsThe uuid of a service is automatically set when the service is loaded and cannnot be changed afterwards.
  • Service metadata methods and objects have been added, so that a client can retrieve a lightweight description of the network in XMLThere is a new meta package to store these methods.
  • All services that are loaded are automatically registered with the Server (AutoServer), which stores a metadata object for eachThis could act as a kind of Yellow Pages lookup directory.
  • Security has been tightened up some moreThere are now two ways in which services can be associatedYou can still nest one service inside another, but there is a permanent link through the parent variable from the child to the parent, and also vice versaThis allows the possibility of one service directly calling methods on the otherAn alternative now is to create a permanent link between the two servicesThis is not done through the linking mechanism, but is explicitly stated and can be used to define a hierarchy or other network structure where the services are entirely separateNote also that the Const.PARENT value is no longer required to specify adding a parent reference as this is done automatically now when a nested service is loaded.
  • Passwords have been moved to a PasswordHandler class so that the same object can be used outside of a Service, in a client for example.
  • The wrapper classes however have had the password checking removed, so if you load a class not derived from Service it will be automatically available by default.
  • It is possible to send a message as a series of packets instead of one single messageYou can specify the packet size and the message will be sent in packets not larger than this.
  • Documentation tidied up a bit.
  • New package for the exception classes