liu.seSearch for publications in DiVA
Change search
Refine search result
123456 101 - 150 of 276
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 101.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Bunus, Peter
    Linköping University, Department of Computer and Information Science.
    Modelica - a general object-oriented language for continuous and discrete-event system modeling and simulation2002In: Simulation Symposium, 2002, IEEE , 2002, p. 365-380Conference paper (Refereed)
    Abstract [en]

    Modelica is a general equation-based object-oriented language for continuous and discrete-event modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous objectoriented modeling languages. The Modelica modeling language and technology is being warmly received by the world community in modeling and simulation. It is bringing about a revolution in this area, based on its ease of use, visual design of models with combination of legolike predefined model building blocks, its ability to define model libraries with re-usable components and its support for modeling and simulation of complex applications involving parts from several application domains. In this paper we present the Modelica language with emphasis on its language features and one of the associated simulation environments. Simulation models can be developed in an integrated problem-solving environment by using a graphical editor for connection diagrams. Connections are established just by drawing lines between objects picked from a class library. The principles of object oriented physical systems modeling and the multi-domain capabilities of the language are presented in the paper by several examples.

  • 102.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Cellier, FrançoisETH Zürich.Broman, DavidLinköping University, Department of Computer and Information Science.
    Proceedings of the 2nd International Workshop on Equation-Based Object-Oriented Languages and Tools2008Conference proceedings (editor) (Other academic)
  • 103.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Elmqvist, HildingDassault Systémes AB, Sweden.
    Proceedings of the 11th International Modelica Conference, Versailles, France, September 21-23, 20152015Conference proceedings (editor) (Refereed)
    Abstract [en]

    Welcome The 11th International Modelica Conference, which takes place at Palais des Congrès de Versailles, is the main event for the Modelica community. Users, library developers, tool vendors, and language designers gather to share their knowledge and learn about the latest scientific and industrial progress related to Modelica and FMI (Functional Mockup Interface). The fundamental idea behind Modelica is to allow storing modeling knowhow in a high-level formally defined format, i.e., to collect information which you otherwise would find in engineering books only accessible by humans. By allowing convenient reuse of this knowhow by definition of component model libraries, enormous saving in man-hours for setting up simulation studies is achieved. Furthermore, by proper validation of such model libraries, much more reliable conclusions can be made from simulation studies leading to better products and user experience. These considerations lead to the equation-based object-oriented formalism of Modelica. Since the start of the collaborative design work for Modelica in 1996, Modelica has matured from an idea among a small number of dedicated enthusiasts to a widely accepted standard language for the modeling and simulation of cyber-physical systems. In addition, the standardization of the language by the non-profit organization Modelica Association enables Modelica models to be portable between a growing number of tools. Modelica is now used in many industries including automotive, energy and process, aerospace, and industrial equipment. Modelica is the language of choice for model-based systems engineering. The FMI standard has been added to the project portfolio of the Modelica Association. FMI provides a complementary standard that enables deployment of pre-compiled high quality models originating from different model formats to a larger number of engineers working with system design and verification.

  • 104.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Engelson, Vadim
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Modelica — A unified object-oriented language for system modeling and simulation1998In: ECOOP’98 — Object-Oriented Programming, Springer Berlin/Heidelberg, 1998, p. 67-90Conference paper (Refereed)
    Abstract [en]

    A new language called Modelica for hierarchical physical modeling is developed through an international effort. Modelica 1.0 [http:// www.Dynasim.se/Modelica] was announced in September 1997. It is an object-oriented language for modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous object-oriented modeling languages. Compared with the widespread simulation languages available today this language offers three important advances: 1) non-causal modeling based on differential and algebraic equations; 2) multidomain modeling capability, i.e. it is possible to combine electrical, mechanical, thermodynamic, hydraulic etc. model components within the same application model; 3) a general type system that unifies object-orientation, multiple inheritance, and templates within a single class construct.

    A class in Modelica may contain variables (i.e. instances of other classes), equations and local class definitions. A function (method) can be regarded as a special case of local class without equations, but including an algorithm section.

    The equation-based non-causal modeling makes Modelica classes more reusable than classes in ordinary object-oriented languages. The reason is that the class adapts itself to the data flow context where it is instantiated and connected. The multi-domain capability is partly based on a notion of connectors, i.e. certain class members that can act as interfaces (ports) when connecting instantiated objects. Connectors themselves are classes just like any other entity in Modelica. Simulation models can be developed using a graphical editor for connection diagrams. Connections are established just by drawing lines between objects picked from a class library.

    The Modelica semantics is defined via translation of classes, instances and connections into a flat set of constants, variables and equations. Equations are sorted and converted to assignment statements when possible. Strongly connected sets of equations are solved by calling a symbolic and/or numeric solver. The generated C/C++ code is quite efficient.

    In this paper we present the Modelica language with emphasis on its class construct and type system. A few short examples are given for illustration and compared with similar constructs in C++ and Java when this is relevant.

  • 105.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Engelson, Vadim
    Linköping University, Department of Computer and Information Science.
    Gunnarsson, Johan
    Linköping University, Department of Computer and Information Science.
    An integrated Modelica environment for modeling, documentation and simulation1998In: Proceedings of the 1998 Summer Computer Simulation Conference, SCSC'98, Reno, Nevada, USA, 1998, p. 308-313Conference paper (Refereed)
    Abstract [en]

    Modelica is a new object-oriented multi-domain modeling language based on algebraic and differential equations. In this paper we present an environment that integrates different phases of the Modelica development lifecycle. This is achieved by using the Mathematica environment and its structured documents, “notebooks”. Simulation models are represented in the form of structured documents, which integrate source code, documentation and code transformation specifications, as well as providing control over simulation and result visualization.

    Import and export of Modelica code between internal structured and external textual representation is supported. Mathematica is an interpreted language, which is suitable as a scripting language for controlling simulation and visualization. Mathematica also supports symbolic transformations on equations and algebraic expressions which is useful in building mathematical models.

  • 106.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Engelson, Vadim
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Idebrant, Andreas
    MathCore Engineering AB, Linköping, Sweden.
    Aronsson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Lundvall, Håkan
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Bunus, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Nyström, Kaj
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Modelica - A Strongly Typed System Specification Language for Safe Engineering Practices2004In: Proceedings of the SimSAFE Conference, Karlskoga, Sweden, June 15-17, 2004, 2004Conference 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.

  • 107.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Engelson, Vadim
    Linköping University, Department of Computer and Information Science.
    Sheshadri, Krishnamurthy
    Connexios Life Sciences, Bangalore, India.
    MathCode: A System for C++ or Fortran Code Generation from Mathematica2008In: The Mathematica journal, ISSN 1047-5974, E-ISSN 1097-1610, Vol. 10, no 4Article in journal (Refereed)
  • 108.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Engelson, Vadim
    Linköping University, Department of Computer and Information Science.
    Viklund, Lars
    Linköping University, Department of Computer and Information Science.
    Variant handling, inheritance and composition in the ObjectMath computer algebra environment1993In: Design and Implementation of Symbolic Computation Systems: International Symposium, DISCO '93 Gmunden, Austria, September 15–17, 1993 Proceedings / [ed] Alfonso Miola, Springer Berlin/Heidelberg, 1993, p. 145-163Conference paper (Refereed)
    Abstract [en]

    ObjectMath is a high-level programming environment and modeling language for scientific computing which supports variants and graphical browsing in the environment and integrates object-oriented constructs such as classes and single and multiple inheritance within a computer algebra language. In addition, composition of objects using the part-of relation and support for solution of systems of equations is provided. This environment is currently being used for industrial applications in scientific computing. The ObjectMath environment is designed to handle realistic problems. This is achieved by allowing the user to specify transformations and simplifications of formulae in the model, in order to arrive at a representation which is efficiently solvable. When necessary, equations can be transformed to C++ code for efficient numerical solution. The re-use of equations through inheritance in general reduces models by a factor of two to three, compared to a direct representation in the Mathematica computer algebra language. Also, we found that multiple inheritance from orthogonal classes facilitates re-use and maintenance of application models.

  • 109.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Dag
    SKF Engineering & Research Centre, Nieuwegein, The Netherlands.
    The Need for High-Level Programming Support in Scientific Computing - Applied to Mechanical Analysis1992In: Computers and Structures, ISSN 0045-7949, Vol. 45, no 2, p. 387-395Article in journal (Refereed)
    Abstract [en]

    We describe the current state of the art in computerized support of mathematical and numerical modelling for mechanical analysis. An overview of relevant high-level languages, computer algebra systems, and hybrid symbolic-numerical systems is also given. Several problems with current tools are identified, and a high-level programming environment is proposed as a solution. Such an environment should include object oriented model description, symbolic formula manipulation, generation of numeric code, automatic use of equation solvers and optimization techniques, in addition to graphical presentation of model and simulation data.

  • 110.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Dag
    SKF Engineering & Research Centre ,Sweden.
    Viklund, Lars
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Herber, Johan
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Transformation of Equation-Based Real-World Models to Efficient Code, Applied to Machine Elements Geometry1991Conference paper (Refereed)
  • 111.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Gunnarsson, Johan
    MathCore AB, Linköping, Sweden.
    Jirstrand, Mats
    MathCore AB, Linköping, Sweden.
    MathModelica - An Extensible Modeling and Simulation Environment with Integrated Graphics and Literate Programming2002Conference paper (Refereed)
    Abstract [en]

    MathModelica is an integrated interactive development environment for advanced system modeling and simulation. The environment integrates Modelica-based modeling and simulation with graphic design, advanced scripting facilities, integration of program code, test cases, graphics, documentation, mathematical type setting, and symbolic formula manipulation provided via Mathematica. The user interface consists of a graphical Model Editor and Notebooks. The Model Editor is a graphical user interface in which models can be assembled using components from a number of standard libraries representing different physical domains or disciplines, such as electrical, mechanics, block-diagram and multi-body systems. Notebooks are interactive documents that combine technical computations with text, graphics, tables, code, and other elements. The accessible MathModelica internalform allows the user to extend the system with new functionality, as well as performing queries on the model representation and write scripts for automatic model generation. Furthermore, extensibility of syntax and semantics provides additional flexibility in adapting to unforeseen user needs.

  • 112.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Gyimothy, Tibor
    Hungarian Academy of Sciences.
    Kamkar, Mariam
    Linköping University, Department of Computer and Information Science.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science.
    Generalized algorithmic debugging and testing1991Conference paper (Refereed)
    Abstract [en]

    This paper presents a method for semi-automatic bug localization, generalized algorithmic debugging, which has been integrated with the category partition method for functional testing. In this way the efficiency of the algorithmic debugging method for bug localization can be improved by using test specifications and test results. The long-range goal of this work is a semi-automatic debugging and testing system which can be used during large-scale program development of nontrivial programs. The method is generally applicable to procedural langua ges and is not dependent on any ad hoc assumptions regarding the subject program. The original form of algorithmic debugging, introduced by Shapiro, was however limited to small Prolog programs without side-effects, but has later been generalized to concurrent logic programming languages. Another drawback of the original method is the large number of interactions with the user during bug localization. To our knowledge, this is the first method which uses category partition testing to improve the bug localization properties of algorithmic debugging. The method can avoid irrelevant questions to the programmer by categorizing input parameters and then match these against test cases in the test database. Additionally, we use program slicing, a data flow analysis technique, to dynamically compute which parts of the program are relevant for the search, thus further improving bug localization. We believe that this is the first generalization of algorithmic debugging for programs with side-effects written in imperative languages such as Pascal. These improvements together makes it more feasible to debug larger programs. However, additional improvements are needed to make it handle pointer-related side-effects and concurrent Pascal programs. A prototype generalized algorithmic debugger for a Pascal subset without pointer side-effects and a test case generator for application programs in Pascal, C, dBase, and LOTUS have been implemented.

  • 113.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Lee, Edward
    University of California, Berkeley, USA.
    Cellier, Francois
    ETH Zurich, Switzerland.
    Broman, David
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Equation-Based Object-Oriented Modeling Languages and Tools: Report on the Workshop EOOLT 2010 at MODELS 2010 Oslo, Norway, October 3, 20102011In: MODELS 2010 Workshops, Springer Berlin/Heidelberg, 2011, , p. 5p. 140-144Chapter in book (Other academic)
    Abstract [en]

    EOOLT 2010 was the third edition of the EOOLT workshop series. The workshop is intended to bring together researchers and practitioners fromdifferent equation-based object-oriented (EOO) modeling language communities. This year’s workshop also expands the scope to include the whole design space of languages for cyber-physical systems, where physical dynamics are mixed with networks and software. The workshop gathered 31 participants to present and discuss thirteen different papers grouped into the four areas of real-time oriented modeling languages and tools, modeling language design, simulation and model compilation, and modeling and simulation tools.

  • 114.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Lee, EdwardUniversity of California, Berkeley.Cellier, FrançoisETH Zürich.Broman, DavidLinköping University, Department of Computer and Information Science.
    Proceedings of the 3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools2010Conference proceedings (editor) (Other academic)
  • 115.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Meta-Programming and Language Modeling with MetaModelica 1.02011Report (Other academic)
    Abstract [en]

    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 modeled. Exercises with solutions are given.

    The approach of allowing the modeling language to model language semantics in principle allows the definition of language semantics in libraries, which could be used to reverse the current trend of model compilers becoming very large and complex.

    MetaModelica 1.0 is the first Modelica language version that supports  language modeling, and has been in extensive use since 2005, primarily in the development of the OpenModelica compiler.

    MetaModelica 1.0 is strongly related to the RML specification language for Natural Semantics/Structural Operational Semantics, and is implemented using the RML compiler kernel but with a new compiler frontend. Thus, it lacks many standard language features in Modelica and requires a strictly functional modeling style.

    The next version of MetaModelica, becoming available during the spring 2011, is implemented within the standard OpenModelica compiler. Therefore it also supports the standard Modelica 3 language features as well as additional features for expressiveness and conciseness.

  • 116.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science.
    Broman, David
    Linköping University, Department of Computer and Information Science.
    Aronsson, Peter
    Linköping University, Department of Computer and Information Science.
    Formal Semantics Based Translator Generation and Tool Development in Practice2009In: 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 (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.

  • 117.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science.
    Aronsson, Peter
    Linköping University, Department of Computer and Information Science.
    Towards Comprehensive Meta-Modeling and Meta-Programming Capabilities in Modelica2005Conference paper (Other academic)
  • 118.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Lundvall, Håkan
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Aronsson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Nyström, Kaj
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Saldamli, Levon
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Broman, David
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sandholm, Anders
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    OpenModelica - A Free Open-Source Environment for System Modeling, Simulation, and Teaching2006In: 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 (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.   

  • 119.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Norling, Kristoffer
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Blom, Mikael
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Comment- and Indentation Preserving Refactoring and Unparsing for Modelica2008In: Proceedings of the 6th International Modelica Conference, March 3rd-4th, 2008, University of Applied Sciences Bielefeld, Bielefeld, Germany / [ed] Bernhard Bachmann, Modelica Website: Modelica Association , 2008, p. 657-665Conference paper (Refereed)
    Abstract [en]

    In this paper we present a strategy for comment- and indentation preserving refactoring and unparsing for Modelica. The approach is general, but is currently being implemented for Modelica in the OpenModelica environment. We believe this to be one of the first unparsing approaches that can preserve all user-defined indentation and comment information, as well as fulfilling the principle of minimal replacement at refactorings.

  • 120.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Towards Modelica 4 Meta-Programming and Language Modeling with MetaModelica 2.02011Report (Other academic)
    Abstract [en]

    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 modeled. Exercises with solutions are given.

    The approach of allowing the modeling language to model language semantics in principle allows the definition of language semantics in libraries, which could be used to reverse the current trend of model compilers becoming very large and complex.

    MetaModelica 2.0 builds on MetaModelica 1.0 which was the first Modelica language version that supports language modeling, and has been in extensive use since 2005, primarily in the development of the OpenModelica compiler.

    The following version of MetaModelica, called MetaModelica 2.0, is described in this report. It is easier to use since it also supports the standard Modelica 3 language features as well as additional modeling features for expressiveness and conciseness. It is implemented within the OpenModelica compiler itself. This means that the OpenModelica compiler supporting MetaModelica 2.0 is bootstrapped, i.e., it compiles itself.

    This work is strongly connected to the Modelica 4 effort announced by Modelica Association in September 2010, which includes moving language functionality into library packages to achieve more extensible and modular Modelica model compilers. The MetaModelica language features contribute to realizing that goal. The language features have been proven in large-scale usage in the packages within the OpenModelica compiler. However, much work still remains in improving the modularity and interface properties that are expected by library packages.

  • 121.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Privitzer, Pavol
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian
    Linköping University, Department of Computer and Information Science.
    Towards a Text Generation Template Language for Modelica2009Conference paper (Refereed)
  • 122.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Kamkar, Mariam
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Gyimothy, Tibor
    Research Group on the Theory of Automata, Hungarian Academy of Sciences.
    Generalized algorithmic debugging and testing1992In: ACM Letters on Programming Languages and Systems, ISSN 1057-4514, Vol. 1, no 4, p. 303-322Article in journal (Refereed)
    Abstract [en]

    This paper presents a method for semi-automatic bug localization, generalized algorithmic debugging, which has been integrated with the category partition method for functional testing. In this way the efficiency of the algorithmic debugging method for bug localization can be improved by using test specifications and test results. The long-range goal of this work is a semi-automatic debugging and testing system which can be used during large-scale program development of nontrivial programs. The method is generally applicable to procedural langua ges and is not dependent on any ad hoc assumptions regarding the subject program. The original form of algorithmic debugging, introduced by Shapiro, was however limited to small Prolog programs without side-effects, but has later been generalized to concurrent logic programming languages. Another drawback of the original method is the large number of interactions with the user during bug localization. To our knowledge, this is the first method which uses category partition testing to improve the bug localization properties of algorithmic debugging. The method can avoid irrelevant questions to the programmer by categorizing input parameters and then match these against test cases in the test database. Additionally, we use program slicing, a data flow analysis technique, to dynamically compute which parts of the program are relevant for the search, thus further improving bug localization. We believe that this is the first generalization of algorithmic debugging for programs with side-effects written in imperative languages such as Pascal. These improvements together makes it more feasible to debug larger programs. However, additional improvements are needed to make it handle pointer-related side-effects and concurrent Pascal programs. A prototype generalized algorithmic debugger for a Pascal subset without pointer side-effects and a test case generator for application programs in Pascal, C, dBase, and LOTUS have been implemented

  • 123.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science.
    Ulfhielm, Erik
    Belic, Ales
    Faculty of Electrical Engineering, University of Ljubljana.
    Fransson, Martin
    Linköping University, Department of Computer and Information Science.
    Green, Henrik
    Hälsouniversitetet, Faculty of Health Sciences.
    Biochemical Mathematical Modeling with Modelica and the BioChem Library2007Conference paper (Refereed)
    Abstract [en]

    Considering the large amounts of data that is nowadays produced in the biochemistry (functional genomics) it is difficult to extract the information from the measurements. There is currently also a great interest in the development of novel analytical technologies for rapid screening of disease symptoms in pharmaceutical and clinical ap-plications. Modeling and simulation can provide a useful help in understanding the rela-tions of the measured substances and to minimize the need for measurements. The Bio-Chem library presented here is the first free Modelica library available for mathematical modeling of biochemical processes. Three examples are shown to illustrate the library. First, a simple insulin model is presented. Then a simplified model of cholesterol to-gether with simulations are shown. Next, a simple drug model together with parameter estimation in NONMEN are presented. The BioChem library allows for fast and end-user friendly modeling of biomedical systems. The graphical user interface provides graphics similar to that used in the description of metabolic pathways in biochemistry.

  • 124.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Viklund, Lars
    Linköping University.
    Fritzson, Dag
    SKF Engineering & Research Centre .
    Herber, Johan
    Linköping University.
    High-level mathematical modeling and programming in Scientific Computing1995In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 12, no 4, p. 77-87Article in journal (Refereed)
    Abstract [en]

    Scientific computing and advanced mechanical analysis demand high-level support for modeling and solving complex equations. To meet this need, the authors designed ObjectMath and applied it to real problems in machine-element analysis

  • 125.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Viklund, Lars
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Herber, Johan
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Dag
    SKF Engineering & Research Centre.
    Industrial Application of Object-Oriented Mathematical Modeling and Computer Algebra in Mechanical Analysis1992Conference paper (Refereed)
    Abstract [en]

    The past ten to fifteen years has seen active research in the area of automatically generating the code generator part of compilers from formal specifications. However, less work has been done on evaluating and applying these systems in an industrial setting. This paper attempts to fill this gap.Three systems for automatic generation of code generators are evaluated in this paper: CGSS, BEG and TWIG. CGSS is an older Graham-Glanville style system based on pattern matching through parsing, whereas BEG and TWIG are more recent systems based on tree pattern matching combined with dynamic programming. An industrial-strength code generator previously implemented for a special-purpose language using the CGSS system is described and compared in some detail to our new implementation based on the BEG system. Several problems of integrating local and global register allocation within automatically generated code generators are described, and some solutions proposed. We finally conclude that current technology of automatically generating code generators is viable in an industrial setting. However, further research needs to be done on the problem of properly integrating register allocation with instruction selection, when both are generated from declarative specifications.

  • 126.
    Fritzson, Peter
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Wismuller, Roland
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology. University of Technology Munich, Germany.
    Hansen, Olav
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sala, Jonas
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology. Parallel Systems, Solna, Sweden.
    Skov, Peter
    Linköping University, Department of Computer and Information Science.
    A parallel debugger with support for distributed arrays, multiple executables and dynamic processes1996In: Compiler Construction / [ed] Gyimothy, Tibor, Springer Berlin/Heidelberg, 1996, p. 341-355Conference paper (Refereed)
    Abstract [en]

    In this paper we present the parallel debugger DETOP with special emphasis on new support for debugging of programs with distributed data structures such as arrays that have been partitioned over a number of processors. The new array visualizer within DETOP supports transparent browsing and visualization of distributed arrays which occur in languages such as High Performance Fortran. Visualization of sparse arrays is supported through an array mapper facility, as well as transparent visualization of arrays which have been partitioned by hand for applications in C or Fortran77. Color coding makes the visualization more expressive and easier to read.

    DETOP provides a graphical user interface that is simple to use even for inexperienced users and supports not only static data parallel programs, but also dynamic programs and parallel applications based on functional decomposition. The combination of support for applications that include dynamic process creation, multiple executables, processes and threads, and distributed data structures, makes DETOP rather unique among parallel debuggers. DETOP has been implemented for Parsytec PowerPC based multicomputers with Sparcstation frontends. Ongoing efforts include portable versions of DETOP for PVM and MPI run-time environments.

  • 127.
    Garro, Alfredo
    et al.
    Department of Informatics, Modeling, Electronics and Systems Engineering (DIMES), University of Calabria, Italy.
    Tundis, Andrea
    Department of Informatics, Modeling, Electronics and Systems Engineering (DIMES), University of Calabria, Italy.
    Bouskela, Daniel
    R&D Division, Electricité de France (EDF), France.
    Jardin, Audrey
    R&D Division, Electricité de France (EDF), France.
    Nguyen, Thuy
    R&D Division, Electricité de France (EDF), France.
    Otter, Martin
    Institute of System Dynamics and Control, DLR German Aerospace Center, Germany.
    Buffoni, Lena
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Sjölund, Martin
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Schamai, Wladimir
    Airbus Group Innovations, Hamburg, Germany.
    Olsson, Hans
    Dassault Systèmes AB, Sweden.
    On formal cyber physical system properties modeling: a new temporal logic language and a Modelica-based solution2016In: 2016 IEEE International Symposium on Systems Engineering (ISSE), IEEE , 2016, p. 112-119Conference paper (Refereed)
    Abstract [en]

    Modeling and Simulation methods, tools and techniques aim at supporting the different phases of the lifecycle of modern systems, going from requirements analysis to system design and operation. However, their effective application requires investigating several aspects such as the formal modeling of system requirements and the binding and automated composition between heterogeneous models (e.g. requirements models, architectural models, behavioral models). In this context, the paper presents a new formal requirement modeling language based on temporal logic, called FORM-L, and a software library, based on the Modelica language, that implements the constructs provided by FORM-L so as to enable the visual modeling of system properties as well as their verification through simulation. The effectiveness of the proposal is shown on a real case study concerning an Intermediate Cooling System.

  • 128.
    Gebremedhin, Mahder
    et al.
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, The Institute of Technology.
    Automatic Task Based Analysis and Parallelization in the Context of Equation Based Languages2014In: EOOLT '14 Proceedings of the 6th International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools, New York: ACM , 2014, p. 49-52Conference paper (Refereed)
    Abstract [en]

    This paper presents an automatic parallelization approach for handling complex task systems with heavy dependencies, including methods of analyzing dependencies, representing them in a convenient way, and processing the resulting task graph representation. We present a library-based task system representation, clustering, profiling, and scheduling approach to simplify the otherwise tedious process of parallelizing complex task systems. We have implemented a flexible and robust task system handling library to manipulate and parallelize these complex task systems on shared memory multi-core and multi-processor systems. The implementation has been developed as part of the OpenModelica simulation environment. We demonstrate methods of extracting and utilizing parallelism in the context of mathematical modeling languages.

  • 129.
    Genius, Daniela
    et al.
    Universität Karlsruhe, Germany.
    Assmann, Uwe
    Universität Karlsruhe, Germany.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Sips, Henk
    TU Delft, The Netherlands.
    Kurver, Rob
    ACE Associated Compiler Experts bv, The Netherlands.
    Wilhelm, Reinhard
    Universität des Saarlandes, Germany.
    Schepers, Henk
    Philips Electronics NV, The Netherlands.
    Rindborg, Tom
    Ericsson Utvecklings AB, Sweden.
    Java and CoSy Technology for Embedded Systems: the JOSES Project1999Conference paper (Refereed)
    Abstract [en]

    Even though there is a growing interest in Java-based embedded computing, compilers have to solve several problems before they can produce high performance Java code. On the one hand, Java`s advanced features, e.g. calls of virtual methods, need to be optimized with appropriate inter-class techniques. Additionally, Java`s memory management requires fast garbage collection observing real-time deadlines. On the other hand, new hardware trends create problems: heterogeneous parallel embedded systems require new techniques for performance optimization, and cache storage needs to be allocated by the compiler in order to exploit the speed of new processors. To meet these requirements, the EU long-term research project JOSES (Java and CoSy technology for Embedded Systems) has been initiated. Its mission is to create a Java-based European technology for heterogeneous embedded systems, including an optimizing Java compiler environment producing high-performance native code. JOSES will exploit the European product-quality compiler framework CoSy, marketed by ACE. This component-based technology allows re-use of existing compiler engines and employs generator technology wherever possible.

  • 130.
    Gorm Larsen, Peter
    et al.
    Aarhus University, Denmark.
    Fitzgerald, John
    Newcastle University, England.
    Woodcock, Jim
    University of York, England.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, Software and Systems. Linköping University, Faculty of Science & Engineering.
    Brauer, Joerg
    Verified Syst Int, Germany.
    Kleijn, Christian
    Controllab Prod, Netherlands.
    Lecomte, Thierry
    Clearsy SAS, France.
    Pfeil, Markus
    TWT Science and Innovat, Germany.
    Green, Ole
    Agro Intelligence, Denmark.
    Basagiannis, Stylianos
    United Technology Research Centre, Ireland.
    Sadovykh, Andrey
    Softeam, France.
    Integrated Tool Chain for Model-based Design of Cyber-Physical Systems: The INTO-CPS Project2016In: 2016 2ND INTERNATIONAL WORKSHOP ON MODELLING, ANALYSIS, AND CONTROL OF COMPLEX CPS (CPS DATA), IEEE , 2016Conference paper (Refereed)
    Abstract [en]

    We describe INTO-CPS, a project that aims to realise the goal of integrated tool chains for the collaborative and multidisciplinary engineering of dependable Cyber-Physical Systems (CPSs). Challenges facing model-based CPS engineering are described, focussing on the semantic diversity of models, management of the large space of models and artefacts produced in CPS engineering, and the need to evaluate effectiveness in industrial settings. We outline the approach taken to each of these issues, particularly on the use of semantically integrated multi-models, links to architectural modelling, code generation and testing, and evaluation via industry-led studies. We describe progress on the development of a prototype tool chain from baseline tools, and discuss ongoing challenges and open research questions in this area.

  • 131.
    Hoffner, Tommy
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Kamkar, Mariam
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Evaluation of Program Slicing tools1995Conference paper (Refereed)
    Abstract [en]

    This paper presents an evaluation and comparison of practical implementations of program slicing, which is a technique for extracting parts of computer programs by tracing the program's control and data flow related to some data item. Slicing has applications is several areas such as debugging, data flow testing, integration of several source program versions into single version, etc. The usefulness of slicing is related to its ability to focus on relevant parts of large programs.

    Static program slicing, which is a compile-time version of the analysis, was first introduced 1982, whereas run-time based dynamic slicing systems appeared around 1988. However, previously there has not been any comprehensive evaluation of the state of the art regarding slicing system implementations. This is an attempt to partially fill that need, by evaluating five implementations. Not surprisingly, it was observed that dynamic slicing systems often give smaller and more precise slices than static slicing systems, since in the dynamic case an actual flow of control is known. An unexpected observation was that dynamic slicers can sometimes be faster than static slicers. One of the systems shows how slicing can be integrated into a conventional debugging tool. All systems can be regarded as first generation systems, in that they have some performance problems and in several cases support rather small language subsets. The next generation of such systems may become useful tools integrated as part of program development environments.

  • 132.
    Hossain, Muhammed Zoheb
    et al.
    Scania,Sweden.
    Nyberg, Mattias
    Scania,Sweden.
    Rogovchenko, Olena
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Computerized Model Based Functional Safety Analysis2012Conference paper (Refereed)
    Abstract [en]

    With the growing complexity of the hardware models, the verification of the functional safety of each individual component as well as of the entire system becomes increasingly complex. In this paper the authors present a novel approach to functional safety analysis, based on the integration of functional tests into the model itself and the analysis of resulting model through a stochastic Bayesian model. This approach strives to both bypass the necessity for costly hardware testing and integrate the functional safety analysis into an intuitive component development process.

  • 133.
    Idebrant, Andreas
    et al.
    MathCore Engineering AB, Linköping, Sweden.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Aircraft – A Modelica Library for Aircraft Dynamics Simulation2004Conference paper (Refereed)
    Abstract [sv]

    The Aircraft library is a versatile Modelica library for modeling and simulating aircraft dynamics applications. It is structured into a number of sublibraries, that contain models for describing the aerodynamics, atmosphere aerodynamic impact on aircraft, bodies, engine models, coordinate transformation models, etc. The library is very easy to use, and automatically computes up-to-date center-of-mass and moment of inertia depending on the mass and position of components included in the application model. External components written in C can be included, e.g. external controller models. The library has successfully been used to model the flight dynamics of a generic aircraft whose visual appearance has superficial similarities to the Swedish JAS Gripen aircraft, using the MathModelica tool for modeling, simulation, and 3D visualization.

  • 134.
    Jagudin, Elmir
    et al.
    Linköping University, Department of Computer and Information Science.
    Remar, Andreas
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    OpenModelica MDT Eclipse plugin for Modelica Development, Code Browsing, and Simulation2006Conference paper (Refereed)
    Abstract [en]

      

  • 135.
    Jirstrand, Mats
    et al.
    MathCore Engineering AB.
    Gunnarsson, Johan
    MathCore Engineering AB.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    MathModelica – A New Modeling and Simulation Environment for Modelica1999Conference paper (Refereed)
  • 136.
    Johansson, Olof
    et al.
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    A functionality coverage analysis of industrially used ontology languages2004Conference paper (Refereed)
  • 137.
    Johansson, Olof
    et al.
    Linköping University, Department of Computer and Information Science.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    Engineering Design Tool Standards and Interfacing Possibilities to Modelica Simulation Tools2006Conference paper (Refereed)
    Abstract [en]

    This paper briefly describes some international standards used for engineering design tools that precede simulation in the product development process. Very much information in such design tools can be reused when developing Modelica simulation models. Examples are product structures, component parameters, and component connection information. The Modelica Standard Library (MSL) with the latest version 2.2.1 has grown significantly the last years. An analysis of the contents of MSL is provided, and a classification method described to ease the work of mapping structures, component parameters and connections in engineering design tools such that their information content can be reused for development of Modelica simulation models. ModelicaXML has been upgraded to support Modelica 2.2, and is briefly described as one of the most promising intermediate formats for exchange of models between engineering design tools and Modelica simulation tools. 

  • 138.
    Johansson, Olof
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Pop, Adrian Dan Iosif
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    ModelicaDB - A Tool for Searching, Analysing, Crossreferencing and Checking of Modelica Libraries2005In: Proceedings fo the 4th International Modelica Conference, March 7-8, Hamburg University of Technology, Hamburg-Harburg, Germany, Volume 2 / [ed] Gerhard Schmitz, 2005, p. 445-454Conference paper (Refereed)
    Abstract [en]

    This paper presents ModelicaDB, a tool that provides several kinds of queries on repositories of Modelica models.

    The Modelica language has a growing user community that produce a large and increasing code base of models.

    However, the reuse of models within the Modelica community can be greatly hampered in the future if there are no tools to address a number of management issues (i.e. scalable searching, analysing, crossreferencing, checking, etc) of such a large repository of models.

    We try to address these issues by providing the Modelica community with a ModelicaDB database for storing models and services for quering this database to perform a wide range of model engineering tasks in ascalable fashion.

    In the long-term, this work also aims at providing integration between Modelica tools and advanced product development processes that rely on database technology.

  • 139.
    Kamkar, Mariam
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Interprocedural dynamic slicing applied to interprocedural data flow testing1993In: Conference on Software Maintenance, 1993, IEEE , 1993Conference paper (Refereed)
    Abstract [en]

    During the past ten years several variants of an analysis technique called program slicing have been developed. Program slicing has applications in maintenance tasks such as debugging, testing, program integration, program verification, etc. and can be characterized as a type of dependence analysis. A program slice can loosely be defined as the subset of a program needed to compute a certain variable value at a certain program position. A novel method for interprocedural dynamic slicing which is more precise than interprocedural static slicing methods and is useful for dependence analysis at the procedural abstraction level was given by M. Kamkar et al. (1992, 1993). It is demonstrated here how interprocedural dynamic slicing can be used to increase the reliability and precision of interprocedural data flow testing. The work on data flow testing reported by E. Duesterwald et al. (1992), which is a novel method for data flow testing through output influences, is generalized

  • 140.
    Kamkar, Mariam
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Affect-Chaining and Dependency Oriented Flow Analysis Applied to Queries of Programs1988Conference paper (Refereed)
    Abstract [en]

     Most of the work on static program flow analysis has been done in the context of code optimization. The situation is different for an application such as an interactive query tool for programmer support. Primarily this is because the information wanted is different from what is needed for optimization, but also because incremental flow analysis algorithms are much more relevant in this context.In this paper we introduce the concept of affect-chaining, which is the process of analysing flow of data between variables in a program. The objective is to help the user to better understand data flow and data dependencies in programs not only during design and coding but also during test, debugging and maintenance. We present both forward- and backward- versions of affect-chaining analysis together with efficient algorithms.A long term goal of the work presented in this paper is to combine results from static analysis of a program and information from the run-time state during execution of the same program. The idea is, that this combination will enable an interactive query tool to answer questions about possible reasons for unexpected program behavior, and also to inform about possible consequences of a program change which may be considered. Another goal is to develop better estimates of software complexity based on affect-chaining dependencies.

  • 141.
    Kamkar, Mariam
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Bug Localization by Algorithmic Debugging and Program Slicing1990In: Programming Language Implementation and Logic Programming, Springer Berlin/Heidelberg, 1990, p. 60-74Conference paper (Refereed)
    Abstract [en]

    This paper presents a generalized version of algorithmic debugging, a method for semi-automatic bug localization. The method is generally applicable to procedural languages, and is not dependent on any ad hoc assumptions regarding the subject program. The original form of algorithmic debugging, introduced by Shapiro [Shapiro-83], is however limited to small Prolog programs without side-effects. Another drawback of the original method is the large number of interactions with the user during bug localization. To our knowledge, this work is the first generalization of algorithmic debugging for programs with side-effects written in imperative languages such as Pascal. Also, we have improved the search method in a way that eliminates many irrelevant questions to the programmer during bug localization. This makes it feasible to debug larger programs. The focusing of the localization process is achieved by using program slicing, a data flow analysis technique, to dynamically compute which parts of the program are relevant for the search. A prototype generalized algorithmic debugger for Pascal has been implemented in Pascal.

  • 142.
    Kamkar, Mariam
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Interprocedural dynamic slicing1992In: Programming Language Implementation and Logic Programming / [ed] Bruynooghe, Maurice, Wirsing, Martin, Springer Berlin/Heidelberg, 1992, p. 370-384Conference paper (Refereed)
    Abstract [en]

    This paper presents the first algorithm for interprocedural dynamic slicing. Previous methods for dynamic slicing only considered languages without procedures and procedure calls. This method generates summary information for each procedure call and represents a program as a summary graph of dynamic dependencies. A slice on this graph consists of nodes for all procedure calls of the program that affect the value of a given variable. The size of the information saved by this method is considerably smaller than what is needed by previous methods for dynamic slicing [AH90], since it only depends on the size of the program's execution tree, i.e. the number of executed procedure calls, which is much smaller than the size of a trace of all executed statements. In addition, work space for the temporary graph is needed, proportional to the maximum sum of the sizes of simultaneously active procedures. A program slice can be produced from the interprocedural slice on the graph if a suitable definition of control dependency is used when the summary graph is constructed. The interprocedural dynamic slicing introduced in this paper is being used to improve the bug localization properties of the Generalized Algorithmic Debugging Technique [FGKS91], a method for declarative semi-automatic debugging.

  • 143.
    Kamkar, Mariam
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Shahmehri, Nahid
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Three Approaches to Interprocedural Dynamic Slicing1993In: Microprocessing and Microprogramming, ISSN 0165-6074, Vol. 38, no 1-5, p. 625-636Article in journal (Refereed)
    Abstract [en]

    The need of maintenance and modification demand that large programs be decomposed into manageable parts. Program slicing is one method for such decomposition. A program slice with respect to a specified variable at some program point consists of those parts of the program that may directly or indirectly affect the value of that variable at the particular program point. This is useful for understanding dependences within programs. A static program slice [Wei84] is computed using static data-and control flow analysis and is valid for all possible executions of the program. Static slices are often impricise, i.e., they contain unnecessarily large parts of the program. Dynamic slices [KL90] [AH90] [however, are precise but are valid only for a single execution of the program. Interprocedural dynamic slices can be computed for programs with procedures.

    This paper presents the first three techniques for interprocedural dynamic slicing which deal with procedures/ functions at the abstract level. All three methods first generate summary information for each procedure call 9or function application), then represent a program as a summary graph of dynamic dependences. A slice on this graph consists of vertices for all procedure calls of the program that affect the value of a given variable at the specified program point. The amount of information saved by these methods is considerably less than what is needed by previous methods for dynamic slicing [KL90] [AH90], since it only depends on the size of the program's execution tree, i.e., the number of executed procedure calls, which is smaller than a trace of all executed statements.

    The interprocedural dynamic slicing methods introduced here are applicable in at least two areas, program debugging [SKF90] [KSF90] and data flow testing.

  • 144.
    Kessler, Christoph
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Eriksson, Mattias
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    NestStepModelica - Mathematical Modeling and Bulk-Synchronous Parallel Simulation2007In: 8th International Workshop, PARA 2006, Umeå, Sweden, June 18-21, 2006, Revised Selected Papers, Berlin, Heidelberg: Springer , 2007, p. 1006-1015Conference paper (Refereed)
    Abstract [en]

    Many parallel computing applications are used for simulation of complex engineering applications and/or for visualization. To handle their complexity, there is a need for raising the level of abstraction in specifying such applications using high level mathematical modeling techniques, such as the Modelica language and technology. However, with the increased complexity of modeled systems, it becomes increasingly important to use today-s and tomorrow-s parallel hardware efficiently. Automatic parallelization is convenient, but may need to be combined with easy-to-use methods for parallel programming. In this context, we propose to combine the abstraction power of Modelica with support for shared memory bulk-synchronous parallel programming including nested parallelism (NestStepModelica), which is both flexible (can be mapped to many different parallel architectures) and simple (offers a shared address space, structured parallelism, deterministic computation, and is deadlock-free). We describe NestStepModelica and report on first results obtained with a prototype implementation.

  • 145.
    Kessler, Christoph
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Schamai, Wladimir
    EADS InnovationWorks, Hamburg, Germany.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Platform-independent modeling of explicitly parallel programs2010Conference paper (Refereed)
    Abstract [en]

    We propose a model-driven approach to parallel programming of SPMD-style, explicitly parallel computations. We define an executable, platform-independent modeling language with explicitly parallel control and data flow for an abstract parallel computer with shared address space, and implement it as an extension of UML2 activity diagrams and a generator for Fork source code that can be compiled and executed on a high-level abstract parallel machine simulator. We also sketch how to refine the modeling language to address more realistic parallel platforms.

  • 146.
    Kroha, Petr
    et al.
    Technical University Praque, FEL-CVUT, Czechoslovakia .
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    A Compiler with Scheduling for a Specialized Synchronous Multiprocessor System1990In: Compiler Compilers / [ed] Dieter Hammer, Springer Berlin/Heidelberg, 1990, p. 132-146Conference paper (Refereed)
    Abstract [en]

    This paper presents an algorithm for scheduling parallel activities in a specialized synchronous multiprocessor system. The algorithm is being implemented as a part of a cross-compiler for an extended parallel Single Instruction Computer (SIC). A SIC machine may contain multiple arithmetic processors, each associated with certain addresses in the address space.

  • 147.
    Kroha, Petr
    et al.
    Technical University Praque, Czechoslovakia.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Software Features of an Extended Single Instruction Machine1991In: Euromicro 91, 1991, p. 109-112Conference paper (Refereed)
  • 148.
    Kågedal, David
    et al.
    Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Generating a Modelica Compiler from Natural Semantics Specifications1998Conference paper (Refereed)
    Abstract [en]

    The implementation of compilers and interpreters for non-trivial languages is a complex and error prone process, if done by hand. Therefore, formalisms and generator tools have been developed that allow automatic generation of compilers and interpreters from formal specifications. This offers two major advantages: • High level descriptions of language properties, rather than detailed programming of the translation process • High degree of correctness of generated implementations. The high level specifications are more concise and easier to read than a detailed implementation in some programming language Modelica is an object-oriented language for modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous object-oriented modeling languages. A Modelica model is defined in terms of classes containing equations and definitions. The semantics, i.e. the meaning of such a model is defined via translation of classes, instances and connections into a flat set of constants, variables and equations. This paper describes and defines a formal semantics for Modelica expressed in a high-level specification notation called natural semantics. A compiler generation system called RML produces a a Modelica translator from such a language specification. The generated translator is produced in ANSI C and has comparable performance as hand-written translators. The RML tool has also been used to produce compilers for Java, Pascal and few other languages. MODELICA OVERVIEW Modelica (Modelica 1998) is an object-oriented language for modeling of physical systems for the purpose of efficient simulation. The language unifies and generalizes previous object-oriented modeling languages.

  • 149.
    Larsdotter Nilsson, Emma
    et al.
    Linköping University, Department of Computer and Information Science.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science.
    A Metabolic Specialization of a General Purpose Modelica Library for Biological and Biochemical Systems2005Conference paper (Other academic)
  • 150.
    Larsdotter Nilsson, Emma
    et al.
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    Fritzson, Peter
    Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
    BioChem - A Biological and Chemical Library for Modelica2003In: Proceedings of the 3rd International Modelica Conference (November 3-4, Linköping, Sweden), Modelica Assocation , 2003Conference paper (Refereed)
123456 101 - 150 of 276
CiteExportLink to result list
Permanent link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf