3.6 Programmes d'ordinateurs
La modélisation de l'information est une activité intellectuelle dépourvue de technicité et généralement effectuée par un analyste de systèmes au premier stade de développement d'un logiciel afin de fournir une description formelle d'un système ou d'un processus réel. Par conséquent, les spécifications d'un langage de modélisation, la structure d'un processus de modélisation de l'information (par exemple l'utilisation d'une macro) ou la maintenance de modèles ne présentent pas de caractère technique (T 354/07). De même, les propriétés inhérentes aux modèles d'information comme la possibilité de les réutiliser, leur indépendance vis-à-vis des plateformes ou leur utilité à des fins de documentation, ne sont pas considérées comme des effets techniques (T 1171/06).
Si un modèle d'information est délibérément utilisé dans le contexte d'une invention pour résoudre un problème technique spécifique en produisant un effet technique, il peut contribuer au caractère technique de l'invention (cf. également G‑II, 3.3.2 et G-II, 3.5.1).
Les caractéristiques qui précisent comment le modèle est effectivement stocké (par exemple à l'aide de la technologie des bases de données relationnelles) peuvent aussi apporter une contribution technique.
Les méthodes conceptuelles qui décrivent le processus de développement de logiciels (les méta-méthodes) n'ont pas normalement de caractère technique. Ainsi, dans une méthode mise en œuvre par ordinateur destinée à générer un code de programme lié à une tâche de commande, une caractéristique qui précise qu'un modèle indépendant par rapport aux plateformes est converti en un modèle dépendant d'une plateforme, dont est tiré le code programme adapté à la plateforme cible, n'apporte aucune contribution technique dans la mesure où il n'y a aucune incidence sur l'exécution de la tâche de commande en soi.
La programmation – au sens de rédiger du code – est une activité intellectuelle, non technique, dans la mesure où cette activité ne sert pas à produire un effet technique, par un lien de causalité, dans le cadre d'une application ou d'un environnement concrets (G 3/08, T 1539/09).
Par exemple, la lecture d'un paramètre relatif à un type de données à partir d'un fichier en tant qu'information à traiter par un programme d'ordinateur, (contrairement à la définition du type de données dans le programme lui-même) constitue une simple option de programmation lors de la génération du code, qui, en soi, ne présente aucun caractère technique. Il en va de même pour les conventions de désignation des objets qui visent à faciliter la gestion du code de programme et à le rendre plus intelligible.
Le fait de définir et de fournir un langage de programmation ou un modèle de programmation, tel que la programmation orientée objet, ne résout pas, en tant que tel, un problème technique, même si la syntaxe ou la sémantique retenues facilitent la tâche du programmeur. Réduire l'effort intellectuel du programmeur n'est pas en soi un effet technique.
Les caractéristiques inhérentes au langage de programmation ne sont pas normalement considérées comme contribuant au caractère technique d'une invention portant sur un environnement de programmation. Par exemple, dans un environnement de programmation visuel, la fourniture d'unités graphiques spécifiques fait partie du langage de programmation et n'apporte aucune contribution technique si le seul effet obtenu consiste à réduire l'effort intellectuel du programmeur. Le fait de fournir des concepts de programmation particuliers peut permettre à un programmeur de rédiger des programmes plus courts, mais cela n'est pas considéré comme un effet technique car toute réduction de la longueur du programme ainsi obtenue dépend en définitive de la manière dont ces concepts sont exploités par le programmeur humain. En revanche, un procédé consistant à traiter automatiquement du code machine en le divisant en une chaîne d'opérations et une chaîne d'opérandes et en remplaçant les jeux d'instructions redondants par des macro-instructions afin de générer du code optimisé qui exige moins de mémoire, apporte une contribution technique. Dans ce dernier cas, l'effet ne dépend pas de la manière dont un programmeur humain exploite les macro-instructions.
Les caractéristiques d'un environnement de programmation qui ont trait à son interface utilisateur graphique, par exemple la visualisation d'informations et les mécanismes de saisie de données, doivent être évaluées selon l'approche présentée aux points G‑II, 3.7 et G-II, 3.7.1.