Regole per programmare in Linda

Tramite: O2O
Difficoltà: media
17

Introduzione

Linda è il nome di un linguaggio di programmazione non molto diffuso. È un linguaggio che estende quelli più conosciuti, come Java e C++, in modo tale da poter sviluppare applicazioni in ambiente distribuito. Appartiene alla famiglia di linguaggi a memoria condivisa, utile per separare la gestione del flusso di un programma parallelo dai problemi del mapping dei dati, della comunicazione e della sincronizzazione tra i processi. Il problema di questo tipo di memoria è la sovrapposizione di più processi che agiscono contemporaneamente, creando potenziali problemi. Per risolvere la situazione si crea un'astrazione della memoria condivisa, che però viene inserita in un settore della memoria fisica. È proprio su questa base che si fonda il linguaggio di programmazione Linda. Alcune regole per programmare in Linda seguono proprio questo concetto. Nella lista seguente vedremo alcune caratteristiche principali del linguaggio.

27

Tuple space

Con il termine tuple space si intende una serie di campi istanziati e campi da istanziare, ovvero i processi. Ogni tuple rappresenta un possibile processo, attivo o passivo, che viene raggruppato con processi dello stesso tipo. Possiamo considerare ogni processo dello stesso tipo come una sorta di array, dove però ogni array contiene elementi simili, ma non identici.

37

Primitive base

Il tuple space si basa su operazioni base fondamentali, utili per svolgere le operazioni più comuni, da cui poi derivano tutte le altre. La prima è Out (t), che permette di inserire una tupla t all'interno dello spazio. Poi abbiamo In (s), che ricerca all'interno dello spazio una tupla che sia conforme alla firma s. Quando si genera un successo, la tupla viene rimossa dallo spazio. La stessa operazione viene fatta da Read (s), che però non rimuove la tupla dopo la corrispondenza. Infine abbiamo Eval (t), che rispetto ad Out (t) crea nuovi processi per poter valutare correttamente l'inserimento di una nuova tupla all'interno del tuple space.

Continua la lettura
47

Pattern Matching

Il pattern matching permette di valutare se due tuple sono dello stesso tipo o meno. Per farlo bisogna verificare il numero id campi di ogni tupla. Se coincidono, con buona probabilità sono dello stesso tipo. Però ciò non basta ad effettuare il matching. Infatti c'è bisogno anche che i vari campi siano dello stesso tipo tra le tuple considerate. Solo in questo caso il matching è verificato.

57

Process-Forking

Come già detto, il linguaggio Linda permette di creare una copia astratta della memoria condivisa. Questo processo viene detto fork, in gerco informatico. Tale procedura viene fatta anche sui processi stessi, che creano una copia di se stessi all'interno della memoria. In questo modo le copie prenderanno lo stesso nome del processo padre e verranno denominate processi figli.

67

Liste

Nel linguaggio Linda è possibile creare anche delle liste, un po' come gli array nel linguaggio C++ o Java. Inoltre è possibile aggiungere o rimuovere un qualsiasi elemento (tupla) dalla lista, specificandone l'apposito valore. Un'operazione molto semplice, che si può svolgere tramite le operazioni In e Out.

77

Consigli

Alcuni link che potrebbero esserti utili:

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Programmazione

Regole per programmare in Ladder

In questo articolo imparerete le 5 regole per programmare in Ladder. Il circuito in Ladder è simile in struttura, elementi, simboli e funzioni di controllo logico. Ci sono anche altri aspetti della fase, ma hanno molte differenze. Quindi per programmare...
Programmazione

Regole per programmare in ActionScript

Action Script è un nome che suonerà familiare a tutti coloro che si intendono di programmazione. Si tratta, infatti, del linguaggio di programmazione di Flash utilizzato per la creazione di videogames basati su browser. Esistono ben tre versioni di...
Programmazione

Regole per programmare in Rust

I linguaggi di programmazione fanno parte dell'universo informatico sin dagli inizi. Tutti noi ricorderemo sicuramente il vecchio prompt dei comandi sul nostro primo PC. Si apriva una finestrella nera in cui dovevamo digitare specifiche espressioni, spesso...
Programmazione

Regole per programmare in Ruby

Il linguaggio di programmazione chiamato Ruby è basato su una piattaforma open source assolutamente dinamico, caratterizzato da una sintassi semplice e produttivo, naturalmente facile da leggere ed agevole da scrivere. Creato in Giappone, Ruby è caratterizzato...
Programmazione

Regole per programmare in Assembly

Prima di tutto, per chi non lo sapesse, una breve presentazione di questo linguaggio di programmazione. L'assembly è stato uno dei primi linguaggi mai sviluppati e viene detto di "basso" livello o meglio definito come linguaggio macchina. Questo perché...
Programmazione

Regole per programmare in Occam

Occam è un linguaggio di programmazione sviluppato dall'azienda INMOS per i suoi modelli di microprocessori con architetture parallele. Ideati negli anni Ottanta da una modesta azienda inglese, gli INMOS Transputer rappresentarono l'avanguardia della...
Programmazione

Regole per programmare in Applescript

AppleScript, nato negli anni '90 come una sorta di estensione del MacOS che viene caricata al suo avvio, è un software di programmazione che permette agli utenti di sviluppare diverse tipologie di applicazioni, da quelle più complesse di stampo matematico,...
Programmazione

Come programmare in Axum

Con la realizzazione di Axum, è stato originato un linguaggio strutturato in maniera tale da rendere maggiormente semplice la programmazione simultanea e sicura. Ma di cosa si tratta? Innanzitutto occorre chiarire l'obiettivo di questo progetto: quello...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.