Hero background

simloop - Una libreria per simulazioni a eventi discreti

Pensate che creare nuove librerie per lo sviluppo di applicazioni, nell'epoca dell'IA e dei grandi modelli di linguaggio sia una tendenza un pò vintage e/o superata? Bhè, probabilmente avete ragione. Se già da tempo l'abitudine di reinventare la ruota e riscrivere framework già presenti sul mercato è quasi sempre bandita nel contesto dello sviluppo software, figurarsi adesso che con pochi prompt è possibile sfruttare il modello di turno per riprodurre funzionalità complesse ed inserirle nel proprio progetto!

Eppure, nonostante tutto ciò sia vero, a me fa piacere ogni tanto riassaporare il gusto di progettare una semplice libreria, con gli occhi della maturità e, ovviamente, con a fianco un fidato modello di coding AI da utilizzare non tanto come sostituto progettista, ma come scrupoloso assistente per velocizzare l'implementazione di alcune parti più noiose dove non c'è un grande valore concettuale.

Da questi presupposti ho dato vita a Simloop, una libreria general-purpose per chi vuole scriversi in autonomia degli scenari, eseguire delle simulazioni con sorgenti probabilistiche e raccogliere interessanti statistiche su quello che è successo nel corso del tempo di simulazione. Il tutto con il comfort del typing system di Typescript, ormai noto ai più, e un'architettura di API pensata sia per la semplicità ma anche per fornire un set abbastanza completo di funzionalità. Ho raccolto concetti e documentazione nel sito ufficiale del progetto.

SITO UFFICIALE
CTA Image

Simloop - A general-purpose discrete event simulation (DES) framework for Node.js, written in TypeScript.

VAI

La libreria è rilasciata con licenza MIT ed è scaricabile/modificabile liberamente. La trovate su Github ed NPM, e potete già includerla nei vostri progetti.

Nella documentazione ci sono svariati esempi che ne mostrano le caratteristiche principali e il funzionamento di tutte le API fin qui sviluppate:

DOC - EXAMPLES
CTA Image

Esempi e scenari d'uso delle primitive ed API di Simloop (risorse, code, state, statistiche, ecc...).

Link

Non ha la pretese di essere un framework completo (al momento della scrittura, la libreria è alla sua versione 0.5.1) ma si propone come una valida base per chi vorrebbe simulare sistemi reali senza sganciarsi da un linguaggio ben noto come Typescript, dove il numero di framework di questo tipo è più limitato rispetto ad altri linguaggi (Python, Java, ecc...).

In un prossimo articolo cercherò di illustrare qualche caso d'uso più concreto che sfrutti appieno le funzionalità della libreria!