Un type abstrait est une structure qui n'est pas définie en terme d'implantation en mémoire ou par une explicitation de ses composantes, mais plutôt en termes d'opérations et de propriétés sémantiques. La spécification d'un type abstrait est indépendante de toute représentation de la (ou des) structure(s) en machine et de l'implantation des opérations associées. Ceci a pour intérêt d'empêcher l'utilisateur d'une telle structure de modifier directement la structure avec le risque de la rendre éventuellement incohérente. Une autre conséquence intéressante est l'amélioration de la portabilité qui découle de l'indépendance entre les manipulations de la structure et la méthode d'implantation choisie.
Il existe différentes approches et langages pour la spécification d'un type abstrait. Quelle que soit l'approche, la spécification d'un type abstrait comporte deux parties : la structure logique et les opérations.
La spécification de la structure logique décrit une instance du type abstrait, les relations qui peuvent exister entre les éventuelles composantes de cette instance et les assertions invariantes qui décrivent les restrictions à apporter à ces relations.
La spécification des opérations décrit la syntaxe et la sémantique des primitives de manipulation du type abstrait. Si un langage formel est utilisé pour cette spécification, une description de ce langage doit accompagner la description du type abstrait.
La plupart des structures que nous avons déjà vues, ainsi que la plupart des structures que nous verrons plus loin, peuvent être décrites en termes de types abstraits. Bien qu'il existe des formalismes algébriques permettant de décrire des types abstraits, dans les exemples qui suivent, nous nous contenterons de décrire les types abstraits en langage naturel sans faire de séparation explicite entre les différentes parties de la spécification. Le but des spécifications qui seront données plus loin est principalement d'améliorer la compréhension des différentes structures décrites plutôt que de prouver la complétude ou la consistance de leur implantation.
Site Hosting: Bronco