Mostra i principali dati dell'item

dc.contributor.advisorMaresca, Massimo <1956>
dc.contributor.advisorBaglietto, Pierpaolo <1963>
dc.contributor.authorRialdi, Raffaele <1967>
dc.date.accessioned2024-02-22T15:16:24Z
dc.date.available2024-02-22T15:16:24Z
dc.date.issued2021-12-21
dc.identifier.urihttps://unire.unige.it/handle/123456789/7507
dc.description.abstractQuesta tesi di laurea magistrale contiene una proposta per risolvere un problema molto comune nelle architetture software moderne: la gestione delle versioni dei modelli pubblici che compongono una applicazione distribuita. Ogni sistema distribuito è, per definizione, composto da svariati componenti che vivono in processi differenti. Il traguardo dell'architettura dell'applicazione è di fornire la migliore possibile orchestrazione di questi componenti così che i requisiti dell'applicazione possano essere soddisfatti. Il disaccoppiamento è il primo passo per raggiungere diversi vantaggi quali la scalabilità, affidabilità, disponibilità, il riuso dei componenti e una manutenzione più semplice. Ad ogni modo, a prescindere dalla strategia scelta per disaccoppiare questi componenti, la conoscenza delle strutture dati esposte da un componente inerentemente causa una dipendenza dai componenti del processo consumatore. La frizione causata da queste dipendenze risiede nel cambio del modello pubblico che può rendersi necessaria nel corso del tempo. Il nostro scopo è di fornire una strategia di progettazione e relativi strumenti per permettere di evolvere liberamente il modello pubblico usato in ambiente chiuso e di definire facilmente le politiche, regole e validazioni che garantiscano la correttezza semantica del modello. Questa tesi è strutturata in due parti. La prima analizza come il modello pubblico sia soggetto dall'evoluzione delle versioni nei sistemi distribuiti. La seconda espone la soluzione proposta sia dal punto di vista architetturale che da quello tecnico, concludendo con una analisi sugli esiti pratici che possono derivare da questo lavoro.it_IT
dc.description.abstractThis master's degree thesis deals with a proposal to solve a very common problem in modern software architecture: versioning the public models of the services that makes up a distributed application. Every distributed system is, by definition, composed by different components living in a separate process. The goal of the application's architecture is to provide the best possible orchestration of those components so that the application requirements can be fulfilled. Decoupling is the first step to fulfill a number of advantages such as scalability, reliability, availability, component reuse and easier maintenance. Anyway, regardless the strategy chosen to decouple those components, the knowledge of the data structures exposed by a component inherently causes a dependency in the consumer components. The friction caused by those dependencies resides in the public model changes that may occur over time. Our goal is to provide the design strategy and tools that allows to freely evolve the public model used in a closed environment and to easily define the policies, rules and validators that ensure the model semantic correctness. This thesis is structured in two sections. The first analyzes how the public model is affected by versioning in the distributed systems. The second exposes the proposed solution in both architectural and technical perspectives, concluding with an analysis on the practical outcomes that may derive from this work.en_UK
dc.language.isoen
dc.rightsinfo:eu-repo/semantics/openAccess
dc.titleSemantic Driven Modelingit_IT
dc.title.alternativeSemantic Driven Modelingen_UK
dc.typeinfo:eu-repo/semantics/masterThesis
dc.subject.miurING-INF/03 - TELECOMUNICAZIONI
dc.publisher.nameUniversità degli studi di Genova
dc.date.academicyear2020/2021
dc.description.corsolaurea33 - INGEGNERIA ELETTRONICA
dc.description.area9 - INGEGNERIA
dc.description.department100026 - DIPARTIMENTO DI INGEGNERIA NAVALE, ELETTRICA, ELETTRONICA E DELLE TELECOMUNICAZIONI


Files in questo item

Thumbnail

Questo item appare nelle seguenti collezioni

Mostra i principali dati dell'item