distanza tra sistemi elettronici ed informatici e realtà fisica si è progressivamente assottigliata, visto che computazione e comunicazione permeano moltissimi aspetti della quotidianità, quali la domotica e l’assistenza sanitaria. L’interazione più stretta con l’ambiente fisico e con gli utenti umani ha di riflesso cambiato anche i sistemi dedicati, portando ad una maggiore eterogeneità: coesistono infatti dispositivi HW, sia analogici che digitali, e SW fortemente dedicato. Si è inoltre resa necessaria la modellazione dell’ambiente, per tener traccia della sua evoluzione ed interazione con il resto del sistema nelle fasi di verifica e di progettazione. In un contesto così complesso e variegato, il riuso di componenti già progettati e verificati è fondamentale per poter sfruttare le ottimizzazioni e configurazioni portate avanti nelle singole fasi della progettazione, oltre che per risparmiare tempo e risorse. L’elevata eterogeneità rende però il riuso un’operazione molto complessa. In un tradizionale flusso top-down, ad esempio, inserimento o modifica di componenti esistenti richiederebbe di riprogettare l’intero sistema partendo dalle specifiche. In questo contesto, la tesi di Sara Vinco propone tre tecniche per l’integrazione e il riuso di sistemi dedicati: la co-simulazione, la generazione di interfacce e la rappresentazione dell’eterogeneità tramite la definizione di un formalismo omogeneo. Sia la co-simulazione che la generazione di interfacce tra componenti eterogenei preservano il livello di eterogeneità del sistema. Supportano infatti la comunicazione tra componenti eterogenei attraverso lo sviluppo di una piattaforma (con la co-simulazione) o generando i mezzi di comunicazione necessari (cioè le interfacce). L’approccio opposto consiste nell'introdurre un modello di computazione in cui immergere componenti eterogenei, arrivando ad una descrizione omogenea attraverso un unico formalismo ed un’unica semantica. Componenti inizialmente eterogenei vengono convertiti in descrizioni basate sul modello di computazione attraverso trasformazioni che preservano la loro funzionalità e semantica, in un flusso fortemente bottom-up. La descrizione omogenea del sistema diventa quindi il punto di partenza per l’applicazione di tecniche di generazione automatica di SW per simulare e validare la descrizione del sistema, o per eseguire in modo efficiente la funzionalità su architetture altamente parallele. L’intero flusso è supportato da programmi per la generazione automatica di codice, che amplificano l’efficacia della metodologia proposta.

Nowadays, our world is more and more saturated with computing and communication capability, that is integrated with human users and with the environment. Electronic systems are no more stand-alone entities isolated from the physical reality. On the contrary, electronic systems permeate home automation, health care management, together with every day human life. As a result, modern embedded systems are highly heterogeneous, as they are composed of a mix of analog and digital HW, as well as embedded SW. Furthermore, the tight bound with the physical environment implies to take into account physical evolution during the design and verification phases. In this context, reuse is a very difficult task, as the components to integrate are highly heterogeneous. On the other hand, reuse is a winning approach to save design cost and time. Indeed, top-down approaches allow to optimize and configure each step of design, but any time that a component must be added or changed, the whole design flow must be undergone again. This thesis focuses on three main techniques for supporting reuse and integration in the context of embedded systems: co-simulation, interface generation and homogeneous formal representation. Co-simulation and interface generation preserve the high level of heterogeneity of the system, by allowing communication between heterogeneous components with a framework (co-simulation) or via generation of the necessary interfaces. A computational model is then proposed to model the heterogeneity in a homogeneous way. The starting heterogeneous components are automatically converted to the computational model, with transformations that preserve the starting behavior, thus supporting a fully bottom-up flow. The homogeneous description is then used as a starting point for automatic generation of code for simulation and validation of the integrated system, or for efficient execution as SW on massively parallel architectures. The whole flow is supported by automatic code generation tools, that enhance the effectiveness of the proposed approach.

Reuse and Integration of Heterogeneous Components for Efficient Embedded Software Generation

VINCO, Sara
2013-01-01

Abstract

