SES Toolbox Development for MATLAB/Simulink

Motivation

Current simulation environments support modular, hierarchical modelling and the combination of different modeling formalisms, and provide powerful numerical methods for simulation and data evaluation. What is not yet considered equivalently is the conceptual modeling phase, data modeling and variant modeling as well as experiment descriptions of various system models and data sets or a combination with other numerical methods. Those missing parts are requirements that are becoming increasingly more important.

The ontology based modeling intends a holistic approach that supports the process of modeling and simulation from the conceptual phase to goal-oriented experimentation with various system variants. Ontology based characterizes in our context a declarative specification of various system structures and parameter settings in combination with configurable basic models. Basic models map different dynamic system behavior, define an input and output interface and are organized in a model base (MB). The ontology specifies references to basic models and defines admissible parameter settings for them. Similarly, ontology can be used to specify a set of different experiments with the system models. In this case, the ontological specification describes the composition of experiments using references to various experiment methods or data.

As a base ontology for system and data modelling, Zeigler et al. developed the System Entity Structure (SES). Based on the SES ontology they derived the SES/MB framework. The framework combines an SES with an MB and proposes basic methods for deriving a concrete system model and for generating an executable simulation model. The SES ontology is based on a clear, limited set of description elements and axioms. Thus, it is easily usable for engineers.

However, an important precondition for the application of new concepts in engineering is their availability in an engineering software environment and their direct combination with established methods. That is why this toolbox for MATLAB/Simulink has been developed.

Major differences between the previous Tiny SES and the recent GUI SES toolbox

The fist implementation was the Tiny SES Toolbox. Here, an SES has to be specified textually using simple predefined PROLOG predicates. Users familiar with predicate logic can define own predicates too. They are usable for defining SES functions, a new introduced but powerful modeling feature. The processing of an SES, called pruning, is automatically carried out by an integrated PROLOG interpreter (free SWI-PROLOG). The toolbox is implemented using 'default' MATLAB commands and should be version independent. Some basic knowledge of PROLOG is advantageous.

The recent GUI SES Toolbox is completely implemented in MATLAB. It provides a graphical front-end (GUI) for SES based modeling. The powerful concept of SES functions can be used by importing built-in or own MATLAB functions. Methods for processing an SES can be executed interactively or from MATLAB programs.

Up to now we do not provide a general translator for the generation of executable Simulink, SimEvents, ... models. However, both toolboxes contain problem oriented examples of MATLAB based translation scripts using Simulink API functions.