Optimizing costs and consumption has proved to be increasingly essential in recent decades, especially in view of the economic, energy and environmental crises we are experiencing. Software simulation is one of the main tools we have available to do this. Simulations allow us to test, analyze, and optimize production processes and predict future problems. Consequently, it is imperative to have state-of-the-art simulation tools which are powerful and easy to use. Mathematical models, defined through systems of equations, are able to describe the aspects of interest of physical phenomena, and the Modelica language provides the means for their definition and simulation. MARCO is a Modelica compiler, which was born with the goal of being as performing as possible, implementing algorithms that exploit the locality properties of modern computer architectures. MARCO's first prototype only worked on a subset of the models definable in Modelica. With this thesis we will describe the addition of some functionalities to MARCO, which will allow it to manage also models containing Operator Records and Ragged Arrays.

Ottimizzare costi e consumi si è dimostrato sempre più fondamentale negli ultimi decenni, soprattutto in vista delle crisi economiche, energetiche ed ambientali che stiamo vivendo. La simulazione software è uno dei principali strumenti che abbiamo a disposizione per fare ciò. Le simulazioni ci permettono di testare, analizzare ed ottimizzare i processi produttivi e prevedere eventuali futuri problemi. Di conseguenza è importante avere strumenti di simulazione all'avanguardia, che siano facilmente utilizzabili e potenti. I modelli matematici, definiti tramite sistemi di equazioni, riescono a descrivere gli aspetti d'interesse dei fenomeni fisici, ed il linguaggio Modelica fornisce i mezzi per la loro definizione e simulazione. MARCO è un compilatore di Modelica, che nasce con l'obiettivo di essere il più performante possibile, grazie all'implementazione di algoritmi che sfruttano le proprietà di località delle moderne architetture dei computer. Il primo prototipo di MARCO funzionava solo su un sottoinsieme dei modelli definibili in Modelica. Con questa tesi vedremo di descrivere l'aggiunta di alcune funzionalità a MARCO, che gli permetteranno di gestire anche modelli contenenti Operator Records e Array Ragged.

Records and ragged arrays support and management in MARCO Modelica compiler

QUAGLIA, ENNIO
2021/2022

Abstract

Optimizing costs and consumption has proved to be increasingly essential in recent decades, especially in view of the economic, energy and environmental crises we are experiencing. Software simulation is one of the main tools we have available to do this. Simulations allow us to test, analyze, and optimize production processes and predict future problems. Consequently, it is imperative to have state-of-the-art simulation tools which are powerful and easy to use. Mathematical models, defined through systems of equations, are able to describe the aspects of interest of physical phenomena, and the Modelica language provides the means for their definition and simulation. MARCO is a Modelica compiler, which was born with the goal of being as performing as possible, implementing algorithms that exploit the locality properties of modern computer architectures. MARCO's first prototype only worked on a subset of the models definable in Modelica. With this thesis we will describe the addition of some functionalities to MARCO, which will allow it to manage also models containing Operator Records and Ragged Arrays.
ING - Scuola di Ingegneria Industriale e dell'Informazione
20-dic-2022
2021/2022
Ottimizzare costi e consumi si è dimostrato sempre più fondamentale negli ultimi decenni, soprattutto in vista delle crisi economiche, energetiche ed ambientali che stiamo vivendo. La simulazione software è uno dei principali strumenti che abbiamo a disposizione per fare ciò. Le simulazioni ci permettono di testare, analizzare ed ottimizzare i processi produttivi e prevedere eventuali futuri problemi. Di conseguenza è importante avere strumenti di simulazione all'avanguardia, che siano facilmente utilizzabili e potenti. I modelli matematici, definiti tramite sistemi di equazioni, riescono a descrivere gli aspetti d'interesse dei fenomeni fisici, ed il linguaggio Modelica fornisce i mezzi per la loro definizione e simulazione. MARCO è un compilatore di Modelica, che nasce con l'obiettivo di essere il più performante possibile, grazie all'implementazione di algoritmi che sfruttano le proprietà di località delle moderne architetture dei computer. Il primo prototipo di MARCO funzionava solo su un sottoinsieme dei modelli definibili in Modelica. Con questa tesi vedremo di descrivere l'aggiunta di alcune funzionalità a MARCO, che gli permetteranno di gestire anche modelli contenenti Operator Records e Array Ragged.
File allegati
File Dimensione Formato  
2022_12_Quaglia.PDF

accessibile in internet solo dagli utenti autorizzati

Descrizione: v1.0
Dimensione 710.13 kB
Formato Adobe PDF
710.13 kB Adobe PDF   Visualizza/Apri

I documenti in POLITesi 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/10589/198795