Nowadays, our world is more and more saturated with computing and communication capability, that is integrated with human users and with the environment. Electronic systems are no more stand-alone entities isolated from the physical reality. On the contrary, electronic systems permeate home automation, health care management, together with every day human life. As a result, modern embedded systems are highly heterogeneous, as they are composed of a mix of analog and digital HW, as well as embedded SW. Furthermore, the tight bound with the physical environment implies to take into account physical evolution during the design and verification phases. In this context, reuse is a very difficult task, as the components to integrate are highly heterogeneous. On the other hand, reuse is a winning approach to save design cost and time. Indeed, top-down approaches allow to optimize and configure each step of design, but any time that a component must be added or changed, the whole design flow must be undergone again. This thesis focuses on three main techniques for supporting reuse and integration in the context of embedded systems: co-simulation, interface generation and homogeneous formal representation. Co-simulation and interface generation preserve the high level of heterogeneity of the system, by allowing communication between heterogeneous components with a framework (co-simulation) or via generation of the necessary interfaces. A computational model is then proposed to model the heterogeneity in a homogeneous way. The starting heterogeneous components are automatically converted to the computational model, with transformations that preserve the starting behavior, thus supporting a fully bottom-up flow. The homogeneous description is then used as a starting point for automatic generation of code for simulation and validation of the integrated system, or for efficient execution as SW on massively parallel architectures. The whole flow is supported by automatic code generation tools, that enhance the effectiveness of the proposed approach.
2013
Interface generation; heterogeneous embedded systems; UniverCM; Computational model; GP-GPU; Validation; SW generation
distanza tra sistemi elettronici ed informatici e realtà fisica si è progressivamente assottigliata, visto che computazione e comunicazione permeano moltissimi aspetti della quotidianità, quali la domotica e l’assistenza sanitaria. L’interazione più stretta con l’ambiente fisico e con gli utenti umani ha di riflesso cambiato anche i sistemi dedicati, portando ad una maggiore eterogeneità: coesistono infatti dispositivi HW, sia analogici che digitali, e SW fortemente dedicato. Si è inoltre resa necessaria la modellazione dell’ambiente, per tener traccia della sua evoluzione ed interazione con il resto del sistema nelle fasi di verifica e di progettazione. In un contesto così complesso e variegato, il riuso di componenti già progettati e verificati è fondamentale per poter sfruttare le ottimizzazioni e configurazioni portate avanti nelle singole fasi della progettazione, oltre che per risparmiare tempo e risorse. L’elevata eterogeneità rende però il riuso un’operazione molto complessa. In un tradizionale flusso top-down, ad esempio, inserimento o modifica di componenti esistenti richiederebbe di riprogettare l’intero sistema partendo dalle specifiche. In questo contesto, la tesi di Sara Vinco propone tre tecniche per l’integrazione e il riuso di sistemi dedicati: la co-simulazione, la generazione di interfacce e la rappresentazione dell’eterogeneità tramite la definizione di un formalismo omogeneo. Sia la co-simulazione che la generazione di interfacce tra componenti eterogenei preservano il livello di eterogeneità del sistema. Supportano infatti la comunicazione tra componenti eterogenei attraverso lo sviluppo di una piattaforma (con la co-simulazione) o generando i mezzi di comunicazione necessari (cioè le interfacce). L’approccio opposto consiste nell'introdurre un modello di computazione in cui immergere componenti eterogenei, arrivando ad una descrizione omogenea attraverso un unico formalismo ed un’unica semantica. Componenti inizialmente eterogenei vengono convertiti in descrizioni basate sul modello di computazione attraverso trasformazioni che preservano la loro funzionalità e semantica, in un flusso fortemente bottom-up. La descrizione omogenea del sistema diventa quindi il punto di partenza per l’applicazione di tecniche di generazione automatica di SW per simulare e validare la descrizione del sistema, o per eseguire in modo efficiente la funzionalità su architetture altamente parallele. L’intero flusso è supportato da programmi per la generazione automatica di codice, che amplificano l’efficacia della metodologia proposta.
File in questo prodotto:
File Dimensione Formato  
main.pdf

non disponibili

Tipologia: Tesi di dottorato
Licenza: Accesso ristretto
Dimensione 6.61 MB
Formato Adobe PDF
6.61 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11562/555550
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact