liu.seSearch for publications in DiVA
Change search
Link to record
Permanent link

Direct link
BETA
Aronsson, Peter
Publications (10 of 12) Show all publications
Fritzson, P., Pop, A., Broman, D. & Aronsson, P. (2009). Formal Semantics Based Translator Generation and Tool Development in Practice. In: Proceedings of  20th Australian Software Engineering Conference (ASWEC 2009), Gold Coast, Queensland, Australia, April 14 – 17, 2009: . Paper presented at 2009 Australian Software Engineering Conference, ASWEC 2009; Gold Coast; Australia (pp. 256-266). IEEE Computer Society
Open this publication in new window or tab >>Formal Semantics Based Translator Generation and Tool Development in Practice
2009 (English)In: Proceedings of  20th Australian Software Engineering Conference (ASWEC 2009), Gold Coast, Queensland, Australia, April 14 – 17, 2009, IEEE Computer Society , 2009, p. 256-266Conference paper, Published paper (Refereed)
Abstract [en]

In this paper we report on a long-term research effort to develop and use efficient language implementation generators in practice. The generator is applied to a number of different languages, some of which are used for projects in industry. The used formal specification style is operational semantics, primarily in the form called natural semantics, represented and supported by a meta-language and tool called the relational meta language (RML), which can generate efficient implementations in C, on par with hand-implemented code. Generating implementations from formal specifications are assumed to give advantages such as: high level descriptions, higher degree of correctness, and consistency between specification and implementation. To what extent can this be realized in practice? Does it scale to large language implementations? To answer some of these questions we have developed specifications of a range of languages: imperative, functional, object-oriented (Java), and equation-based (Modelica). The size of specifications range from half a page to large specifications of 60 000 lines. It turns out to be possible to generate efficient compilers, also for large languages. However, the performance of the generator tool and the user support of the development environment become increasingly important for large specifications. To satisfy such user needs the speed of the generator was increased a factor of ten to reduce turn-around time, and an Eclipse plug-in including a debugger were developed. For very large specifications, the structuring and modularity of the specification itself also become essential for performance and maintainability.

Place, publisher, year, edition, pages
IEEE Computer Society, 2009
National Category
Software Engineering
Identifiers
urn:nbn:se:liu:diva-50598 (URN)10.1109/ASWEC.2009.46 (DOI)978-0-7695-3599-9 (ISBN)
Conference
2009 Australian Software Engineering Conference, ASWEC 2009; Gold Coast; Australia
Available from: 2009-10-13 Created: 2009-10-13 Last updated: 2018-01-12
Aronsson, P. (2006). Automatic Parallelization of Equation-Based Simulation Programs. (Doctoral dissertation). : Institutionen för datavetenskap
Open this publication in new window or tab >>Automatic Parallelization of Equation-Based Simulation Programs
2006 (English)Doctoral thesis, monograph (Other academic)
Abstract [en]

Modern equation-based object-oriented modeling languages which have emerged during the past decades make it easier to build models of large and complex systems. The increasing size and complexity of modeled systems requires high performance execution of the simulation code derived from such models. More efficient compilation and code optimization techniques can help to some extent. However, a number of heavy-duty simulation applications require the use of high performance parallel computers in order to obtain acceptable execution times. Unfortunately, the possible additional performance offered by parallel computer architectures requires the simulation program to be expressed in a way that makes the potential parallelism accessible to the parallel computer. Manual parallelization of computer programs is generally a tedious and error prone process. Therefore, it would be very attractive to achieve automatic parallelization of simulation programs.

This thesis presents solutions to the research problem of finding practically usable methods for automatic parallelization of simulation codes produced from models in typical equationbased object-oriented languages. The methods have been implemented in a tool to automatically translate models in the Modelica modeling language to parallel codes which can be efficiently executed on parallel computers. The tool has been evaluated on several application models. The research problem includes the problem of how to extract a sufficient amount of parallelism from equations represented in the form of a data dependency graph (task graph), requiring analysis of the code at a level as detailed as individual expressions. Moreover, efficient clustering algorithms for building clusters of tasks from the task graph are also required. One of the major contributions of this thesis work is a new approach for merging fine-grained tasks by using a graph rewrite system. Results from using this method show that it is efficient in merging task graphs, thereby decreasing their size, while still retaining a reasonable amount of parallelism. Moreover, the new task-merging approach is generally applicable to programs which can be represented as static (or almost static) task graphs, not only to code from equation-based models.

An early prototype called DSBPart was developed to perform parallelization of codes produced by the Dymola tool. The final research prototype is the ModPar tool which is part of the OpenModelica framework. Results from using the DSBpart and ModPar tools show that the amount of parallelism of complex models varies substantially between different application models, and in some cases can produce reasonable speedups. Also, different optimization techniques used on the system of equations from a model affect the amount of parallelism of the model and thus influence how much is gained by parallelization.

Place, publisher, year, edition, pages
Institutionen för datavetenskap, 2006. p. 186
Series
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1022
Keywords
Heavy-duty simulation, Parallel computers, Automatic parallelization, Clustering
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-7446 (URN)91-85523-68-2 (ISBN)
Public defence
2006-06-14, Visionen, Hus B, Campus Valla, Linköpings universitet, Linköping, 13:15 (English)
Supervisors
Available from: 2006-09-27 Created: 2006-09-27 Last updated: 2018-01-13
Fritzson, P., Pop, A. D., Lundvall, H., Aronsson, P., Nyström, K., Saldamli, L., . . . Sandholm, A. (2006). OpenModelica - A Free Open-Source Environment for System Modeling, Simulation, and Teaching. In: Proceedings of the2006 IEEE International Conference on Control Applications (CCA)2006 IEEE Conference on Computer-Aided Control Systems Design (CACSD)2006 IEEE International Symposium on Intelligent Control (ISIC): . Paper presented at IEEE International Conference on Control Applications, IEEE International Symposium on Computer-Aided, Control Systems Design, IEEE International Symposium on Intelligent Control, October 4-6, 2006, Munich, Germany (pp. 1588-1595). Munich, Germany: IEEE
Open this publication in new window or tab >>OpenModelica - A Free Open-Source Environment for System Modeling, Simulation, and Teaching
Show others...
2006 (English)In: Proceedings of the2006 IEEE International Conference on Control Applications (CCA)2006 IEEE Conference on Computer-Aided Control Systems Design (CACSD)2006 IEEE International Symposium on Intelligent Control (ISIC), Munich, Germany: IEEE , 2006, p. 1588-1595Conference paper, Published paper (Refereed)
Abstract [en]

Modelica is a modern, strongly typed, declarative, and object-oriented language for modeling and simulation of complex systems. This paper gives a quick overview of some aspects of the OpenModelica environment - an open-source environment for modeling, simulation, and development of Modelica applications. An introduction of the objectives of the environment is given, an overview of the architecture is outlined and a number of examples are illustrated.   

Place, publisher, year, edition, pages
Munich, Germany: IEEE, 2006
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-35788 (URN)10.1109/CACSD-CCA-ISIC.2006.4776878 (DOI)28586 (Local ID)0-7803-9797-5 (ISBN)0-7803-9797-5 (ISBN)28586 (Archive number)28586 (OAI)
Conference
IEEE International Conference on Control Applications, IEEE International Symposium on Computer-Aided, Control Systems Design, IEEE International Symposium on Intelligent Control, October 4-6, 2006, Munich, Germany
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-13
Bachmann, B., Aronsson, P. & Fritzson, P. (2006). Robust Initialization of Differential Algebraic Equations. In: : . Paper presented at 5th International Modelica Conference Modelica..
Open this publication in new window or tab >>Robust Initialization of Differential Algebraic Equations
2006 (English)Conference paper, Published paper (Refereed)
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-37371 (URN)35069 (Local ID)35069 (Archive number)35069 (OAI)
Conference
5th International Modelica Conference Modelica.
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2018-01-13
Aronsson, P. & Fritzson, P. (2005). A Task Merging Technique for Parallelization of Modelica Models. In: 4th International Modelica Conference: . Paper presented at 4th International Modelica Conference, Hamburg, Germany, March 7-8, 2005.
Open this publication in new window or tab >>A Task Merging Technique for Parallelization of Modelica Models
2005 (English)In: 4th International Modelica Conference, 2005, p. -128Conference paper, Published paper (Refereed)
Abstract [en]

