Approaches for software frameworks, tackling the increasingly challenging tasks of micro- and nanoelectronics device simulations, are investigated. In particular, the developed approaches focus on the key requirements defined to be most important for today’s research simulation software, those being reusability, flexibility, usability, maintainability, and expandability.
Research software experiences new challenges primarily due to the fast pacing developments in physical modeling. Simulation tools are typically one step behind the evolution of future devices, in the sense that today’s tools have to predict the properties of tomorrow’s devices. Research modeling software projects - especially in the area of micro- and nanoelectronics device simulation - attempt to tackle these challenges on their own, thus sacrificing valuable resources for the development of non-modeling related aspects, which introduces a significant loss of synergy effects. In universities, primarily highly specialized simulation tools based on monolithic software design are implemented in a closed-source manner to uphold an advantage over competitors.
In this work, software engineering aspects related to developing frameworks are investigated, particularly focusing to improve the availability of publicly accessible simulation tools relevant to the field of micro- and nanoelectronics device simulation. The advantages of freely accessible simulation source code as well as of decoupling implementations into reusable libraries are elaborated. The developed approaches enable to wrap already available functionality into reusable components.
More concretely, a device simulation framework, a component execution framework, and an interactive simulation framework is investigated. Where a device simulation framework allows to compute the device characteristics, a component execution framework enables to execute a set of components on highly parallel computing targets. Interactive simulation frameworks provide a high-usability access via modular graphical user interfaces. Challenges and requirements are highlighted as well as concrete approaches in form of developed software tools which are freely available under open source licenses. Application examples underline the feasibility of the depicted approaches. The developed frameworks serve as modern and long-term simulation platforms, favoring reusability, flexibility, usability, maintainability, and expandability; all of those aspects are particularly important in the fast developing area of micro- and nanoelectronics device simulation.