The PAL Framework is designed so that existing target deployment systems require minimal modification for use with the PAL components. The components exist external to the Target System, interacting with it via well-defined interfaces. The PAL Framework can interact with the Target System via five basic functional groupings, as shown in Figure 1.
- Learning is the heart of the PAL Framework, providing the core technologies that are available for integration into target applications. It consists of two complementary collections of capabilities:
- Learning Methods that implement general-purpose machine learning algorithms
- Learning Applications that embed learning methods to enable improved system performance as well as personalization and adaptation over time
- The Data Management module stores and processes data collected to support learning and reasoning (e.g., state information, user actions, preferences, procedures).
- The Data Acquisition module consists of mechanisms to collect data either directly (e.g., through harvesting) or indirectly (through API linkage to a Target System).
- The Controllers module provides executor capabilities for managing interactions with a Target System, implementing automation of the learned procedures.
- The User Interface module provides lightweight interface capabilities for supporting interactions with learning components.
A given Target System would make selective use of both the learning technologies and the learning support capabilities, depending on the needs of that particular application. For example, developers of a given Target System may want to store learning data in the PAL data repository but create a custom user interface for interacting with the learning technologies. The PAL Framework is specifically designed to support this kind of ‘mix and match’ configuration of its components.