WP 6 Integration: Platform and Application Scenarios

The RASCALLI platform is the runtime environment for RASCALLI agents. It is designed to support the execution, as well as the development of multiple agents in a single running instance of the platform.

Features (SAT)
The RASCALLI platform can execute multiple agents at the same time. This includes multiple agents of the same kind (see Agent Definition Layer) as well as agents of different kinds, possibly with different versions of the agents' components. This latter feature is especially important during the development of an agent.

The RASCALLI platform supports the concurrent deployment of multiple agent architectures (see Agent Architecture Layer). Individual agents can then be based on either of the deployed architectures. These agents can be executed concurrently.

The RASCALLI platform provides support for multiple concurrent users, where each user can define one or more agents.

The RASCALLI platform is based on OSGi, which is a technology for component-based development. The RASCALLI platform itself, as well as agents developed for that platform are implemented as a set of small, reusable components. These components can then be combined to a specific agent definition (see Agent Definition Layer) via a configuration interface.

Wide range of technologies
The RASCALLI platform provides support for the intergration of various technologies, such as different programming languages (e.g. Perl) or web services. This gives a lot of flexibility for the development of agents and also allows for the easy integration of existing services or components into the RASCALLI platform.

Distributed development
Due to its component-based architecture, the RASCALLI platform is well-suited for distributed development of RASCALLI agents. This is very important in the context of geographically distributed research or open source projects.

Software Architecture (SAT)
The RASCALLI platform is based on a layered software architecture. The following figure gives an overview of these layers, which will be described in detail below.

Infrastructure Layer (SAT)
The infrastructure layer contains basic technologies and components used in the RASCALLI platform. Specifically, these ara:
the Spring Framework
This layer also contains development tools and utilities of the RASCALLI platform.

Framework Layer (SAT)
The framework layer contains general platform services and components available to all RASCALLI agents. This includes technology-related services and components, such as:
Networking support (TCP, HTTP)
Synchronization and concurrency support
Logging support
Email support
RDF handling support
Technology integration support (Perl, web services, ...)
Spring support
as well as application layer components, such as:
User management service
Agent management service
Event handling

Agent Architecture Layer (SAT)
This layer is used to define one or more agent architectures (see this wikipedia article). An agent architecture defines the components that make up an agent, including their roles and interfaces.

For each agent architecture, this layer may contain interfaces (e.g. Mind, Sensor, Effector) and implementations of these interfaces and/or supporting components.

Each agent architecture is implemented as one or more separate OSGi bundles, so that agents of different architectures cannot interfere with each other.

Agent Component Layer (SAT)
The Agent Components layer contains implementations of the components/interfaces defined by the Agent Architecture Layer. Clearly, agent components always depend on one specific agent architecture (for example, a specific Tool implementation, such as the MMG Tool, is based on the Tool interface defined in the MBE agent architecture). They can, of course, also depend on the framework layer.

Components that are used by multiple agent archituctures are implemented in the Framework Layer.

Each component implemented on this layer is implemented and deployed as a separate project/bundle.

Agent Definition Layer (SAT)
An agent configuration is an assembly of specific components of the Agent Component Layer of a specific architecture.
Example: An agent configuration for the MBE architecture might include the DUAL-Mind, the MMG-Tool, the IP-Tool and the QA-Tool. This is what we called RASCALLI applications until now. Since this is actually just configuration, the goal is to define these agent configurations via some kind of user interface (web or gui) to the platform, either online or offline. For the time being, the agent configurations will be separate maven projects and will be deployed as OSGI bundles containing a factory service that can instantiate agents of a certain configuration.

Agent Layer (SAT)
The agent layer contains the actual individual agents. Each agent is an instantiation of a specific agent configuration, based on a set of agent components defined within a specific agent architecture. Note that an individual agent might have additional configuration beyond what is provided on the agent configuration layer. For example, each agent might be given a name. It will also need to know about its owner/user, etc. It is not yet clear how this will be achieved. Maybe each architecture will be required to implement some sort of configuration interface component, with a minimum set of 'agent name' and 'user name'. This might be a simple java bean with setters and getters, allowing us to implement a generic user interface for the configuration as well as generic serialization. An instance of this would be instantiated for each individual agent, which can then use it to access the configuration. The goal is, again, to create agents via some sort of user interface (this time only online) to the platform. Until such a service is available, agents can be defined as very simple maven/spring configurations, depending only on a specific agent configuration (in the maven POM) and instantiating it in the spring config. When this bundle is deployed, the agent instance will be created and executed.

Visual browser, QUIZ application (DFKI)
DFKI provides two different ways to allow users the access to the gossip information:
Ontology-based navigation:
It is  accessbile via the visual browser described in WP2.
Question answering based on the structured data knowledge:
the question answering user interface allows users to submit quiz questions and provide answers based on the content stored in the gossip data. The application can be combined with the open-domain question answering provided by our project partner.  We have worked out even more modular system architecture to deal with question analysis and mappings between NLP questions to database queries. Our approach is an extension and modification of the techniques developed at DFKI in the QUETAL project.

In the following figure, we depict the modelling of the question patterns together with question or answer foci with respect to the relation types supported by the database modell.

Back to workpackages

RASCALLI is supported by the European Commission Cognitive Systems Programme (IST-27596-2004).


RASCALLI develops a new type of personalized cognitive agents, the Rascalli, that live and learn on the Internet.

Rascalli combine Internet-based perception, action, reasoning, learning, and communication.

Rascalli come into existence by creation through the user. The users not only create their Rascalli but also train them to fulfil specific tasks, such as be experts in a quiz game or assist the user in a music portal.