Le but est de concevoir des structures de données, des langages de programmation, et les théories associés, qui offriront davantage d'efficacité, d'interoperabilité, de sureté, et finalement de possibilitées de traitements des données, appelés qualités opérantes des données. Cette question étudiée de la façon la plus générale constitue un fondement de l'informatique qui s'avère être également un fondement mathématique.
Au vue de l'évolution technologique et des nouveaux langages de programmation, il nous parait utile de repenser la problèmatique des bases de données qui ont été mises au point il y a 30 ans, les buts et moyens ayant changés. Nous étudions comment un ordinateur peut traiter des données en étant efficace, sûre, interopérant avec d'autres ordinateurs menant des traitements analogues, et ouvert aux évolutions futures. On privilègera le concept de langage qui est à la base de toute chose. Une donnée est une phrase d'un langage. Elle respecte des règles, régles de grammaires et règles sémantiques, appelé théorie, et en cela, la donnée est une réalisation d'une théorie. Une donnée est aussi opérante, elle constitue en cela un programme.
1) Le système épouse les données fondamentales
Une données peut être changeante, sans changer de taille, ou au contraire de taille trés variantes. Une donnée peut variée trés lentement, voir être immuable. Les données immuables ou variant rarement ou trés lentement, ou considéré comme tel par le système, sont la mémoire profonde du système qui s'unifie fortement à elles, et devront finalement être traité comme des fondements. Les données volatiles mais dont la taille est fixe ou dont la taille varie rarement ou lentement, dévoilent aprés analyse, d'autres données implicites, fixes ou variant rarement ou lentement que sont le cadre, le comportement de quelques données, et doivent être ajoutées à la mémoire profonde du système. Il existe des données implicites obtenue après une première analyse qu'il faut intégrer comme fondement. Ainsi les fondements ne sont pas seulement issus des données premières, mais les informations immuables ou qui varie trés lentement ou trés rarement ou qui sont consondérés comme tel par le système, et sont souvent le résultat d'analyse qui peuvent être trés longues. Les fondements du systèmes évoluerons donc lentement nécessairement, et le système est donc, sur une longue échelle, libre.
2) La sécurité est une question globale
Aucun des deux, du système ou des données, nés soumis à l'autre, ils collaborent plus ou moins, ils fusionnent plus ou moins. Car nul sécurité ne peut être fondé sur un lien de soumission totale, de subordination aveugle. La problèmatique de la sécurité s'appuit sur des principes philosophiques, de concordance, d'indépendance et de séparation. La sécurité est basée sur la séparation des pouvoirs, le pouvoir étant sa propre faiblesse, sa propre cause de corruption appelé usure. Et l'esprit critique libre présent à tous les échelons sera seul amène de mettre en déroute toute entrepise totalisante. Et le système est donc libre, par nécessité de sécurité, et pourra alors se retourner librement contre les intérêts de son auteur, de son commanditaire, le cas échéant. C'est le paradoxe de la séurité, car l'auteur peut être corrompu et la sécurité englobe le système et l'auteur.
3) L'euristique naturelle
Le comportement topologique d'une donnée prédispose le principe de son traitement. C'est un choix méthodologique, l'euristiques de recherche dite naturelle, car dans la vision naïve du monde intelligible, on suppose qu'il existe un cheminement naturelle, qui découle de source, pour accéder à toute totologie et que ce chemin est le plus amène à combler notre quète de connaissance, nous qui sommes le fruit de cette nature.
4) La reproduction asexuée
Les données fixes tiennent sur une mémoire séquentielle, un fichier séquentiel binaire, propre à la copie brute, à sa sauvegarde, à sa perdurance, au clonage, une reproduction asexuée en quelque sorte. Et, une fois analysée, traitée, tout un arsenal d'outils se constitue autour de la donnée pour augmenter sa qualité opérante. Il est inutile de modifier la donnée fixe analysée initiale, au contraire le maintient d'une copie originale nous assure aucune perte d'information et nous assure l'efficacité du premier traitement, qu'est la copie sûre intégrale, et ceci sans altérer l'efficacité future des autres traitements. Parcontre la place mémoire n'est pas réduite, et il se peut que nous ayons besoin de comprimer les données fixes pour gagner de la place, compression sans perte ou avec perte. Et le problème se repose identique avec la donnée comprimée que l'on maintient dans son état originel comme une deuxième naissance. Et pour assurer la reversibilité ou la traçabilité, on ajoutera à la données comprimée, l'algorithme de compression que l'on a utilisé, ou plutôt sa référence, car l'algorithme lui-même est une donnée complexe et seuls quelques algorithmes pertinents seront utilisés.
5) La donnée est une réalisation d'une théorie
La donnée devra indiquer dans quel langage elle est écrite, par une référence, le langage étant partagé par d'autres systèmes dialoguant ainsi facilement. La description d'un langage est une donnée complexe. Ainsi la donnée contiendra des références à une série de normes dont le langage fait partie. Et puis la donnée respectera certaine règle d'integrité. L'ensemble de ces règles est regroupées dans une théorie également ajouté à la donnée sous forme de références. Cette théorie permet de faire un contrôle d'intégrité de haut niveau sur la données. Ainsi la donnée constitura une réalisation de la théorie. La description d'une théorie est une donnée complexe, c'est pourquoi on en choisie quelques une les plus pertinantes et ont y fait simplement références. Il sera possible de traduire une donnée d'un langage en un autre, ou tout au moins d'en faire une traduction incomplète. Le mécanisme de traduction est un programme déterminé par les théories des deux langages. Une donnée qui a perdu ses références de langage et de théorie, a perdu une information haute, qui, si la donnée est grande, peut être partiellement retrouvée, ou plutôt induite, avec un risque d'erreur minime. La théorie est une donnée fondamentale.
6) Les trois concepts : Donnée, Programme, Théorie
Il n'y a pas de différence entre le programme et la données. Un programme peut être une données et une données peut être un programme. On en conclu que le système lui-même peut être une données. On retrouve donc les trois concepts clés : donnée, programme et théorie qui constituent les facettes d'une même entité née du langage. Ainsi l'analyse du traitement de données vue de la façon la plus générale, nous amène de façon naturelle à étudier le fondement de l'informatique qui, dans la vision intuitioniste, coïncide avec le fondement des mathématiques.
L'ordinateur doit gérer sa mémoire, il le fait à l'aide d'un programme qui est lui-même une données dont il doit gérer la mémoire. Le traitement des données sera intimement lié à la gestion de la mémoire. Et on pourrait dire que la gestion de la mémoire pris au sense large, intègre l'analyse, la reflexion, ainsi que tout les traitements sur les données.
7) L'adressage indirecte ou le référencement
Le second mécanisme après le clônage, dans la mise en oeuvre des concepts fondamentaux, est l'adressage indirecte ou le référencement. On ne répète pas une information complexe, mais on y fait simplement référence, dés lors que celle-ci peut être factorisée, c'est à dire qu'elle peut apparaître plusieurs fois identiques dans un ensemble de données gérer par un ou plusieur systèmes participant à une même communauté.
8) La topologie du système
La notion de système est une notion récursive, qui rejoint celle de communauté. C'est un ensemble de systèmes plus petits ayant des échanges privilègiés entre eux, c'est à dire se trouvant dans un état de fusion plus avancée que les autres systémes dit exterieurs.
On ne peut pas diviser les systèmes indéfiniment en plus petits systèmes, les systèmes indivisibles apparaisent. Il apparait deux critères de quantification, géographique et procédurale, physique et virtuel, deux sortes de quantum. Le quantum géographique, appelé aussi quantum physique, est un processeur ou un bloc mémoire, qui est considéré comme un processeur spécialisé, un périphérique localisé géograhiquement. Parcontre le quantum procédurale dit virtuel est plus difficile à circonscrire, il correspond à l'exécution d'un programme, à la vie d'un processus. Mais ce processus peut exécuter ses instructions sur un processeur puis l'instant d'après exécuter ses instructions suivantes sur un autre processeur ailleur.
Dans le monde Unix, un processus est nécessairement dans un système Unix qui lui alloue les ressources nécessaires en processeurs et mémoires. Ici le processus peut être plus abstrait et ne pas posséder cette contrainte, dans la mesure où il intègre une partie de la tâche système, celle qui consiste à demander des ressources et à accepter celles qu'on lui donne. Il est alors appelé processus autonome.
Le plus petit système physique est le processeur, la machine localisé géographiquement. Le plus petit système virtuel est le processus, en deça du processus nous aurons des fragments de programmes, des virus, qui obéïssent à une logique plus rudimentaire.
Le processus n'est pas nécessairement localisé sur un processeur et une mémoire précise, le processus peut utiliser des processeurs différents successivement et s'il est autonome ou transmissible, se déplacer géographiquement. De plus le processus peut donner naissance à plusieurs processus fils, et son déplacement peut être une création d'un processus fils à un autre endroit suivie de la mort du processus père.
9) Les algorithmes biomimétiques et évolutionnaires
L'autre idée originale portée par la méthodologie naturelle consiste à mimer l'évolution du vivant. En effet il existe des analogies profondes entre le vivant et un magma de processus soumis à des contraintes implicites. La mise en oeuvre d'une sorte d'évolution naturelle aboutira au bout d'un temps de calcule trés long, à une solution solide qui nous surprendra nécessairement. Mais il y a des prémisses nécessaires pour qu'un tel algorithme soit fonctionnel.
Les 4 types de données :
defragmentation
Nous allons partir d'un exemple, le nouveau code du travail. La données est un texte qui peut tenir dans la mémoire vive d'un ordinateur. La mémoire est séquentielle, chaque caractère du texte occupe une case succesisve. Et nous allons compléter cette mémoires pour la rendre plus efficace, pour retrouver plus rapidement ce que nous pourrions rechercher à l'interieur.
la première recherche conciste à extraire du texte un article particulier d'après sa référence, une dizaine de caractères placées dans le titre de l'article après le mot Article. On ne veut pas relire le texte car cela est lent. On utilise alors une table de hachage, qui complètera la donnée en la rendant d'avantage opérante. Et la copie de la seul donnée brute suffira pour pouvoir reconstituer cette table de hachage.
1) La table de hachage