Mais observons bien en quoi consiste un programme informatique. Si on enlève la logique spécifique au domaine d'application, tous les programme modernes se ressemblent plus ou moins. Il y toujours des menus, des options à choisir, des zones de saisies de texte, des bouton à peser pour que s'éxécute une action ou des zones de pointage ou de déplacement d'objets. Ces objets sont aujourd'hui le plus souvent représentés par de petits dessins (les icones) mais peuvent l'être aussi par du texte ou un aperçu de l'information représentée. La seule chose qui distingue vraiment les logiciels entre eux aujourd'hui est la logique propre au domaine d'application. Si nous avions aujourd'hui, un standard de logique aussi répandu et complet que le sont les standards d'interfaces graphiques, les experts-utilisateurs seraient beaucoup plus en mesure d'insuffler eux-même leurs connaissances à l'ordinateur.
Voila pourquoi je suis en train de développer ETS. Plus qu'un simple logiciel, ETS est aussi un protocole de données, un système de programmation en langage naturel, mais surtout une théorie de la conscience. Selon cette théorie, on peut être conscient de quelque chose selon 3 dimensions soit l'énergie (E), le temps (T) et l'espace (S). La conscience (C), qui devient la quatrième dimension, s'obtient alors par des mesures dans ces trois dimensions et on peut inscrire ce principe de la façon suivante:
Chaque combinaision primaire (E seul, T seul ou S seul) est un type de conscience en soi. Lorsqu'aucune de ces trois dimensions n'est active, cela crée une quatrième combinaison correspondant à la conscience pure (abstraction sans réalité. Nous pouvons aussi avoir des combinaisons comme ET, ES, S/T, ETT/SS, E/SSS, etc... Voici un tableau des trois principales combinaisons secondaires:
code | combinaison | psychologie | sensoriel | rapport (X/Y) |
ET | énergie-temps | mental | son | puissance (E/T) |
ES | énergie-espace | affectif | image | force (E/S) |
ST | espace-temps | physique | mouvement | vitesse (S/T) inertie (T/S) |
La conscience est donc une mesure de la réalité selon trois dimensions mais chaque dimension peut être mesurée de différentes façons. J'ai dénoté trois types de mesure qui sont la position (p), la direction (d) et la quantité (q). J'utilise également un quatrième concept, l'identité (i) pour indiquer un objet dont le type de mesure est plus ou moins clair, soit parce qu'il est indéfini ou parce qu'il en contient plusieurs. En combinant les 4 dimensions avec les 4 mesures, nous obtenons un tableau de 16 types de conscience, que je considère comme les racines de la description de la réalité telle que nous pouvons la percevoir.
dimension | identité | position | direction | quantité (unité de mesure) |
conscience | mot | type, catégorie | action, changement |
valeur, mesure (objets) |
énergie | substance | activité, vitalité |
excitation |
travail, effort (joules) |
temps | période | moment, instant |
attention |
durée, age (secondes, années) |
espace | forme | lieu, endroit |
orientation |
distance, surface, volume (mètres) |
Ce tableau contient une soixantaine de mots, identifiés selon leur état de conscience CETS-ipdq. Les concepts derrière ces mots sont les données fondamentales du système ETS. Outre ceux-cis, une autre catégorie de concepts est nécessaire pour faire fonctionner ETS. Il s'agit des relations, mieux connu en programmation en tant qu'opérateurs ou fonctions. Le langage courant les dénomme aussi verbes, actions, conjonctions, prépositions. En notation ETS, j'utilise la lettre r(relation) pour identifier ce type de concept. Voici le tableau des relations de base:
variation | identié (logique) |
position | direction | quantité | mathématique |
indéfinie | percevoir (perceive) | étre (be) | faire (do) | avoir (have) | calculer |
positive | et (and) | dans (in) | vers (to) | plus (more) | additionner, multiplier, exposant |
nulle | ou (or) | sur (on) | à, en (at) | égal (same) | assigner |
négative | non (not) | hors (out) | de (from) | moins (less) | soustraire, diviser, racine |
Il faut noter que j'ai mis entre parenthèses la traduction anglaise afin de mieux cerner le concept sous-jacent à chaque case, ces mots pouvant souvent prendre d'autres sens qui rendent ambigu la description de ces concepts. Maintenant que nous avons environ 80 mots qui sont définis, nous pourrions tenter de les combiner afin d'en définir de nouveaux. Par example, le verbe placer, pouvant se comprendre comme modifier la position spatiale d'un objet pourrait se lire comme suit:
Dans l'expression ci-haut, le souligné (_) indique que c'est un code ETS, r = relation, p = position, d = direction, S = espace et le moins (-) indique une relation de variation négative. Nous pouvons traduire cette expression en français ainsi:
Petite note pour ceux qui aiment la précision. Pour que le programme arrive à comprendre la phrase ci-dessus, il faudrait lui donner quelques autres expressions auparavant:
Lorsque nous appliquons le verbe placer à une situation concrète, par example Jean, chaise et salon, nous aurions:
Peut-être n'est-ce pas trop compréhensible et que quelques parenthèses augmenteraient la lisibilité de l'expression. Normalement, elles ne devraient pas être nécessaires pour le programme en définissant un ordre de précédence pour les opérateurs.
Ce petit exercice a pour but de démontrer comment nous pouvons définir des concepts plus complexes à partir de concepts simples. Le but ultime serait de pouvoir éventuellement avoir suffisamment de concepts définis manuellement pour ensuite faire lire un dictionnaire au programme afin qu'il définisse le reste des mots. Le dictionnaire Longman prétend pouvoir définir tous les mots de la langue anglaise avec seulement 2000 mots de base. Moi, j'en suis à une centaine, donc je suis encore loin du but. Vous pouvez cependant constater ce que cela donne en suivant le lien ci-dessous.