7.2. Accès aux différents formats AROM

Si plusieurs formats sont autorisés pour représenter une base de connaissances AROM, il est nécessaire de permettre à l'utilisateur d'accéder à ces différents formats. De plus, le nombre et la nature des formats autorisés sont dépendant de l'implémentation. C'est pourquoi l'utilisateur doit se référer à la documentation de l'implémentation qu'il utilise pour connaître les formats autorisés avant de demander au système AROM un Objet permettant de lire (ou d'écrire) suivant ce format.

Pour cela, une méthode définie au niveau du système AROM permet de récupérer un KBReader (ou KBWriter) pour un format donné, spécifié au travers d'un identificateur. Cette technique permet d'étendre, sans modification de l'API d'AROM, les formats supportés. De plus, quel que soit le format dans lequel les bases AROM sont sauvegardées, l'utilisateur utilise toujours une même interface pour lire ces bases. Le système AROM autorise la lecture et l'écriture des bases AROM au format txta quelle que soit l'implémentation utilisée. Ces opérations se font par l'intermédiaire des KBReader et KBWriter dits Standard. Par défaut, il est également possible d'accéder à un KBReader (et KBWriter) qui lit et écrit les instances AROM au format txta. La différence entre ce dernier Reader/Writer et le standard est que seules les instances (objets et tuples) sont traitées et, par conséquent, une technique plus rapide est utilisée. Ce Reader/Writer est recommandé lorsqu'un grand nombre d'instances a été défini. L'identificateur de ce format est "instances".

Avertissement

Section spécifique à l'Implémentation de Référence d'AROM.

Un autre format est supporté par cette implémentation. C'est le format records qui, comme pour le format instances, ne sauvegarde et ne lit que les instances AROM. Mais, à l'inverse d'instances, le format records sauvegarde les informations en binaire, donc dans un format illisible pour l'homme, et il utilise directement l'implémentation pour la création des objets AROM. Cette dernière spécificité permet de tirer parti de l'implémentation afin de réduire les temps de lecture et d'écriture.