Modulariteit voor continue ontwikkeling optimaliseren

Discrete Event Simulation in Python

Diogo Costa (PhD, MSc)

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

Wat is modelschaalbaarheid?

  • Mogelijkheden uitbreiden in de tijd
  • Zonder prestatieverlies of uitval

Term “schaalbaar” model

  • Gangbaar: capaciteit verhogen bij meer vraag
  • In discrete-eventmodellen: uitbreiden en stabiel blijven

Belang

  • Cruciaal voor langetermijnsucces en -waarde
  • Vermogen om te evolueren
  • Goede codepraktijken, zoals modulariteit
Discrete Event Simulation in Python

Schaalbare vs. minder schaalbare modellen

Schaalbaar model

Diagram met een modulair model dat schaalbaarder is doordat de code goed is opgedeeld, zodat modules makkelijk kunnen worden toegevoegd, verwijderd of vervangen zonder de modelstructuur te wijzigen.

Minder schaalbaar model

Diagram met een minder modulair model dat minder schaalbaar is doordat de code niet goed is opgedeeld, waardoor modules niet eenvoudig kunnen worden toegevoegd, verwijderd of vervangen zonder wijzigingen aan de modelstructuur.

Discrete Event Simulation in Python

Modelmodulariteit

  • Uitwisselbare componenten (modules)

  • Processen opgesplitst in losse functies

  • Modules meerdere keren aanroepen

  • In plaats van dezelfde code te kopiëren

Diagram van een model met zeven functies, waarbij een upgrade module "func_b" vervangt door "func_b1" en module "func_f" toevoegt tussen "func_c" en "func_d".

Discrete Event Simulation in Python

Voorbeeld: modules vervangen en toevoegen

Oude versie

with counter.request() as request:
    yield request

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

Bijgewerkte versie

with counter.request() as request:
  yield request

  def func_a()
  # def func_b() # Module vervangen door
  def func_b1()  # Vervangende module
  def func_c()
  def func_f()   # Nieuwe module toegevoegd
  def func_d()
  def func_e()
Discrete Event Simulation in Python

Laten we oefenen!

Discrete Event Simulation in Python

Preparing Video For Download...