045120 Le temps en informatique, pourquoi est-ce important ? pourquoi est-ce difficile ? comment fait-on ?

  • Dates des cours : 13nov-20nov-27nov-4déc-11déc-18déc
  • Heure de début du cours : 14:00
  • Heure de fin du cours : 16:00
  • Jour du cours : Jeudi
  • Intervenant : Olivier ROUX

Information: Les jours et horaires actuellement affichés correspondent à la programmation de l'année universitaire 2025-2026. Les horaires de l'année en cours restent inchangés. Pour toute question, merci de contacter le secrétariat pédagogique.



Olivier ROUX

Le temps en informatique, pourquoi est-ce important ? pourquoi est-ce difficile ? comment fait-on ?
— La logique temporelle et la synchronisation dans les systèmes numériques —

Aucune compétence particulière, pas même en algorithmique, n’est requise pour suivre ce cours.

De tous temps, les hommes ont eu besoin de mesurer le temps. Les premiers outils de cette mesure reposaient généralement sur des mécanismes d’écoulement continus tels que l’eau dans la clepsydre ou le sable dans le sablier ou le mouvement du balancier dans l’horloge…

Mais ces phénomènes naturels sont évidemment incompatibles avec la nature discontinue du modèle numérique basé sur un codage par des nombres. Or, on se doute bien que le temps joue aussi un rôle essentiel dans les ordinateurs, tout particulièrement lorsque ceux-ci doivent communiquer entre eux et donc se synchroniser ou lorsque plusieurs utilisateurs peuvent accéder de façon concurrente à des données enregistrées et traitées par un ordinateur.

Et ces systèmes ont, d’une part, un fonctionnement qui devient chaque jour de plus en plus complexe, et d’autre part, ils doivent garantir absolument l’intégrité des données qu’ils ont à traiter. Par exemple, on s’imagine bien que des transactions financières demandées simultanément par différents opérateurs répartis de par le monde doivent être parfaitement sécurisées, tout comme nos simples demandes de réservation de places dans un avion doivent rester cohérentes même si elles arrivent en concurrence avec d’autres demandes similaires.

C’est pourquoi la façon de prendre en compte le temps dans les systèmes numériques s’est enrichie petit à petit. Il est éclairant de comprendre comment ces mécanismes temporels sont mis en œuvre et à quel point ils sont adaptés. Cela passe par des procédures logiquement établies — autrement dit des algorithmes — que l’on pourra décortiquer très simplement.

Nous ne ferons appel qu’à des raisonnements logiques simples (de la logique temporelle) qui simulent d’ailleurs des mécanismes de synchronisation que nous appliquons quotidiennement dans la vie courante.

Objectif scientifique et synthèse du contenu du cours :

Dans ce cours, nous chercherons donc à montrer que les sciences du numérique s’appuient sur de puissants fondements de la logique pour considérer le temps, et se déploient naturellement dans des applications concrètes.

1. Introduction : que sont les processus informatiques concurrents ? Pourquoi et comment fonctionnent-ils ensemble ?

2. Des algorithmes basiques pour synchroniser les tâches que les ordinateurs doivent exécuter. Le concept d’exclusion mutuelle mis en œuvre.

3. Une démarche avancée pour la synchronisation : le « rendez-vous ».

4. Garantir la chronologie. La logique temporelle, extension de la logique classique pour vérifier la correction du fonctionnement des systèmes critiques.

5. Vérifier des propriétés chronométriques (durées, délais, retards, … ).

 

Résumé de votre carrière : Professeur émérite à l’École Centrale de Nantes, Membre honoraire de l’Institut Universitaire de France

S'inscrire