This paper presents improvements on techniques of merging tasks in task graphs generated in the ModPar automatic parallelization module of the OpenModelica compiler. Automatic parallelization is performed on Modelica models by building data dependency graphs called task graphs from the model equations. To handle large task graphs with fine granularity, i.e. low ratio of execution and communication cost, the tasks are merged. This is done by using a graph rewrite system(GRS), which is a set of graph transformation rules applied on the task graph. In this paper we have solved the confluence problem of the task merging system by giving priorities to the merge rules. A GRS is confluent if the application order of the graph transformations does not matter, i.e. the same result is gained regardless of application order. We also present a Modelica model suited for automatic parallelization and show results on this using the ModPar module in the OpenModelica compiler.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-110201 (URN)
Conference
4th International Modelica Conference, Hamburg, Germany, March 7-8, 2005
Available from: 2014-09-04 Created: 2014-09-04 Last updated: 2014-10-20Bibliographically approved
Fritzson, P., Aronsson, P., Lundvall, H., Nyström, K., Pop, A., Saldamli, L. & Broman, D. (2005). The OpenModelica Modeling, Simulation, and Development Environment. In: : . Paper presented at 46th Conference on Simulation and Modelling of the Scandinavian Simulation Society (SIMS2005), Trondheim, Norway, October 13-14, 2005.
Open this publication in new window or tab >>The OpenModelica Modeling, Simulation, and Development Environment
Show others...
2005 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Modelica is a modern, strongly typed, declarative, and object-oriented language for modeling and simulation of complex systems. This paper gives a quick overview of some aspects of the OpenModelica environment – an open-source environment for modeling, simulation, and development of Modelica applications. An introduction of the objectives of the environment is given, an overview of the architecture is outlined and a number of examples are illustrated.

National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-110211 (URN)
Conference
46th Conference on Simulation and Modelling of the Scandinavian Simulation Society (SIMS2005), Trondheim, Norway, October 13-14, 2005
Available from: 2014-09-04 Created: 2014-09-04 Last updated: 2014-10-20Bibliographically approved
Aronsson, P. & Fritzson, P. (2004). Automatic Parallelization in OpenModelica. In: : . Paper presented at 5th EUROSIM Congress on Modeling and Simulation, Paris, France, September, 2004.
Open this publication in new window or tab >>Automatic Parallelization in OpenModelica
2004 (English)Conference paper, Published paper (Refereed)
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:liu:diva-110200 (URN)(CD-ROM) 3-901608-28-1 (ISBN)
Conference
5th EUROSIM Congress on Modeling and Simulation, Paris, France, September, 2004
Available from: 2014-09-04 Created: 2014-09-04 Last updated: 2014-10-02
Fritzson, P., Engelson, V., Idebrant, A., Aronsson, P., Lundvall, H., Bunus, P. & Nyström, K. (2004). Modelica - A Strongly Typed System Specification Language for Safe Engineering Practices. In: Proceedings of the SimSAFE Conference, Karlskoga, Sweden, June 15-17, 2004: . Paper presented at SIMSAFE 2004, June 17, Karlskoga, Sweden.
Open this publication in new window or tab >>Modelica - A Strongly Typed System Specification Language for Safe Engineering Practices
Show others...
2004 (English)In: Proceedings of the SimSAFE Conference, Karlskoga, Sweden, June 15-17, 2004, 2004Conference paper, Published paper (Other academic)
Abstract [en]

Recent years have witnessed a significant growth of interest in modeling and simulation of engineering application systems. A key factor in this growth has been the development of efficient equation-based simulation languages, with Modelica as one of the prime examples. Such languages have been designed to allow automatic generation of efficient simulation code from declarative specifications. A major objective is to facilitate reuse and exchange of models, model libraries, and simulation specifications.

The Modelica language and its associated support technologies have achieved considerable success through the development of domain libraries in a number of technical areas. By using domain-libraries complex simulation models can be built by aggregating and combining submodels and components from various physical domains.

