Nuin software roadmap
The current release of Nuin is 0.2, which is a baseline functionality release. Many things need to be improved, fixed or added. The following are the major milestones currently planned on the way to release 1.0. Since this is only one of my active projects, timescales must necessarily be regarded as somewhat approximate.
Release 0.3: improved RDF support
Objective: improve and refine existing support for RDF/OWL knowledge sources and message contents.
Estimated completion date: mid-May '04
Key features:
- re-write
KsValueandKsSentencemapping of RDF knowledge sources reduce memory use and redundancy; - provide direct support for accessing Joseki stores from agent scripts
- integrate JMS model specifications in Nuin config files
- add loops and collection handling to Nuinscript
Release 0.4: improved Jade integration
Objective: Nuin 0.2 allows the use of Nuin scripts as behaviours for Jade agents, and messages sent and received in Nuinscript can use Jade as the message transport. However, the more advanced features of Jade, e.g. FIPA protocol support, yellow pages directories and FIPA ontologies are not currently integrated with Nuin. The objective of release 0.4 will be to correct some (though not all) of these deficiencies.
Estimated completion date: mid-June '04
Key features:
- revisit Nuin's model of acquaintance models and directory services; refine as necessary
- provide integrated access to Jade directories from Nuinscript
- investigate providing integrated access to Jade's support for FIPA protocols from Nuinscript
- investigate mapping from Jade's Java-centric ontology support to RDF/OWL ontologies in Nuin
Release 0.5: basic web services
Objective: The Nuin architecture supports plug-in services to allow the functionality of an agent to be as flexible as possible. Nuin 0.2 provides integration with Jade as an infrastructure provider. Release 0.5 will begin the process of looking at web-services an a complementary infrastructure layer. This functionality may take a while to get right. In particular, use of OWL-S may have to be brought in at a later stage, as OWL-S is both a complex representation and one that is still evolving.
Estimated completion date: tbd
Key features:
- provide service plug-ins to allow SOAP as a message transport and directory infrastructure
- investigate accessing WSDL/UDDI descriptions from Nuinscript
- investigate whether emerging OWL-S Java API's can be integrated with Nuin
Release 0.6: improved reasoner support
Objective: Nuin 0.2 provides rather limited reasoner support. While this can and probably should be improved, developing new reasoners is not a key objective in building Nuin. Therefore, this release cycle will focus on doing a better job of allowing other, external or plug-in, reasoners to support agents' deliberation.
Estimated completion date: tbd
Key features:
- improvements to built-in RTP, or remove it if other alternatives are available and effective
- specification of Jena reasoner capabilities, including DIG interface, from Nuin config script
- evaluate JTP or other general purpose reasoners for integration as agent reasoners
- evaluate available on-line planners for Nuin plan generation
Release 0.7: introspection
Objective: I am interested in agents that behave in a realistically autonomous manner. A key feature of this would seem to be agents that are introspective: i.e. they are able to examine their own task peformance and make adjustments or improvements as necessary. This is a difficult research problem in general, but I have in mind some simple mechanisms that agent programmers can use to begin to explore introspective agents. Some improvements to the Nuin mental model may also occur in this release.
Estimated completion date: tbd
Key features:
- maintain intentions
- add introspection loop to main interpreter
- plan metadata
General fixes
The following don't fit neatly into the general release plan, but will be addressed on a need-driven basis in support of other releas goals:
- correct chronological backtracking in interpreter actions
- write to log file from script
- event timestamping
- review and update unit tests
Off list
The following are potential Nuin features that I am currently planning not to implement. Over time this may change, especially if I receive cogent advocacy (or, better still, offers of help).
- security
- agent persistence
- hard real-time agents
- debugging and other graphical tools, or integration with Eclipse