際際滷

際際滷Share a Scribd company logo
Facolt di IngegneriaLAUREA SPECIALISTICA IN INGEGNERIA INFORMATICAIMPLEMENTAZIONE IN .NET DI UN FRAMEWORK PER L'ANALISI DI SISTEMI BIOLOGICI BASATO SULLA PROGRAMMAZIONE CONCORRENTE CON VINCOLI.Studente: Diego BANOVAZRelatore: Prof. Luca BORTOLUSSI
Prima analisi dellobbiettivoSi vuole ottenere un framework per la simulazione di modelliIl framework deve essere interfacciabile con programmi esterniDeve essere utilizzabile da utenti non esperti in programmazioneDeve avere prestazioni accettabili
sCCP: StochasticConcurrentConstraintProgrammingEvoluzione di CCP
Linguaggio per la descrizione di modelli
Modello ad agenti interagenti
Interazioni di tipo concorrente
Sistema ad evoluzione probabilisticaLotka-Volterra
Lotka-Volterra: Codice SCCPPredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore()   + [Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();
Lotka-Volterra: Codice SCCPNomi degli AgentiPredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore()   + [Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();
Lotka-Volterra: Codice SCCPNomi degli AgentiPredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore() + [Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();Scelta
Lotka-Volterra: Codice SCCPNomi degli AgentiPredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore() + [Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();SceltaChiamate di Agenti
Lotka-Volterra: Codice SCCPGuardieNomi degli AgentiPredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore() +[Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();SceltaChiamate di Agenti
Lotka-Volterra: Codice SCCPasktellif (ask) {tell}ratePredatore :- [X > 0 -> Y = Y + 1; X = X - 1]@{Km * X * Y}.Predatore()   + [Y > 0 -> Y = Y - 1]@{Kd * Y}.Predatore();Preda:- [X > 0 -> X = X + 1]@{Kr * X}.Preda();Tra tutti gli agenti attivi, lazione da eseguire viene scelta tramite una Race Condition tra le azioni con asktrue.La probabilit che unazione venga eseguita 竪 proporzionale al proprio rate.
Semantica per sCCPPredaPredatoreAgentiX > 0 -> X = X + 1X > 0 -> Y = Y + 1; X = X - 1Y > 0 -> Y = Y - 1AzionisCCP istanzia dal sorgente un ambiente fatto da agenti.Il sistema 竪 descritto completamente dagli agenti in vita e dallo stato delle variabili.
Semantica per ITSX > 0SVPreda > 0  && X > 0GuardiaX = X + 1X = X + 1; SVPreda--; SVPreda++UpdateKr * XSVPreda * Kr * XRateLo stato del sistema 竪 dato dalle definizioni degli Agenti, dalle variabili globali e dalle State Variables. Le State Variables vengono associate ad ogni agente e rappresentano il Numero di agenti attivi di quel particolare tipo.
Semantica per ODELa modifica alle variabili avviene proporzionalmente alla state variables dellagente e al rate dellazione stessa.
Questa simulazione completamente deterministica.
Le equazioni e cui si arriva sono le stesse equazioni matematiche che definiscono il sistema.Risultati SemanticheSCCPITSODE
AnalisiDerivare dal codice SCCP le tre semanticheFornire uninterfaccia utenteInput standardizzatoOutput standardizzatoOutput graficoCustom MemorySemanticPerformance
ProgettazioneSCCPOther SWInputXMLCompilerComputazioneSimulatorGraphCSVOutput
Schema Macro ClassiConversione tra sCCPe XMLInterfacciaProgrammazioneInterfaccia SimulazioneCompilatore e Simulatore
Conversione tra sCCP e XMLUtilizzato un compilatore di compilatori (COCO)
In grado di generare documenti XML che rispettino un determinato DTD
Efficace segnalazione degli errori di ParsingConversione tra sCCPe XMLInterfacciaProgrammazioneInterfaccia SimulazioneCompilatore e Simulatore
Interfaccia ProgrammazioneScrivere codice sCCP
CommonsFunctions (Save, Load..)
Compilazione
Selezione Compilatore
Selezione ConstraintStore
Start GraphicSimulation
Start BatchSimulationConversione tra sCCPe XMLInterfacciaProgrammazioneInterfaccia SimulazioneCompilatore e Simulatore

More Related Content

BanovazDiego-際際滷s Prelaurea