Modularité des modèles pour optimiser le développement continu

Simulation d'événements discrets en Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Qu'est-ce que l'évolutivité d'un modèle ?

  • Étendre les capacités dans le temps
  • Sans perdre en performance ni se dégrader

Terme « modèle scalable »

  • Usage courant : capacité d'augmenter la charge selon la demande
  • En modèles à événements discrets : capacité de s'agrandir et rester stable

Importance

  • Essentiel pour la pérennité et la valeur du modèle
  • Capacité d'évoluer
  • Bonnes pratiques de code, dont la modularité du modèle
Simulation d'événements discrets en Python

Modèles plus ou moins évolutifs

Modèle scalable

Schéma montrant un modèle modulaire plus évolutif, car le code est bien compartimenté : on peut ajouter, retirer ou remplacer des modules sans modifier la structure du modèle.

Modèle moins scalable

Schéma montrant un modèle moins modulaire, donc moins évolutif : le code est mal compartimenté, on ne peut pas facilement ajouter, retirer ou remplacer des modules sans changer la structure du modèle.

Simulation d'événements discrets en Python

Modularité du modèle

  • Composants (ou modules) interchangeables

  • Processus compartimentés en fonctions distinctes

  • Modules appelés plusieurs fois

  • Plutôt que de dupliquer le même code

Schéma d'un modèle composé de sept fonctions ; une mise à niveau a remplacé le module « func_b » par « func_b1 » et ajouté le module « func_f » entre « func_c » et « func_d ».

Simulation d'événements discrets en Python

Exemple : remplacer et ajouter des modules

Ancienne version

with counter.request() as request:
    yield request

    def func_a()
    def func_b()
    def func_c()
    def func_d()
    def func_e()

Version mise à jour

with counter.request() as request:
  yield request

  def func_a()
  # def func_b() # Module replaced by
  def func_b1()  # Module de remplacement
  def func_c()
  def func_f()   # Nouveau module ajouté
  def func_d()
  def func_e()
Simulation d'événements discrets en Python

Passons à la pratique !

Simulation d'événements discrets en Python

Preparing Video For Download...