An Integrated Development Environment with Enhanced Domain-Specific Interactive Model Validation
Sammanfattning: Physical modeling plays an important role in many engineering domains. For engineers it is important to model real world objects in order to simulate and assess their behavior. This is particularly true for the development of new product components such as for example wind turbines. The suitability and durability of components needs to be investigated early in the design process to avoid costs that arise when faulty designs appear during component testing.Another domain where models are frequently used is model-driven software development. Data structures and data flow are modeled, for example using UML diagrams. Code is automatically generated from the models and is refined by user-written code. Advantages of model-driven software development are the high abstraction of the code by visualization in diagrams and specialized views which display details of design aspects. Additionally, code generators are usually well tested and design patterns are used in the generated code which leads to good quality and readability.Models for simulation of wind turbines are developed at Fraunhofer Institute for Wind Energy and Energy System Technology.Models with different levels of detail are used during the design process, starting with simple models for basic design decisions and evaluations to high-detailed models (such as Computational Fluid Dynamics (CFD) models for detailed flow analysis of rotor blades). The models defined are parameter-based and do not define a tool specific syntax. Hence, these models must be transferred to a tool-specific format for simulation. Design flaws that are encountered in low-level models have an impact on the detailed models. But equally important, problems encountered in highly detailed models may require changes in the basic models. This leads to the problem that all models that have been defined for a design study, including the transformation to simulation tool models, may need to be altered. To remedy this problem, model-driven software development is used. Models are created once in our simulation environment and simulation models for the different tools are derived from those models.This dissertation focuses on the development of components with different levels of detail with the language Modelica. In order to develop models quickly, the developer needs to be assisted in creating models that are valid regarding language compliance and structural constraints and that show the expected behaviour during simulation.The Modelica Integrated Development Environment (IDE) OneModelica is introduced that provides a data model for Modelica models with the same technology as the general wind turbine models described above. Hence, Modelica code can be generated from the parametric models using existing tools. Features like project-based development allow separating models with different levels of detail, allowing the user to focus on one topic and to create libraries for certain functionality.Interactive Model validation has been implemented to assist the user during development. Hence, the user gets immediate feedback whether his models are correct according to the syntax and semantic rules defined by the language specification. Furthermore, additional semantic information and rules can be defined in a generic way to restrict the way models are composed. This can help identify design errors that can be hard to detect when investigating the code only.OneModelica allows to create valid Modelica models and to utilize arbitrary Modelica-compliant simulation tools. Simulation results can be investigated inside the IDE and an automatic test framework enables test-driven development and ensures that models behave as expected. The implementation heavily uses model-driven software development and thus shows that it is possible to create powerful IDEs for complex domain specific languages such as Modelica.
KLICKA HÄR FÖR ATT SE AVHANDLINGEN I FULLTEXT. (PDF-format)