RePeGlio   Les trois lois de la logicielistique
          et la loi zéro.

   A l’instar des « Trois Lois de la Robotique » initiées par Isaac Asimov, Pascal Polverini vient d’introduire dans IBMSystems Magazine de Septembre 2015, à la rubrique stratégie, « Les trois lois de la Logicielistique». Tout d’abord, voici un rappel des trois lois universelles d’Isaac Asimov qui ont pour vocation de faire vivre en bonne intelligence les humains et les robots :

  1. Un robot ne peut porter atteinte à un être humain, ni, en restant passif, permettre qu'un être humain soit exposé au danger.

  2. Un robot doit obéir aux ordres qui lui sont donnés par un être humain, sauf si de tels ordres entrent en conflit avec la première loi.

  3. Un robot doit protéger son existence tant que cette protection n'entre pas en conflit avec la première ou la deuxième loi.

    Il est clair que ces trois lois hiérarchisées permettent la prise de décision pertinente des robots.

    C’est en s’inspirant des trois lois universelles de la robotique d’Isaac Asimov que Pascal Polvérini a pensé les trois lois universelles de la logicielistique :

  1. Le logiciel doit s’appuyer sur des standards ouverts ou, à défaut, des formats interopérables.

  2. Le logiciel doit être basé sur une architecture multi-tier, à condition qu’une telle architecture ne s’oppose pas à la première loi.

  3. Le logiciel doit centraliser sa logique, tant qu’une telle centralisation n’entre pas en conflit avec la première et seconde loi.

De notre côté, nous avons voulu vérifier le niveau de conformité actuel d’un programme RPG relativement à la deuxième et troisième loi de la logicielistique, sans pour autant contrevenir à la première loi. L’expérience consiste :

  • A partir d’un programme RPG de type formulaire, traiter uniquement son DSPF associé et enlever tous les libellés, les couleurs, les attributs de présentation avec un éditeur de sources.

  • Puis de ne compiler que le DSPF *file et pas le RPG.

    Ensuite appeler le programme RPG non recompilé. Nous constatons qu’il fonctionne sans générer d’erreur de niveau (« tier » peut être traduit en Français par niveau), ce qui démontre que :

  • Le programme RPG n’a besoin que de la définition du buffer pour fonctionner.

  • Le programme RPG est indépendant de la couche de présentation.

    Ainsi, le programme RPG pourrait fonctionner avec seulement la mémoire tampon E/S. Il serait ensuite possible d’associer dynamiquement au programme RPG, à l’aide d’un designer multi-interfaces, la couche présentation souhaitée (texte ou HTML ou ATMs etc…). Selon Pascal, la mémoire tampon du RPG pourrait être décrite avec un standard ouvert XML ou/et Json afin de se conformer à la première loi de la logicielistique, supérieure en hiérarchie aux deux autres, à savoir : « le logiciel doit s’appuyer sur des standards ouverts ».
    L’avantage du découpage multi-tier serait de gérer dans le temps des interfaces utilisateurs interchangeables ou de pouvoir modifier la logique applicative centralisée sans nécessairement toucher aux autres tiers. Par exemple, un logiciel s’éteindrait de sa belle mort seulement lorsque les fonctionnalités qu’il traite auront disparu, et non lorsque les interfaces, désormais interchangeables, ne seront plus à la dernière mode.

    Cependant, il existe selon Isaac Asimov dans son livre « Les robots et l’Empire » une loi qui est supérieure aux trois lois. Cette loi a été déduite par deux robots. L’un d’eux appelé Giskard était un robot laid au regard presque éteint, spécialement programmé pour analyser les pensées des humains. Il était de nature maussade car il se trouvait bloqué par les trois lois, ce qui l’affectait beaucoup. Il doit y avoir, croyait-il, « une loi supérieure aux trois lois…». Finalement, cette loi altruiste non codée, supérieure à la première loi, appelée loi zéro, tentera de placer les intérêts de l’humanité avant ceux d’un individu.

    Nous avons aussi notre loi zéro au-dessus des trois lois de la logicielistique. Cette loi zéro, née avec le Cloud, dit qu’une plateforme se doit de mettre ses ressources en commun. Elle doit être fondée sur le partage des données et des traitements entre tous les utilisateurs ou travaux qui les sollicitent online. Cette loi zéro, caractérisée par le multi-tenant et le client léger, est actuellement la loi dominante du Cloud sur le réseau mondial.
    La plateforme IBM i est un écosystème intégré qui satisfait pleinement aux critères de mutualisation. La loi zéro en fait une plateforme de choix pour héberger des applications RPG qui centralisent la logique applicative conformément à la troisième loi et qui sont conçues pour durer conformément aux deux autres lois.  

Jean Mikhaleff/RePeGlio

Nos références:

Notre Site: www.repeglio.fr

Pour un commentaire libre ou pour abonner quelqu'un: jean@repeglio.com


Pour retirer votre email d'envoi  de notre liste de diffusion: 

Retourner-nous la lettre avec en objet OPTOUT et votre email d'envoi:  #E-mail#    sera retiré de notre liste de diffusion.