Models with loosely coupled subsystems and network models are often characterised by subsystems of different dynamics. Therefore, mulirate methods have been brought into the EOOLT community over the last couple of years. These methods split the system into a fast and a slow part and integrate them using different step sizes to obtain faster simulations. Besides the numerical properties of multirate methods, an important challenge is to divide the system into a manageable number of subpartitions which can be assigned to a suitable step size. This paper presents a promising approach towards system partitioning for multirate integration that is based on a systems task graph. The proposed algorithms and the guard mechanism aim to reduce the overhead of the multirate method which is introduced by deciding between active and latent variables at simulation execution time.
{"title":"Task graph based system partitioning for multirate integration","authors":"V. Waurich, M. Flehmig","doi":"10.1145/2904081.2904089","DOIUrl":"https://doi.org/10.1145/2904081.2904089","url":null,"abstract":"Models with loosely coupled subsystems and network models are often characterised by subsystems of different dynamics. Therefore, mulirate methods have been brought into the EOOLT community over the last couple of years. These methods split the system into a fast and a slow part and integrate them using different step sizes to obtain faster simulations. Besides the numerical properties of multirate methods, an important challenge is to divide the system into a manageable number of subpartitions which can be assigned to a suitable step size. This paper presents a promising approach towards system partitioning for multirate integration that is based on a systems task graph. The proposed algorithms and the guard mechanism aim to reduce the overhead of the multirate method which is introduced by deciding between active and latent variables at simulation execution time.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114846808","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In systems modeling, the dynamic behavior is approximated by considering certain properties to be constant in space in each physical component of the system. Such models are called lumped element models and are composed of connected components. Each component is described by ordinary differential equations and algebraic equations. The theory of linear graphs or model graphs can be helpful for analysis of such models. This paper presents a unified methodology for describing and analyzing network topology, using both linear graphs and the underlying algebraic equations, i.e. to take advantage of linear graph methods to enhance symbolic manipulation of model equations in order to handle underdetermined sets of potential variables and overdetermined sets of flow variables. The methodology is extended to handle overdetermined potential variables which arise, for example, when dealing with 3D rotations in multi body systems. It also allows handling of planar loops without any special attention by the user. This methodology for treating lumped models is in particular applicable to Modelica tools and would in certain cases allow simulation of ungrounded circuits and otherwise enable better diagnostics, for example when forgetting to ground an electrical circuit. It will also simplify the Multibody library of Modelica Standard Library.
{"title":"Exploiting model graph analysis for simplified modeling and improved diagnostics","authors":"H. Elmqvist, S. Mattsson","doi":"10.1145/2904081.2904083","DOIUrl":"https://doi.org/10.1145/2904081.2904083","url":null,"abstract":"In systems modeling, the dynamic behavior is approximated by considering certain properties to be constant in space in each physical component of the system. Such models are called lumped element models and are composed of connected components. Each component is described by ordinary differential equations and algebraic equations. The theory of linear graphs or model graphs can be helpful for analysis of such models. This paper presents a unified methodology for describing and analyzing network topology, using both linear graphs and the underlying algebraic equations, i.e. to take advantage of linear graph methods to enhance symbolic manipulation of model equations in order to handle underdetermined sets of potential variables and overdetermined sets of flow variables. The methodology is extended to handle overdetermined potential variables which arise, for example, when dealing with 3D rotations in multi body systems. It also allows handling of planar loops without any special attention by the user. This methodology for treating lumped models is in particular applicable to Modelica tools and would in certain cases allow simulation of ungrounded circuits and otherwise enable better diagnostics, for example when forgetting to ground an electrical circuit. It will also simplify the Multibody library of Modelica Standard Library.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"12 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131529354","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Object-Oriented (O--O) languages like Modelica allow the description of multi-domain dynamical models. These models represent a Differential Algebraic Equation (DAE) that is usually converted to an Ordinary Differential Equation (ODE) formulation and simulated using numerical integration methods. Most Modelica tools include Single-Rate integration methods based on time discretization. Recently developed ODE numerical integration methods like Quantized State Systems (QSS) and Multi-Rate algorithms have some features (sparsity exploitation, efficient stiffness handling, efficient integration of loosely coupled systems of equations) that makes them suitable for many applications. By their nature, efficient implementation of these methods requires a different perspective on the model than classical methods, thus it is not a trivial task to implement them in Modelica tools. The Functional Mock-up Interface (FMI) is a tool independent standard for model exchange and co-simulation. Models are exchanged as compiled binaries (Functional Mockup Unit - FMU) with an API that allows the evaluation and simulation of the model. The FMU presents the model as a hybrid ODE on which numerical integration methods (such as Euler, Runge-Kutta) are applied for simulation. In this article we propose an extension to the FMU API to allow QSS and Multi-Rate simulation of O--O oriented models by means of FMI Model-Exchange. This extension opens up the possibility of testing and fine tuning QSS and Multi-Rate algorithms on a wide range of system models. Some results obtained with a prototype implementation on two example cases are reported.
{"title":"QSS and multi-rate simulation of object-oriented models","authors":"Federico Bergero, Akshay Ranade, F. Casella","doi":"10.1145/2904081.2904091","DOIUrl":"https://doi.org/10.1145/2904081.2904091","url":null,"abstract":"Object-Oriented (O--O) languages like Modelica allow the description of multi-domain dynamical models. These models represent a Differential Algebraic Equation (DAE) that is usually converted to an Ordinary Differential Equation (ODE) formulation and simulated using numerical integration methods. Most Modelica tools include Single-Rate integration methods based on time discretization. Recently developed ODE numerical integration methods like Quantized State Systems (QSS) and Multi-Rate algorithms have some features (sparsity exploitation, efficient stiffness handling, efficient integration of loosely coupled systems of equations) that makes them suitable for many applications. By their nature, efficient implementation of these methods requires a different perspective on the model than classical methods, thus it is not a trivial task to implement them in Modelica tools. The Functional Mock-up Interface (FMI) is a tool independent standard for model exchange and co-simulation. Models are exchanged as compiled binaries (Functional Mockup Unit - FMU) with an API that allows the evaluation and simulation of the model. The FMU presents the model as a hybrid ODE on which numerical integration methods (such as Euler, Runge-Kutta) are applied for simulation. In this article we propose an extension to the FMU API to allow QSS and Multi-Rate simulation of O--O oriented models by means of FMI Model-Exchange. This extension opens up the possibility of testing and fine tuning QSS and Multi-Rate algorithms on a wide range of system models. Some results obtained with a prototype implementation on two example cases are reported.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115145172","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this work-in-progress paper, a currently ongoing development of a generic tool for nonlinear model predictive control is presented. By using an extended interface of FMI 2.0, it is possible to simulate a model that acts as prediction model while the actual system is simulated simultaneously. A trajectory optimization that uses the prediction model provides optimized input control values for the actual system at every sample time. The current work is based on the Optimization library for Dymola and an extended version of FMI 2.0 Co-Simulation. The structure of this approach is explained in detail as well as possible settings and limitations. An example shows the practicability and an outlook for further development is given.
{"title":"Nonlinear model predictive control in modelica using FMI and optimization library","authors":"A. Seefried, A. Pfeiffer","doi":"10.1145/2904081.2904087","DOIUrl":"https://doi.org/10.1145/2904081.2904087","url":null,"abstract":"In this work-in-progress paper, a currently ongoing development of a generic tool for nonlinear model predictive control is presented. By using an extended interface of FMI 2.0, it is possible to simulate a model that acts as prediction model while the actual system is simulated simultaneously. A trajectory optimization that uses the prediction model provides optimized input control values for the actual system at every sample time. The current work is based on the Optimization library for Dymola and an extended version of FMI 2.0 Co-Simulation. The structure of this approach is explained in detail as well as possible settings and limitations. An example shows the practicability and an outlook for further development is given.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124948387","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Common tearing methods try to find static tearing variables. This means that selected tearing variables are used for the entire simulation, which also means that all inner equations are used for the entire simulation. Hence, the tearing method sets up the tearing system in a way, that there are no restrictions on the domain of the inner equations. In general, this leads to bigger tearing sets. This paper presents an extension of common tearing methods that generates another tearing set in addition. The additional set has fewer tearing variables, which means that it should be more efficient in general. However, the additional set has some restrictions on its domain of definition. That is why common approaches would not even create it and why it may not be used for the entire simulation. Hence, its domain needs to be analysed during simulation to validate if the smaller set is defined on the current domain. If that is the case the smaller set is used for the calculation, otherwise the original set is used. This paper shows how this additional tearing set can be generated. It is also demonstrated how the domain can be monitored during runtime in order to make the switching process efficient. Results using a prototype implementation in OpenModelica are analysed to show the benefits of this method.
{"title":"Dynamic tearing: efficiency enhancement of tearing methods by consideration of solvability criteria during runtime","authors":"Patrick Täuber, Lennart A. Ochel, B. Bachmann","doi":"10.1145/2904081.2904090","DOIUrl":"https://doi.org/10.1145/2904081.2904090","url":null,"abstract":"Common tearing methods try to find static tearing variables. This means that selected tearing variables are used for the entire simulation, which also means that all inner equations are used for the entire simulation. Hence, the tearing method sets up the tearing system in a way, that there are no restrictions on the domain of the inner equations. In general, this leads to bigger tearing sets. This paper presents an extension of common tearing methods that generates another tearing set in addition. The additional set has fewer tearing variables, which means that it should be more efficient in general. However, the additional set has some restrictions on its domain of definition. That is why common approaches would not even create it and why it may not be used for the entire simulation. Hence, its domain needs to be analysed during simulation to validate if the smaller set is defined on the current domain. If that is the case the smaller set is used for the calculation, otherwise the original set is used. This paper shows how this additional tearing set can be generated. It is also demonstrated how the domain can be monitored during runtime in order to make the switching process efficient. Results using a prototype implementation in OpenModelica are analysed to show the benefits of this method.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125003388","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present an extensible implementation of Modelica-style modeling semantics. Modeling features are implemented using an intuitive encoding as an extensible state monad. Monadic computation naturally yields model composition and interpretation. This in turn allows for a clear separation between the modular aspects of a modeling language (e.g. classes and inheritance) and the symbolical and numerical treatment of models: While the former can be implemented by a compiler or interpreter, the latter can be moved into a core-library to be maintained by domain-experts. In a second step, we show how the elaboration aspects of the language can be removed by a correct and complete desugaring procedure. The residual language is a simple extension of a call-by-value λ-calculus. Thus it becomes possible to implement a compiler for a modeling language using existing standard techniques.
{"title":"Modeling with monads: extensible modeling semantics as syntactic sugar","authors":"Christoph Höger","doi":"10.1145/2904081.2904084","DOIUrl":"https://doi.org/10.1145/2904081.2904084","url":null,"abstract":"We present an extensible implementation of Modelica-style modeling semantics. Modeling features are implemented using an intuitive encoding as an extensible state monad. Monadic computation naturally yields model composition and interpretation. This in turn allows for a clear separation between the modular aspects of a modeling language (e.g. classes and inheritance) and the symbolical and numerical treatment of models: While the former can be implemented by a compiler or interpreter, the latter can be moved into a core-library to be maintained by domain-experts. In a second step, we show how the elaboration aspects of the language can be removed by a correct and complete desugaring procedure. The residual language is a simple extension of a call-by-value λ-calculus. Thus it becomes possible to implement a compiler for a modeling language using existing standard techniques.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132752467","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Optimizing system models in order to support the design process of equipment components or whole architectures is part of daily engineering work. Due to the variety of models, the requirements for the functionalities of such libraries are enormous. Finding the optimal structural design (i.e. of a cold plate) through automated optimization exceeds normal needs. Here the model must provide structural variability. In case of the Modelica language this reaches the limit of its functionality of handling such models for optimization. The use of meta-information such as custom annotations can increase the functionality of the Modelica Language. A tool, called DESA, was developed to overcome these limitations and handle variable structure models. This library uses custom annotations to implement the optimization task to the model. Further the model is exported including these meta-information. The DESA optimization tool then allows to set up the optimization task in a Matlab environment and operates the optimization run. In this way the optimization of variable structure models is achieved.
{"title":"DESA: Optimization of variable structure modelica models using custom annotations","authors":"Daniel Bender","doi":"10.1145/2904081.2904088","DOIUrl":"https://doi.org/10.1145/2904081.2904088","url":null,"abstract":"Optimizing system models in order to support the design process of equipment components or whole architectures is part of daily engineering work. Due to the variety of models, the requirements for the functionalities of such libraries are enormous. Finding the optimal structural design (i.e. of a cold plate) through automated optimization exceeds normal needs. Here the model must provide structural variability. In case of the Modelica language this reaches the limit of its functionality of handling such models for optimization. The use of meta-information such as custom annotations can increase the functionality of the Modelica Language. A tool, called DESA, was developed to overcome these limitations and handle variable structure models. This library uses custom annotations to implement the optimization task to the model. Further the model is exported including these meta-information. The DESA optimization tool then allows to set up the optimization task in a Matlab environment and operates the optimization run. In this way the optimization of variable structure models is achieved.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122144002","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Equation-based object-oriented (EOO) modeling and simulation techniques have in the last decades gained significant attention both in academia and industry. One of the key properties of EOO languages is modularity, where different components can be developed independently and then connected together to form a complete acausal model. However, extensive modeling without explicit model validation together with a real physical system can result in incorrect assumptions and false conclusions. In particular, in an educational and research setting, it is vital that students experiment both with equation-based models and the real system that is being modeled. In this work-in-progress paper, we present a physical experimental robotic arm platform that is designed for teaching and research. Similar to EOO models, the robotic arm is modular, meaning that its parts can be reconfigured and composed together in various settings, and used for different experiments. The platform is completely open source, where electronic schematics, CAD models for 3D printing, controller software, and component specifications are available on GitHub. The vision is to form a community, where new open source components are continuously added, to enable an open and freely available physical experimental platform for EOO languages.
{"title":"MORAP: a modular robotic arm platform for teaching and experimenting with equation-based modeling languages","authors":"Viktor Kozma, David Broman","doi":"10.1145/2904081.2904085","DOIUrl":"https://doi.org/10.1145/2904081.2904085","url":null,"abstract":"Equation-based object-oriented (EOO) modeling and simulation techniques have in the last decades gained significant attention both in academia and industry. One of the key properties of EOO languages is modularity, where different components can be developed independently and then connected together to form a complete acausal model. However, extensive modeling without explicit model validation together with a real physical system can result in incorrect assumptions and false conclusions. In particular, in an educational and research setting, it is vital that students experiment both with equation-based models and the real system that is being modeled. In this work-in-progress paper, we present a physical experimental robotic arm platform that is designed for teaching and research. Similar to EOO models, the robotic arm is modular, meaning that its parts can be reconfigured and composed together in various settings, and used for different experiments. The platform is completely open source, where electronic schematics, CAD models for 3D printing, controller software, and component specifications are available on GitHub. The vision is to form a community, where new open source components are continuously added, to enable an open and freely available physical experimental platform for EOO languages.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"275 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115600565","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
From the perspective of a practitioner, the development of perfect equation-based models is limited by language, hardware, and one's own mind. While the first two aspects are covered extensively in literature, only little attention has been given to the third one. We make a case for simple models, with a focus on two aspects: use of inheritance and creation of flexible models. Both can have adverse side-effects if used without restriction. To exemplify this discussion, two versions of a library as used in the aerospace industry are compared. The old version made heavy use of inheritance and tried to conduct everything with a minimal number of components. It was completely redesigned after maintenance efforts became too high. A psychological experiment was performed, where the effect of inheritance on the ability of participants to understand a model was analyzed. Results showed that each level of hierarchy significantly increases the time to understand a model by 26.65 s, when correcting for total model length. This supports our hypothesis that flat models are easier to understand than deeply nested models.
{"title":"The use of Ockham's Razor in object-oriented modeling","authors":"Alexander Pollok, A. Klöckner","doi":"10.1145/2904081.2904086","DOIUrl":"https://doi.org/10.1145/2904081.2904086","url":null,"abstract":"From the perspective of a practitioner, the development of perfect equation-based models is limited by language, hardware, and one's own mind. While the first two aspects are covered extensively in literature, only little attention has been given to the third one. We make a case for simple models, with a focus on two aspects: use of inheritance and creation of flexible models. Both can have adverse side-effects if used without restriction. To exemplify this discussion, two versions of a library as used in the aerospace industry are compared. The old version made heavy use of inheritance and tried to conduct everything with a minimal number of components. It was completely redesigned after maintenance efforts became too high. A psychological experiment was performed, where the effect of inheritance on the ability of participants to understand a model was analyzed. Results showed that each level of hierarchy significantly increases the time to understand a model by 26.65 s, when correcting for total model length. This supports our hypothesis that flat models are easier to understand than deeply nested models.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131251348","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Discrete-event modeling methodologies, such as DEVS, Parallel DEVS or the process-oriented approach used by Arena, support the description of systems in a modular and hierarchical fashion. In these approaches, model components communicate by means of message interchange. Messages constitute impulses of information instantaneously sent from one component to another, either individually or arranged in groups, or bags. Dynamic data structures are required to manage bags of messages, either locally or as inputs/outputs of components. This communication approach is conceptually different from the connection between components used in the physical modeling approach supported by Modelica. Improving Modelica to support message passing communication facilitates the description of DEVS models and the development of libraries with analogous functionality to Arena. The authors have previously implemented message passing communication in Modelica using external C functions, but these implementations present some restrictions. The concepts required to describe message passing communication in Modelica are discussed, and a proposal to extend the language is presented. Two simple application examples are also included to illustrate the use of the proposed extensions.
{"title":"Modelica extensions for supporting message passing communication and dynamic data structures","authors":"Victorino Sanz, A. Urquia","doi":"10.1145/2904081.2904082","DOIUrl":"https://doi.org/10.1145/2904081.2904082","url":null,"abstract":"Discrete-event modeling methodologies, such as DEVS, Parallel DEVS or the process-oriented approach used by Arena, support the description of systems in a modular and hierarchical fashion. In these approaches, model components communicate by means of message interchange. Messages constitute impulses of information instantaneously sent from one component to another, either individually or arranged in groups, or bags. Dynamic data structures are required to manage bags of messages, either locally or as inputs/outputs of components. This communication approach is conceptually different from the connection between components used in the physical modeling approach supported by Modelica. Improving Modelica to support message passing communication facilitates the description of DEVS models and the development of libraries with analogous functionality to Arena. The authors have previously implemented message passing communication in Modelica using external C functions, but these implementations present some restrictions. The concepts required to describe message passing communication in Modelica are discussed, and a proposal to extend the language is presented. Two simple application examples are also included to illustrate the use of the proposed extensions.","PeriodicalId":344062,"journal":{"name":"Proceedings of the 7th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117265307","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}