The concept of safe engineering practices has been one of the most important guidelines when designing Modelica. This made it natural to make Modelica a statically strongly typed language, which allows the compiler to check the consistency of a design before it is executed, in contrast to dynamically typed languages such as Matlab.

The ability of static checking has also influenced the design of conditional equations and the ongoing the design of variant handling features in Modelica. Moreover, the language allows support for standardized physical units, thus enabling tools for unit checking of relationships and connections between interfaces. A third possible level of checking is through design rules within application-specific libraries, which can be enforced via assert statements. These properties taken together gives a good foundation for safe engineering practices, even though more work is needed to further increase the safety quality level.

National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-23103 (URN)2500 (Local ID)2500 (Archive number)2500 (OAI)
Conference
SIMSAFE 2004, June 17, Karlskoga, Sweden
Available from: 2009-10-07 Created: 2009-10-07 Last updated: 2018-01-13Bibliographically approved
Aronsson, P. & Fritzson, P. (2003). Task Merging and Replication using Graph Rewriting. In: : . Paper presented at Tenth International Workshop on Compilers for Parallel Computers, Amsterdam, the Netherlands, Jan 8-10, 2003.
Open this publication in new window or tab >>Task Merging and Replication using Graph Rewriting
2003 (English)Conference paper, Published paper (Refereed)
National Category
Engineering and Technology
Identifiers
urn:nbn:se:liu:diva-62118 (URN)
Conference
Tenth International Workshop on Compilers for Parallel Computers, Amsterdam, the Netherlands, Jan 8-10, 2003
Available from: 2010-11-19 Created: 2010-11-19 Last updated: 2014-10-08
Aronsson, P. (2002). Automatic Parallelization of Simulation Code from Equation Based Simulation Languages. (Licentiate dissertation). : Institutionen för datavetenskap
Open this publication in new window or tab >>Automatic Parallelization of Simulation Code from Equation Based Simulation Languages
2002 (English)Licentiate thesis, monograph (Other academic)
Abstract [en]

Modern state-of-the-art equation based object oriented modeling languages such as Modelica have enabled easy modeling of large and complex physical systems. When such complex models are to be simulated, simulation tools typically perform a number of optimizations on the underlying set of equations in the modeled system, with the goal of gaining better simulation performance by decreasing the equation system size and complexity. The tools then typically generate efficient code to obtain fast execution of the simulations. However, with increasing complexity of modeled systems the number of equations and variables are increasing. Therefore, to be able to simulate these large complex systems in an efficient way parallel computing can be exploited.

This thesis presents the work of building an automatic parallelization tool that produces an efficient parallel version of the simulation code by building a data dependency graph (task graph) from the simulation code and applying efficient scheduling and clustering algorithms on the task graph. Various scheduling and clustering algorithms, adapted for the requirements from this type of simulation code, have been implemented and evaluated. The scheduling and clustering algorithms presented and evaluated can also be used for functional dataflow languages in general, since the algorithms work on a task graph with dataflow edges between nodes.

Results are given in form of speedup measurements and task graph statistics produced by the tool. The conclusion drawn is that some of the algorithms investigated and adapted in this work give reasonable measured speedup results for some specific Modelica models, e.g. a model of a thermofluid pipe gave a speedup of about 2.5 on 8 processors in a PC-cluster. However, future work lies in finding a good algorithm that works well in general.

Place, publisher, year, edition, pages
Institutionen för datavetenskap, 2002. p. 107
Series
Linköping Studies in Science and Technology. Thesis, ISSN 0280-7971 ; 933
Keywords
state-of-the-art equation, object oriented modeling, automatic parallelization tool, data dependency graph, clustering algorithms
National Category
Computer Sciences
Identifiers
urn:nbn:se:liu:diva-5720 (URN)91-7373-280-X (ISBN)
Presentation
2002-04-03, 00:00 (English)
Supervisors
Note
Report code: LiU-Tek-Lic-2002:06.Available from: 2003-04-15 Created: 2003-04-15 Last updated: 2018-01-13
Organisations

Search in DiVA

Show all publications