Adding code generation to develop a simulation platform

Autor: Fernando Javier D'Amato, Catherine Mary Graichen
Rok vydání: 2011
Předmět:
Zdroj: 2011 IEEE Long Island Systems, Applications and Technology Conference.
DOI: 10.1109/lisat.2011.5784231
Popis: Efficient and accurate control technologies require extensive simulation capabilities to validate the control software and demonstrate the impact on the business and equipment. To create a platform for rapid development and simulation of complex dynamic models, the authors and their colleagues have designed an object-oriented architecture. A portion of the architecture framework is constructed using code generation based on XML component definitions. This paper describes the key aspects of the architecture of the control simulator platform and its code generation capabilities. The simulation platform consists of defining a collection of components represented by differential equations, the capability to select, configure and interconnect components, and the ability to solve the coupled set of equations. The code generation is custom-built, however, the generated code results in more consistency and improved reliability by eliminating error prone steps and allowing the simulation engineer to focus on component mathematical description. As the number of components that are generated increases, the investment in a custom-built code generation is quickly realized by significantly reducing the amount of time required to create or update the code template for each component. The paper also discusses the importance of handling updates as well as the initial creation of code files. The techniques leveraged within this project have been learned through the use of other code generation tools, including GUI development tools. In particular, care has been taken to minimize the accidental loss of manually introduced code and handle version updates of the code generator. Our team is using this framework to develop simulation tests for power plant optimizations and have plans to add custom code generation to other areas of the platform.
Databáze: OpenAIRE