Text only

CM30076 / CM30082
Individual Project

Project Ideas

Dr Julian Padget

jap at cs.bath.ac.uk

Music Web Services
There are several possible projects under this topic heading, including:
  • The development of an analogue of the MONET/GENSS mathematical web services architecture targetted at music, including an ontology for music services, a music service description language, a music service problem language and the deployment of a range of simple music web services. See http://monet.nag.co.uk and http://www.genss.cs.bath.ac.uk for more background information.
  • Construction of a signal processing workbench using the Triana web services toolkit, including the development and deployment of new services for access through Triana.
  • Performance via PDA, where each PDA represents a synthetic instrument and the location of the PDA determines its position in the audio mix. Thus, as the instrument is played by the person using the PDA and as the PDA moves in the auditorium, so the mix changes to give the right sound at the right location. Tracking of the performance to permit subsequent playback and the creation of sonic installations for audience exploration.
  • A web client supporting the automatic classification and construction of genre playlists from available audio files, so that the user may select a few example pieces and then request "more of the same" or "not like this" or "distant genres" or "change the mood from A to B".
  • A performance environment in which the synthetic instruments are located in space and the player(s) interact with them by moving through regions identified with the instrument, leading to signals being fed into the audio mix in response to the players' movements.
Campus Guide
Develop tools to script a PDA-based guide to the campus using agents to provide the route planning services. The system should be developed in JADE and needs to be able to cope with moving in and out of hot-spots and to integrate GPS data in order to be able to update the screen with information about the PDA's location.
Web Services
The trading agent competition is currently implemented as a client written in Java and a server written in SICSTUS Prolog with a RMI derived communicaiton model. The task of this project is to develop a new, but functionally equivalent client and server in which the server is a web service and the client interacts with it via SOAP asynchronous messaging. Ideally, the client should operate on top of the JADE agent platform.
Virtual Directories
Conventional directory structures represent a very weak form of file metadata, but force the user to classify a file under a single category. Likewise filename extensions. Typically, this is inadequate, and users forget where files are, or think they are under one directory when they are elsewhere and subsequently resort to directory tree searches to find the file by name or by (string) content. Some filing systems permit symbolic links so that a single file may appear to be present in more than one directory at a time, but maintenance of such links is extremely tiresome. By using classification techniques and semantic web technology virtual directories identified by concepts can be created and populated with the relevant files for the user to browse on a by-need basis. As new files are created they may be classified and subsequently "found" in the right place. Ideally, this would be implemented as a new kind of user-defined file system type in Linux, but this is not essential.
Semantic mail client
A recent project has demonstrated a proof-of-concept set of mail message processing tools permitting query by concept and automatic clustering of messages by concept. Possible follow-on projects include:
  • Development of the proof-of-concept and its integration into the Sqirrel mail webmail system.
  • Using user-created metadata as cues, inferring additional metadata, involving the user in the metadata cycle.
