Vai al contenuto

Universal Systems Language

Da Wikipedia, l'enciclopedia libera.

L'Universal Systems Language (abbreviato in USL, in italiano Linguaggio Universale dei Sistemi) è un linguaggio di modellazione di sistemi e un metodo formale per la specifica e la progettazione di software e altri sistemi complessi. È stato ideato e sviluppato da Margaret Hamilton sulla base delle sue esperienze nella scrittura di software di volo per il programma Apollo. Il linguaggio è implementato tramite un software denminato "001 Tool Suite" e fornito dalla società Hamilton Technologies, Inc.

USL rappresenta un'evoluzione di un precedente linguaggio 001AXES, a sua volta erede del linguaggio AXES. Tutti i linguaggi di questo tipo si basano sugli assiomi di controllo elaborati da Margaret Hamilton.

Il software 001 Tool Suite utilizza il concetto preventivo di sviluppo prima del fatto (Development Before the Fact – DBTF) per il suo processo di sviluppo del ciclo di vita. Il DBTF elimina gli errori il prima possibile durante il processo di sviluppo, eliminando la necessità di cercare errori a posteriori.

Principi base

[modifica | modifica wikitesto]

USL è stato ispirato dal riconoscimento da parte di Hamilton di modelli o categorie di errori che si verificavano durante lo sviluppo del software Apollo.[1][2]

Nella grammatica USL sono incorporate alcune garanzie di correttezza.

USL è considerato da alcuni utenti più intuitivo di altri sistemi formali. Non è solo un formalismo per il software, ma definisce anche ontologie per elementi comuni di domini problematici, come lo spazio fisico e la temporizzazione degli eventi.

Formalismo per una teoria del controllo

[modifica | modifica wikitesto]

Le strutture primitive sono universali in quanto possono essere utilizzate per derivare nuove strutture, funzioni o tipi astratti universali. Il processo di derivazione di nuovi oggetti (ovvero strutture, tipi e funzioni) è equivalente al processo di derivazione di nuovi tipi in una teoria dei tipi costruttiva.

Figura 1. Le tre strutture di controllo primitive e le loro regole costituiscono una base universale per la costruzione di mappe nei domini del tempo e dello spazio come FMap e TMap.

Implementazione

[modifica | modifica wikitesto]

Il processo di sviluppo di un sistema software con USL insieme alla sua automazione, la 001 Tool Suite (001), comprende:

  • definire il sistema con USL;
  • analizzare automaticamente la definizione con l'analizzatore di 001 per garantire che USL sia stato utilizzato correttamente;
  • generare automaticamente gran parte della progettazione e tutto il codice di implementazione con il generatore di 001.

USL può essere utilizzato per fornire il suo supporto formale ad altri linguaggi.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica