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 perte de performance ni pannes

Terme « modèle scalable »

  • Usage courant : capacité à augmenter selon la demande
  • En simulation à événements discrets : s’étendre tout en restant stable

Importance

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

Modèles plus et moins scalables

Modèle plus scalable

Diagramme montrant un modèle modulaire plus scalable 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

Diagramme montrant un modèle moins modulaire, donc moins scalable ; le code est mal compartimenté, on ne peut pas 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 (modules) interchangeables

  • Processus séparés en fonctions distinctes

  • Modules appelés plusieurs fois

  • Au lieu de dupliquer le même code

Diagramme montrant un modèle composé de sept fonctions ; une mise à niveau a remplacé le module « func_b » par « func_b1 » et ajouté « 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 replacement
  def func_c()
  def func_f()   # New module added
  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...