PERSEUS’s architecture and the surrounding environment are shown in Figure 12. PERSEUS’s internal structure is comprised of adaptation strategies, visualization model, and data model. All three components form the adaptation model of AHS architecture presented earlier in Figure 3.
Figure 12. Architecture of PERSEUS and the surrounding environment
The data model plays a central role in structuring the process of acquiring data from the environment. PERSEUS works in close collaboration with one or several user modeling servers and content-managing applications (e.g., portals). Items of the data model – called data contexts – contain several types of information. These include addresses of the user modeling servers for acquiring the user data, access points to data stores (relational and/or semantic), URIs and URLs marking entry points to data stores, URI/URL patterns to filter/select resources of interest in the content model, etc.
Adaptation strategies, also called personalization services (Dolog et al., 2004), are the scenarios used while producing the adaptation. They prescribe what kind of data should be
obtained from the available sources and how it should be processed. The sources are specified in data contexts or could be the results of another adaptation strategy (chained adaptations). Relative independence of adaptation strategies allows them to be (re)used with multiple data contexts.
One of the most effective classes of adaptation techniques in general is adaptive annotation (Brusilovsky, 2001). In PERSEUS, adaptation techniques that provide adaptive link annotation utilize the visualization model. The visualization model is comprised of special entities called visualizers. Visualizers contain rules prescribing how the continuous data produced by adaptation strategies (for example, various measures of interest, importance, knowledge, etc.) can be visualized for the user. Often these rules control how ranges of continuous values are mapped to discrete visual annotations. Visualizers, just like the data contexts, are relatively independent from adaptation strategies. This allows several different visualizers to be selectively used with one adaptation strategy and also the same visualizer to be used with different adaptation strategies.
There are two basic types of annotations supported by visualizers: icons, and styles. Icons are displayed next to a link, for example a vertical progress bar icon can discretely visualize five levels of user progress, from 0% to 100% with 25% steps. A visualizer using these cues would have to bin continuous progress measure to these five levels and assign an appropriate icon. Styles are used to change the appearance of the adapted link. For example, instead of the five- level progress bar icon mentioned above, an eleven-level background color intensity could be used for the same purpose. Alternatively, a boldfaced font style could be used to denote insufficient progress and so on. Visualizers can combine several messages to the users by encoding them in the visual cues, be they icons or link anchor decorations.
Figure 13. Data and control flows during PERSEUS adaptation service lifecycle
Each adaptation strategy is invoked in PERSEUS by an HTTP POST call. The call is made to the base URL of PERSEUS. Parameters help PERSEUS identify what adaptation functionality to launch, in what context, and include the following (see Figure 13).
- The adaptation functionality identifier is mandatory. It determines the actual implementation of an adaptation procedure that is requested.
- The data context identifier is mandatory. It determines what data sources the adaptation functionality has available for its operation.
- The visualizer identifier is optional and prescribes a particular method of visualizing raw adaptation values.
- The hyperspace pointer is mandatory in most of the currently implemented adaptation methods in PERSEUS. The hyperspace pointer is the specification of the link structure to be adapted. For each adaptation procedure the content, format, and the meaning of this parameter can be defined individually. In most cases, the hyperspace pointer identifies the
portion of the hyperspace that requires adaptation. Using this identifier, the adaptation procedure should be able to reconstruct the link structure of the hyperspace subset.
- User identity (login) is not always mandatory, but is required when personalization is performed. There exist methods of adaptation that do not distinguish individual users (e.g., group-based). In the case of PERSEUS, most of adaptation procedures, however, do discriminate between users. User identity is often used for acquiring user profile data or user model (Brusilovsky et al., 2004). Addresses for user data inquiry are specified in the data context.
- Group identity is not mandatory; however, sometimes forms of adaptation are done on a group level. For example, social navigation can visualize individual progress alongside group progress.
- Other parameters can be added on an individual adaptation procedure basis.
PERSEUS maintains a record of all implemented and available adaptation techniques. Data contexts are matched to all adaptation techniques and can be reused across several of them. Individual items of data contexts, such as addresses of the external data sources, URIs/URLs of specific resources, etc., can also be present in multiple data contexts. Each visualizer is tailored for a specific type of output that an adaptation procedure produces. If the structure and the meaning of several outputs match, one or several visualizers could be used interchangeably for both.