RT: il momento del run-time
Dal momento in cui viene individuata la risorsa che deve essere lanciata sul browser deve iniziare un dialogo tra materiale didattico e piattaforma. Questo dialogo avviene attraverso javascript.
Da un lato l’LMS deve esporre le chiamate (API), dall’altro il materiale didattico deve agganciare le API per poter effettuare il colloquio.
L’oggetto che si occupa di esporre le API può essere un insieme di funzioni javascript presenti nella pagina o un oggetto JAVA che presenta le stesse funzioni interrogabili via javascript.

Figura 12 - modello delle interazioni di run time
Quindi attraverso un mezzo di comunicazione (javascript) vengono esposte delle chiamate (nella figura: nome utente, risultato test, etc.) le cui interrogazioni e risposte avvengono secondo un data model.
Fino a SCORM 1.2 le API sono state definite in base al modello di AICC, ma nello stesso tempo IEEE stava valutando la proposta AICC per farne un modello proprio
Da SCORM 1.3 (2004) il modello utilizzato è IEEE 1484.11.2 per le API e 1484.11.1 per il data model, cambiando la modalità di funzionamento dell’ambiente di runtime;ci sono cambiamenti che si riflettono in differenze, anche sostanziali, di funzionamento tra SCORM 1.2 e SCORM 1.3
Compito dell’LMS è quello di costruire l’ambiente nel quale l’oggetto didattico SCORM trovi le condizioni per agire come previsto dal suo autore; tecnicamente si risolve nell’esporre le API e consentirne il funzionamento secondo il data model.
Dal punto di vista delle API, si può far riferimento allo schema in figura seguente, che evidenzia il rapporto tra SCO (a destra) e LMS (a sinistra) passando attraverso le API disponibili:

Figura 13 – API
Lo SCO passa attraverso tre stati:
non inizializzato: questa fase termina quando viene chiamato ‘Initialize()’
inizializzato: da questo momento sono disponibili ‘GetValue()’ per ottenere valori dalla piattaforma, ‘SetValue()’ per scriverne, ‘Commit()’ per fissare in modo statico lo stato dei dati
terminato, una volta chiamato ‘Terminate()’
Le tre restanti chiamate devono sempre essere lasciate a disposizione dello SCO.
Per quanto riguarda il data model, esso riporta tutti i dati che possono essere letti/scritti dallo SCO; a titolo di esempio se ne riporta uno ad esempio, cmi.learner_name, che è a disposizione dello SCO che lo può richiedere all’LMS.