
Adrian PopLinköping University | LiU · Department of Computer and Information Science (IDA)
Adrian Pop
PhD in Computer Science
About
104
Publications
82,572
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
1,508
Citations
Introduction
Publications
Publications (104)
Cloud computing has revolutionized the way a variety of ubiquitous computing resources are provided to users with ease and on a pay-per-usage basis. Task scheduling problem is an important challenge, which involves assigning resources to users’ Bag-of-Tasks applications in a way that maximizes either system provider or user performance or both. Wit...
The Artificial Electric Field Algorithm (AEFA) stands out as a physics-inspired metaheuristic, drawing inspiration from Coulomb’s law and electrostatic force; however, while AEFA has demonstrated efficacy, it can face challenges such as convergence issues and suboptimal solutions, especially in high-dimensional problems. To overcome these challenge...
In this article, we examine the consequences of introducing a new construct into an equation-based language to model infinitely fast processes. We do this by extending the equation-based language Modelica with a special time constant, Θ. Θ provides modelers with an additional language construct that they can utilize both to improve performance of n...
CRML (the Common Requirement Modeling Language) is a new language for the formal expression of requirements. The ambition is to release the language as an open standard integrated into the open source modeling and simulation tool OpenModelica and interoperable with the open systems engineering standard SysMLv2. CRML allows to express requirements a...
System Dynamics is a modelling paradigm that has been applied to a wide range of systems, from economic to physical and from managerial to ecological. The main strength of the paradigm is its ease of use. A System Dynamics modeller does not need to focus on equations; instead, models are expressed in terms of stocks and flows. Modelica, on the othe...
Cyber-Physical Systems are ever-increasing in complexity and new methods and tools for developing them are needed. To support these highly dynamic systems, increasing the flexibility of the modeling languages is desirable. This paper proposes and examines a Modelica language extension to support dynamic overconstrained graphs with reconfiguration a...
Cyber-Physical Systems are ever-increasing in complexity and new methods and tools for developing them are needed. To support these highly dynamic systems, increasing the flexibility of the modeling languages is desirable. This paper proposes and examines a Modelica language extension to support dynamic overconstrained graphs with reconfiguration a...
This paper reports on the development of GitWorks, an open platform for democratizated Model-Based Design of cyber-physical systems (CPS). The GitWorks platform
is currently under development by Perpetual Labs Ltd in collaboration with the Open Source Modelica Consortium (OSMC)1 and the OpenCAESAR project2. In this paper,
we present our vision for...
Water Cycle Algorithm based on Evaporation rate (ErWCA) is a powerful enhanced version of the Water Cycle Algorithm (WCA) metaheuristics algorithm. ErWCA, like other algorithms, may still fall in the sub-optimal region and have a slow convergence, especially in high dimensional tasks problems. This paper suggests an enhanced ErWCA (EErWCA) version,...
Nowadays, industrial products are getting increasingly complex, and time-to-market is significantly shorter. Modeling and simulation tools for cyber-physical systems need to keep up with the increased complexity. This paper presents OpenModelica.jl, a modular and extensible Modelica compiler framework in Julia targeting ModelingToolkit.jl and suppo...
Data reconciliation aims at improving the accuracy of measurements by reducing the effect of random errors in the data. This is achieved by introducing redundancies on the measured quantities in the form of constraints based on fundamental physical laws such as mass, momentum and energy balance equations. These constraints are called the auxiliary...
This paper presents current work on our Modelica Compiler framework in Julia: OpenModelica.jl. We provide a brief overview of this novel framework and its features, and we also present the latest addition to the possible backend options. We target ModelingToolkit.jl (MTK), a framework for symbolic-numerical computation and scientific machine learni...
In the field of model-based design of Cyber–Physical Systems (CPS), seamless traceability of the process, from requirements to models to simulation results, is becoming increasingly important. It can be used to support several activities such as variant handling, impact analysis, component reuse, software maintenance and evolution, verification, an...
Industrial cyber-physical system products interleave hardware, software, and communication components. System complexity is increasing simultaneously with increased demands on quality and shortened time-to-market. To effectively support the development of such systems, we present languages and tools for comprehensive integrated model-based developm...
Recently the Julia language has become an option for scientific computing. As of 2020, efforts exist to provide libraries that emulate the equation-based modeling features provided by Modelica or otherwise provide such function-ality in Julia. The issue with these approaches is that investment in standardization and libraries would be lost unless s...
OpenModelica is a unique large-scale integrated open-source Modelica- and FMI-based modeling, simulation, optimization, model-based analysis and development environment. Moreover, the OpenModelica environment provides a number of facilities such as debugging; optimization; visualization and 3D animation; web-based model editing and simulation; scri...
Design, development, and analysis of complex CyberPhysical Systems (CPSs) using models involves a collab-oration of expertise from different engineering domains.Heterogeneous artefacts are generated, often using dif-ferent lifecycle modeling languages and simulation tools.Capturing the traceability information among these arte-facts can be used to...
The complexity of engineering systems is exploding. Moreover, radically new products and designs will be necessary to meet the increasing market demand for smart functionalities, autonomous operations and low environmental impact. This will create unprecedented design and integration challenges that can only be tackled via the adoption of Model-Bas...
We are investigating ways of introducing just-in-time compilation in a standard-compliant Modelica compiler, the Open-Modelica compiler (OMC). The main motivations are enabling extensions to support dynamically varying model structure, faster compilation, and faster recompilation of models after changes. We are investigating two approaches.
The fi...
This paper presents a practical application of computeraided control systems design using a new OpenModelica API (OMJulia) which allows to conveniently operate on Modelica models from the Julia language. Julia is a rather young language (Julia 1.0 was released in August 2018) designed to address the needs of numerical analysis and computational sci...
OpenModelica is currently the most complete open-source Modelica-and FMI-based modeling, simulation, optimization, and model-based development environment. Moreover, the OpenModelica environment provides a number of facilities such as debugging; optimization; visualization and 3D animation; web-based model editing and simulation; scripting from Mod...
Seamless tracing of the requirements and associating them with the models and the simulation results is becoming increasingly important. This can be used to support several activities such as variant handling, impact analysis, component reuse, verification, and validation. This work in progress paper presents an approach for combining traceability...
Parameter sensitivity analysis is a core activity to assess the robustness of dynamical models with regard to unreliable parameters. This becomes critical for nonlinear models with many parameters subject to large uncertainties. In such contexts too often numerical experimentation is required due to the lack of analytic expressions for the derivati...
A common situation in industry is that a system model is composed of several sub-models which may have been developed using different tools. The quality and effectiveness of large scale system modeling heavily depends on the underlying tools used for different phases of the development lifecycle. Available modeling and simulation tools support diff...
This paper describes a new API for operating
on Modelica models in Python, through OpenModelica.
Modelica is an object oriented, acausal language for describing
dynamic models in the form of Differential Algebraic
Equations. Modelica and various implementations such as
OpenModelica have limited support for model analysis, and
it is of interest to i...
The ease of use and the high abstraction level of equation-based object-oriented (EOO) languages such as Modelica has the drawback that performance problems and modeling errors are often hard to find. To address this problem, we have earlier developed advanced performance analysis and equation model debugging support in the OpenModelica tool. The a...
The Modelica and FMI tool ecosystem is growing each year with new tools and methods becoming available. The open Modelica standard promises portability but it is important to ensure that a certain model behaves the same in different Modelica tools or in a different version of the same tool. It is also very important (for model evolution) to check t...
A common situation in industry is that a system model (here a composite model) is composed of several sub-models which may have been developed using different tools. FMI is one important technology for exporting/importing models between tools and/or connecting them via co-simulation. TLM based modeling and co-simulation is another important techniq...
The high abstraction level of equation-based object-oriented (EOO) languages such as Modelica has the drawback that programming and modeling errors are often hard to find. In this paper we present integrated static and dynamic debugging methods for Modelica models and a debugger prototype that addresses several of those problems. The goal is an int...
Modelica models are typically used for simulation to
investigate properties of a possible system designs.
This is often done manually or combined with optimization
to select the best design parameters.
It is desirable to have systematic and partly automated
support for exploration of the design space of
possible designs and verifying their properti...
Abstract: What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping of a full-scale EOO (Equation-based Object-Oriented) modeling language such as Modelica. Bootstrapping means that the compiler of a language can compile itself. However, the usual application area for the Modelica is modeling and simula...
The high abstraction level of equation-based object-oriented languages (EOO) such as Modelica has the drawback that programming and modeling errors are often hard to find. In this paper we present the first integrated debugger for equation-based languages like Modelica, which can combine static and dynamic methods for run-time debugging of equation...
This paper describes the new OpenModelica Compiler Compiler (OMCC) including a parser generator, OMCCp which is based on an LALR parser generator extended with advanced error handling facilities. It is implemented in the MetaModelica language with parsing tables generated by the tools Flex and Bison. It is integrated with the MetaModelica semantics...
The high abstraction level of equation-based objectoriented
languages (EOO) such as Modelica has the
drawback that programming and modeling errors are
often hard to find. In this paper we present static and
dynamic debugging methods for Modelica models and
a debugger prototype that addresses several of those
problems. The goal is an integrated debu...
Modelica models often contain functions with algorithmic code. The fraction of algorithmic code is increasing in Modelica models since Modelica, in addition to equation-based modeling, is also used for embedded system control code and symbolic model transformations in compilers using the MetaModelica language extension. For these reasons, debugging...
In this paper we present a new functionality for graphical sketching in the OpenModelica interactive book, OMNotebook, which is part of the OpenModelica environment and used mainly for teaching. The new functionality is called OMSketch and allows the user to edit and draw shapes and figures within the electronic book. This allows teachers to prepar...
What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapping (i.e., a compiler can compile itself) of a full-scale EOO (Equa-tion-based Object-Oriented) modeling language such as Modelica. The Modelica language has been mod-eled/implemented in the OpenModelica compiler (OMC) using an extended version of Mo...
In this paper we present an interactive course material called DrControl for teaching control theory concepts mixed together with exercises and example models in Modelica. The active electronic notebook, OMNotebook, is the basis for the course material. This can be an alternative or complement compared to the traditional teaching method with lectur...
The paper presents a contribution to a Modelica benchmark suite. Basic ideas for a tool independent benchmark suite based on Python scripting along with models for testing the performance of Modelica com-pilers regarding large systems of equation are given. The automation of running the benchmark suite is demonstrated followed by a selection of ben...
Modelica is well suited for modelling complex physical systems due to the acausal description it is using. The causalisation of the model is carried out prior to each simulation. A significant part of the causalisation pro-cess is the symbolic manipulation and optimisation of the model. Despite the growing interest in Modelica, the capabilities of...
This paper describes the first open source Modelica graphic editor which is integrated with interactive elec-tronic notebooks and online interactive simulation. The work is motivated by the need for easy-to-use graphic editing of Modelica models using OpenMode-lica, as well as needs in teaching where the student should be able to interactively modi...
This report gives a language definition and tutorial on how to model languages using MetaModelica 2.0 – an extension of Modelica 3.2 designed for efficient language modeling. Starting from an extremely simple language, a series of small languages are modeled by gradually adding features. Both interpretive and translational language semantics are mo...
This report gives a language definition and tutorial on how to model languages using MetaModelica 1.0 –
an extended subset of Modelica designed for efficient language modeling. Starting from an extremely
simple language, a series of small languages are modeled by gradually adding features. Both interpretive
and translational language semantics are...
This report gives a language definition and tutorial on how to model languages using MetaModelica 1.0 –
an extended subset of Modelica designed for efficient language modeling. Starting from an extremely
simple language, a series of small languages are modeled by gradually adding features. Both interpretive
and translational language semantics are...