# A Model-Driven Approach for Conducting Simulation Experiments
## 5 Evaluation
### Improved Knowledge Sharing across Domains
#### 5.1.2 Meta Model for Virtual Prototyping of Heterogeneous Systems  
Virtual prototyping allows for the design and development of products via modeling and simulation where building real prototypes is infeasible, e.g., due to ethical concerns or time restrictions, as in the case of neurostimulators for deep brain stimulation [49]. The fundamental paradigm for modeling and simulation of digital circuits is DES. This means that the knowledge about the ingredients of simulation experiments captured in the DES meta model can be applied here as well. However, some virtual prototypes include components outside of the digital domain (e.g., to model the voltage levels of a battery) and, thus, require continuous-time representation. For these models, using the DES meta model for the simulation experiments does not suffice. However, using our framework, we can, with relatively low effort, define a new experiment meta model for virtual prototyping of heterogeneous systems (with mixed digital and analog signals) based on the existing DES experiment meta model. The model configuration component and the observation component can be reused from the shared meta model repository as they are. Only the simulation initialization component needs to be adapted for the new simulation approach (see Table 2). The main difference is that, now, a fixed time step and time step unit are included, at which the discrete-time and continuous-time models are synchronized. Furthermore, the modified meta model does not include the type of solver or scheduler explicitly, as this is usually assigned automatically to specific semantics defined in the language standard (e.g., SystemC-AMS [56]). Thus, the solver or scheduler is part of the simulation model and not changed in the experiments. \begin{table}
\begin{tabular}{l l l l l l l} \hline \hline  & **Name** & **Description** & **Type** & **Choices** & **Default** & **Required** \\ \hline \multirow{6}{*}{**Variant**} & modelFile & Specify the simulation model & Alternative & – & – & yes \\  & \(\rightarrow\)folder & Folder of the simulation model & String & – & – & yes \\  & fileName & Name of the simulation model & String & – & – & yes \\  & \(\rightarrow\)reference & Reference to the simulation model & String & – & – & yes \\  & configuration & Configure the model parameters & Map & – & – & no \\  & \(\bullet\)parameterName & Input parameter name (key) & String & – & – & no \\  & \(\bullet\)parameterValue & Input parameter value & Real & – & – & no \\ \hline \multirow{6}{*}{**Variant**} & simulator & Choose simulation algorithm & String & SSA, hybrid,... & SSA & yes \\  & replications & Number of simulation replications & Integer, \(>\)0 & – & 1 & yes \\  & randomSeed & Initialize random number generation & Long, \(>\)0 & – & – & no \\  & parallelThreads & Number of parallel threads & Integer, \(>\)0 & – & 1 & no \\  & stopCondition & Type of stop condition & Alternative & – & – & yes \\  & \(\rightarrow\)stopTime & Stop at specific point of time & Real, \(>\)0 & – & – & yes \\  & \(\rightarrow\)stopExpression & Stop based on simulation state & String & – & – & yes \\ \hline \multirow{6}{*}{**Variant**} & observables & Specify the observables & Map & – & – & yes \\  & \(\bullet\)observationExpression & Expression on model entities (key) & String & – & – & yes \\  & \(\bullet\)observationAlias & Alias for observation expression & String & – & – & no \\  & observationTime & Choose option for observation & Alternative & – & – & yes \\  & \(\rightarrow\)observationTimes & Observe at specific points of time & Array\(<\)Rea\(>\), \(>\)0 & – & – & yes \\  & \(\rightarrow\)observationRange & Observe time range and interval & Array\(<\)Rea\(>\), length = 3 & – & – & yes \\  & outputFormat & Choose reporting format & String & CSV,... & – & no \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Base meta model for conducting experiments using stochastic discrete-event simulation.