Mathematical Web Services: The Quadratic Sieve
The project is to create a sieving service for use in a factorisation algorithm. This sieving service will look for ;smooth numbers; over intervals in Z. The implementation must be done using the programming language Aldor (see http://www.aldor.org/). Output should be in XML (OpenMath - "http://openmath.org"). Special note will be taken if log-based techniques are used as opposed to trial division, and if the Gnu Multi-Precision library is used for all arithmetic. Co-supervised by Bill Naylor (research officer on the GENSS project).
Anytime Anywhere P2P Filing System For Web Services
Web services are often quite specialized so that in order to achieve a user's objective, several web services must be orchestrated to form a data-flow graph and results merged or replicated along the way. This means we need some way of storing intermediate results (since streaming would not be viable) until the receiving web service is available, but also because it allows observation of what is being computed. Other scenarios are very long computations, whose partial results could be queried as they are produced, or computations that checkpoint themselves at regular intervals or computations that produce very large datasets of which only some elements are of interest. The objective of this project is to research and evaluate existing P2P filing systems and then to develop a web service interface to one or more (as determined from the requirements) for trialling with the MONET mathematical web services project including the generation of provenance metadata for tracing the source of a dataset.
Pre-requisite knowledge: Some understanding of some (or all!) of web services, WSDL, SOAP, HTTP and the principles of P2P systems is desirable.
Indicative reading: WSDL, SOAP documents at W3C; information on P2P systems where you can find them (on the web), e.g. Eternity, Publius, LOCKSS, HiveCache, Mnet, Freenet, Intermezzo, DSpace, Legion Filing System, Storage Resource Broker, BitTorrent, Code, opencola, swarmcast, WebFS...to name but a few!
Graphical Editing of XML Documents
Last year, Tristan Stevens developed a mixed mode tree/free-text editor for XML documents which supported document validation using the Oracle schema validation API. The interface used the classical MVC pattern to provide constrained views on the tree representing the document and to restrict what could be input depending on the document schema. The objective of this project is to generalize the user interface to support the construction of documents that describe diagrams, by permitting the user to place and link icons, while still taking advantage of the validation mechanism to ensure that only schema-correct diagrams can be constructed. The particular application objective is to permit the diagrammatic construction of electronic organizations for agent based interaction.
Pre-requisite knowledge: The Oracle API and the software to be extended are all in Java. Understanding of MVC pattern would be helpful as would some familiarity with XML and XML schemas.
Indicative reading: Tristan Stevens dissertation from 2002-2003, Oracle XML schema validation API
Planning the Composition of Web Services
Web services are often quite specialized so that in order to achieve a user's objective, several web services must be orchestrated to form a data-flow graph and results merged or replicated along the way. A classical AI approach to planning involves the use of a plan library (effectively a set of templates) and a matching/decomposition mechanism to build a plan for the given goal, by combining elements of the plan library. i/o-plan is a sophisticated planning system available either as a simpler embeddable component (i-plan) or a web service (o-plan) providing generic planning functions: the user supplies the plan elements and the plan operators to make it domain specific. The objective of this project is to develop a plan library targetted at the synthesis of plans composing mathematical services for the MONET project.
Pre-requisite knowledge: Some understanding of some (or all!) of web services, WSDL and SOAP is desirable.
Indicative reading: Russell and Norvig, Artificial Intelligence (textbook) for planning background. Or anything about STRIPS (Nilsson) and or i/o-plan (Tate).
Automatic Construction of Secure Web Sites
Designing the organization of a website and specifically the navigation between pages can be a delicate task, the results of which may potentially contain mistakes which could compromise the site's integrity. The use of institutional specifications for building electronic organizations for agent interaction is gaining acceptance as a means both to simplify construction and to enable the verification of properties and adherence to (security) policies. The objective of this project is to use the institutional specification formalism developed here to develop software to generate web sites and to prototype some demonstrator sites.
Pre-requisite knowledge: Familiarity with agent related concepts and relevant software, such as the content of unit CM30174.
Indicative reading: Recommended text for CM30174.
Trading Translation Services
On the surface, this is a fairly conventional internet brokerage architecture, but there is a very significant issue related to reputation, which must be addressed. Objective would be to develop a framework to bring together customers with texts to be translated and potential translators, with the aim of providing suitable guarantees about fairness and and quality to both parties. It would also be desirable to support the construction of translation teams for large tasks or tasks requiring complementary skills.
Pre-requisite knowledge: Familiarity with agent related concepts and relevant software, such as the content of unit CM30174.
Indicative reading: Recommended text for CM30174. Material on negotiation and case-based reasoning.
Tuning International Student Mobility
The Tuning project is a high-profile EU-funded activity examining issues in the harmonization of higher education structures in Europe. The objectives are to lay the foundations for qualifications to be recognized Europe-wide and to enable institutional transfer of students through an extension of the ECTS system currently used to support temporary study periods in the framework of the Socrates program. It is the extension of the ECTS system that is relevant to this project in that ECTS is in the process of being developed from a rather simplistic credit + mark + ranking measure, designed for the purpose of enabling the integration of the performance of one year's study abroad into the program of the home institution, into a much more sophisticated multi-dimensional model capturing, amongst other things, qualities of the institution granting the credit, the program in which the credit was earned, the level of the unit and learning outcomes.
The aim of this project is to build an agent based system to help students in identifying potential places for future study and receiving institutions in assessing applicants. Thus, the technical issues include: (i) the construction of a (distributed) classification system capable of identifying which institutional profiles have a good match with that of the student in order to help the student make plausible choices (ii) a complementary mechanism for admissions offices in receiving institutions to assess the suitability of applicants, mediated by reputation models (iii) evaluation of the criteria being developed for the extended ECTS model, and their utility and applicability in practice.
Pre-requisite knowledge: Familiarity with agent related concepts and relevant software, such as the content of unit CM30174.
Indicative reading: Recommended text for CM30174.
Agents for Trading Skills and Team Information
Last year, Tom Hibbert designed and constructed a website and database to support community trading of skills and services using mutual credit - a so-called Local Exchange and Trading System (LETS), where skills and services are traded for a local, complementary currency, or for a combination of complementary and fiat currency. The objective of this project is to build on that framework to incorporate agents, acting as representatives of participants in the scheme, which will interact to advertise and to identify trading opportunities on behalf of a person and furthermore to collaborate in the building of teams to tackle jobs requiring complementary skills or that are larger than one person. An important element of this project too, will be the implementation of a model of trust and mechanisms for its maintenance.
Pre-requisite knowledge: Familiarity with agent related concepts and relevant software, such as the content of unit CM30174.
Indicative reading: Recommended text for CM30174.
A Virtual Laboratory for Process Control
Self explanatory? Agent-based modelling of experiments (safe-ish) and agent-based control of experiments (not so safe).
Pre-requisite knowledge: Familiarity with agent related concepts and relevant software, such as the content of unit CM30174.
Indicative reading: Recommended text for CM30174.
A Compact Instruction Set for Java
Description: The Java Virtual Machine (JVM) instruction set subjectively appears relatively inefficient at encoding Java programs compactly because there are lots of simple instructions which do very little. If the instructions encapsulated more complex operations, the result should be that a) programs would be smaller b) they would run faster. The reason for the second observation is that lots of small instructions means the JVM spends a greater proportion of its time on work to decide which instruction to execute compared to work done for the program being executed. The objective of this project is to apply either statistical or evolutionary computing techniques to analyse and improve the Java instruction set in order to produce more compact and more efficient programs suitable for the limited memory resources found in mobile devices like telephones, PDAs and embedded systems.
Pre-requisite knowledge: Compilation techniques. Byte code interpretation. Java virtual machine.
Indicative reading: Any book on JVM internals.