Modellmodularitet för att optimera kontinuerlig utveckling

Diskret händelsesimulering i Python

Diogo Costa (PhD, MSc)

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

Vad är modellskalbarhet?

  • Utöka kapaciteten över tid
  • Utan att förlora prestanda eller bli instabil

Termen "skalbar" modell

  • Vanlig användning: Förmåga att öka kapaciteten baserat på användarbehov
  • I diskreta händelsemodeller: Förmåga att expandera och förbli stabil

Betydelse

  • Avgörande för modellens långsiktiga värde och livslängd
  • Förmåga att utvecklas
  • God kodpraxis, till exempel modellmodularitet
Diskret händelsesimulering i Python

Skalbara och mindre skalbara modeller

Skalbar modell

Diagram som visar en modulär modell som är mer skalbar eftersom koden är ordentligt uppdelad, vilket gör att moduler enkelt kan läggas till, tas bort eller ersättas utan att modellstrukturen behöver ändras.

Mindre skalbar modell

Diagram som visar en mindre modulär modell som är mindre skalbar eftersom koden inte är ordentligt uppdelad, vilket gör det svårare att lägga till, ta bort eller ersätta moduler utan att ändra modellstrukturen.

Diskret händelsesimulering i Python

Modellmodularitet

  • Utbytbara komponenter (eller moduler)

  • Processer uppdelade i separata funktioner

  • Moduler anropas flera gånger

  • Istället för att kopiera samma kod

Diagram som visar en modell med sju funktioner, där en uppgradering innebar att modulen "func_b" ersattes av "func_b1" och modulen "func_f" lades till mellan "func_c" och "func_d".

Diskret händelsesimulering i Python

Exempel: ersätta och lägga till moduler

Gammal version

with counter.request() as request:
    yield request

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

Uppdaterad version

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()
Diskret händelsesimulering i Python

Nu kör vi en övning!

Diskret händelsesimulering i Python

Preparing Video For Download...