Modeling of Multi-Scale and Multi-Physics Simulations
In the SimTech sub-project PN6-1 ”Modelling of Multi-Scale and Multi-Physics Simulations” we aim to support scientists with concepts for the flexible modeling and execution of multi-scale- and multi-physics (multi-*) simulations. We resort to the concept of choreographies know from the business domain. Choreographies describe the interactions of independent organizations from a global perspective and do not rely on a centralized coordinator. Transferring this concept to the scientific domain and multi-* experiments implies that every scale and every scientific field or method, which is part of the overall experiment, is modeled as a so-called participant in a scientific choreography. Each participant is implemented as a scientific workflow, which models the actual steps for calling/executing scientific software components. In order to support the explorative nature of scientific experiment design, we have proposed several new flexibility concepts for choreographies such as reusing parts of an existing model or facilities to control its execution and to rewind already executed parts and implemented them in a supporting software system.
Multi-Scale and Multi-Physics Simulations
Our main goal in the project is to design and develop an execution environment for simulation choreographies which provides scientists the means for automation of coupled simulations. Since data is a key factor in eScience, we aim at introducing a management life cycle that renders data as first-class citizen in simulation choreographies and defines the functions and artifacts necessary for enabling transparent and efficient data exchange among choreography participants. The inherent goal of the life cycle, functions and artifacts is to help decouple the data flow, data exchange and management from the control flow in simulation workflows and choreographies. This decoupling enables peer-to-peer data exchange in choreographies and provides the means for more sophisticated exchange and management of data, as well as optimization of data exchange and provisioning to support scientists with the data dimension of their simulations.
Bootware: Efficient Execution of Uncertain Computations
Simulation workflows are, in contrast to business workflows, executed less frequently. As a consequence, the needed resources utilized only for the duration of the simulation leading to unevenly distributed load. Therefore we need means to automatically allocate resources when they are needed, release resources when they are no longer needed, provision / deprovision the workflow middleware, and deploy / undeploy the simulation services.
Modeling of Simulation Workflows
A language for modeling simulation workflows will be developed alongside a meta-model specifying the syntax and semantics of the language constructs. By integrating the language into a development environment, scientists are enabled to model simulation workflows intuitively using a graphical user interface.
Runtime for Simulation Workflows
In order to execute the simulation workflows developed by scientists, a runtime environment is needed that not only executes the workflow but also deals with quality of service aspects like scalability, robustness or reusability as well as handling with huge amounts of data. Beyond that, it allows specialized simulation tools like ChemShell, Dune, Matlab or Pandas to be embedded within a workflow. Thereby, the runtime environment helps to automate as much as possible by hidden the underlying technical complexity for scientists, e.g. for preparing a simulation environment or for data handling.
Flexibility of Simulation Workflows
Usually, simulation workflows are exposed to frequent changes: the underlying infrastructure is often highly dynamic (e.g. the insertion of additional processors), simulations need to be adapted during execution (e.g. the modification of parameters, the insertion of additional steps). Flexibility especially comprises avoidance of changes of workflows as well as the adaptation of workflows at runtime. Consequently, flexibility has an impact on both buildtime and runtime of workflows. Within this project requirements of scientists with respect to flexibility are gathered, classified, assessed, and implemented. Moreover, a monitoring tool will be developed that will enable scienties to intuitively modify running simulations.
Humans in Simulation Workflows
The use of conventional workflow environments and service compositions is suitable for automating business processes. However, it is not yet completely applicable for scientific workflows and simulations. In particular, the involvement of human users in scientific workflow models and environments requires thorough investigation. The major objective of this project is to enable support for the involvement of human participants in flexible scientific workflows (service compositions). This objective implies several challenges in the area of flexible service compositions. In particular, substitutability of services with human-provided services in scientific workflows, adaptation of scientific workflows by introducing human participants (human-provided services) and also letting scientists perform such changes, which is also a case of enabling interaction between the service composition and human users.