Presentation Transcript
Ordinateurs et logicielsà 4 dimensions© Léon Lévy 02/2009 :Copyright Léon Lévy 2009 http://www.simplimal.com/ Ordinateurs et logicielsà 4 dimensions© Léon Lévy 02/2009
Justification :Justification Ce que je crois :
La complexité vient de ce que les modèles et langages actuels « aplatissent » la réalité qu’ils sont sensés représenter. Copyright Léon Lévy 2009 http://www.simplimal.com/
Modèles et langages :Modèles et langages Les langages sont « plats » Copyright Léon Lévy 2009 http://www.simplimal.com/ .
Modèles et langages :Modèles et langages Copyright Léon Lévy 2009 http://www.simplimal.com/ Les modèles informatiques sont « plats » .
Modèles et langages :Modèles et langages Copyright Léon Lévy 2009 http://www.simplimal.com/ Les ordinateurs sont faits pour les langages « plats » .
Comment ? :Comment ? Copyright Léon Lévy 2009 http://www.simplimal.com/ Voyons comment « déplier » la complexité d’un programme informatique dans l’espace et dans le temps. .
1° le Déploiement dans l’espace :1° le Déploiement dans l’espace Comment passer une instruction de 1 à 3 dimensions ? Copyright Léon Lévy 2009 http://www.simplimal.com/
Un petit programme :Un petit programme Copyright Léon Lévy 2009 http://www.simplimal.com/ Prenons une instruction (incrémentation) Instructions public static void main(String args[]) {
System.out.println("Start");
File[] f = new File(".").listFiles();
try {
// Preprocess: sorting by file name
Arrays.sort(f, COMPARATOR);
// Process
for (int ifile = 0; ifile < f.length; ifile++) {
if (f[ifile].isFile()) {
String fName = f[ifile].getName();
if (fName.equalsIgnoreCase(PROPERTIES_FILE_NAME)) {
// read the properties
readProperties(f[ifile]);
}
else if (fName.indexOf(APPLI_FILE_NAME_ID) < 0 &&
!fName.equalsIgnoreCase(OUPUT_FILE_NAME)) {
// build the picture list
System.out.println("file name = " + fName);
pictureList.addElement(fName);
}
}
}
writer();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("End");
Merci à Laurent Cognard pour ce petit programme (extrait)
http://lcognard.free.fr/index.php3 .
Une instruction simple :Une instruction simple Copyright Léon Lévy 2009 http://www.simplimal.com/ Instruction d’incrémentation I++ I++ 0 1 A l’exécution : J++ 36 37
Séparons donnée et instruction :Séparons donnée et instruction Copyright Léon Lévy 2009 http://www.simplimal.com/ ++ I Donnée Instruction L’instruction devient indépendante de la donnée .
Une instruction séparée de sa donnée :Une instruction séparée de sa donnée Copyright Léon Lévy 2009 http://www.simplimal.com/ ++ I=0 I=1 A l’exécution : ++ J=36 J=37 L’instruction est un point
Déplions l’instruction en 1 dimension :Déplions l’instruction en 1 dimension Copyright Léon Lévy 2009 http://www.simplimal.com/ I=0 I=1 J=36 J=37 L’instruction est alors réutilisable sur toute la ligne L’instruction est une droite 1ère dimension
Déplions l’instruction en 2 dimensions :Déplions l’instruction en 2 dimensions Copyright Léon Lévy 2009 http://www.simplimal.com/ L’instruction est un plan 2ème dimension
Instruction dépliée en 3 dimensions :Instruction dépliée en 3 dimensions Copyright Léon Lévy 2009 http://www.simplimal.com/ L’instruction est un volume 3ème dimension
2° le déploiement dans le temps :2° le déploiement dans le temps Comment introduire la 4ème dimension ? Copyright Léon Lévy 2009 http://www.simplimal.com/
L’axe du temps :K=10 L’axe du temps I=1 Copyright Léon Lévy 2009 http://www.simplimal.com/ Axe du temps J=37 I=0 J=36 K=9 etc. Événements, données dynamiques t
1ère conséquence :t 1ère conséquence Copyright Léon Lévy 2009 http://www.simplimal.com/ L’instruction est réutilisable sur toute sa surface. I=0 I=1 K=10 J=36 J=37 K=9 P+1 P Événements, données dynamiques
2ème conséquence :t 2ème conséquence Copyright Léon Lévy 2009 http://www.simplimal.com/ L’instruction peut s’exécuter en parallèle sur toute sa surface. I=0 I=1 K=10 J=36 J=37 K=9 P+1 P
Variété infinie de cloisons :Variété infinie de cloisons Copyright Léon Lévy 2009 http://www.simplimal.com/ chacune avec un comportement différent
Peuvent être disposées dans l’espace :Peuvent être disposées dans l’espace Copyright Léon Lévy 2009 http://www.simplimal.com/
Exemple d’enchainement d’instructions « cloisons » :Exemple d’enchainement d’instructions « cloisons » Copyright Léon Lévy 2009 http://www.simplimal.com/ =0
++
Print I I=1 I=0 I=1
Quelques variétés d’ « instructions cloisons » :Quelques variétés d’ « instructions cloisons » Copyright Léon Lévy 2009 http://www.simplimal.com/
Cloison sélectiveen fonction du type de flux :Cloison sélectiveen fonction du type de flux Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes Règlements Factures Commandes
Cloison filtre fonction de certaines propriétés :Cloison filtre fonction de certaines propriétés Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes Non solvables Commandes
non solvables
Cloison à cumuls :Cloison à cumuls Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes 35$ 15$ 9$ 50$ 0 $ 35 $ 50 $ 59 $ 109 $ ?=
Filtre selon certaines identités :Filtre selon certaines identités Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes Magasin X Commandes Magasin Y Commandes Magasin Z
Avec 3 filtres :Avec 3 filtres Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes Magasin X Commandes Magasin Y Commandes Magasin Z Tout se passe comme si chaque cloison « attirait » les événements qui la concernent.
Représentation ensembliste :Représentation ensembliste Copyright Léon Lévy 2009 http://www.simplimal.com/ Commandes Magasin X, Y, Z, … Commandes Magasin X , Y, Z, … ou plusieurs
Qu’avons-nous obtenu ? :Qu’avons-nous obtenu ? Copyright Léon Lévy 2009 http://www.simplimal.com/
Qu’avons nous obtenu ? :Qu’avons nous obtenu ? Utilisables dans l’espace Les instructions
Les données Utilisables en parallèle En passant à un modèle à 4 dimensions : Les instructions
Les données
Fin :Fin Copyright Léon Lévy 2009 http://www.simplimal.com/