opencaesar / oml-vision

A VS Code extension providing UI viewpoints for OML models
Other
4 stars 2 forks source link

Run external simulation tools from the OML-Vision GUI. #60

Open UTNAK opened 6 months ago

UTNAK commented 6 months ago

Checklist before submitting a feature request

Is your feature request related to a problem? If yes, describe the problem

As a systems engineer, I need to integrate analysis tools that are beyond the reasoning power of Description Logic such as Python, R, Matlab, Modelica, etc. It's nice to have the capability to execute CI/CD pipelines or run external simulation tools from the OML-Vision GUI.

Describe the desired feature

As a systems engineer, I need to integrate analysis tools that are beyond the reasoning power of Description Logic such as Python, R, Matlab, Modelica, etc. DL reasoners cannot solve differential equations. However, many aspects that are crucial to systems engineers, such as the structure of systems, can be articulated through assertions about types, properties, and relationships. This is where OWL reasoning becomes beneficial. While specialized mathematical reasoners like Python might be employed to address specific problems, leveraging a DL-based interface can streamline problem construction, enhancing both efficiency and accuracy.

Here is the round trip image.

  graph LR;
      M[OML]-->S[SPARQL];
      S-->API;
      API-->P[Python];
      P-->O[Owl2Oml];
      API-->MATLAB;
      MATLAB-->O;
      API-->MODELICA;
      MODELICA-->O;
      O-->M;

Additional context

[Any additional context]

pogi7 commented 6 months ago

@UTNAK Awesome mermaid drawing! :) Is the Oml2Owl node supposed to Owl2Oml. I do not know if the Python, Matlab, and Modelica APIs convert simulation data into OML by default. I actually don't know if they convert simulation data into OWL by default.

  1. Within OML Vision where do you want the entry point for users to run the external simulation tools? For example, do you want users to click a button to execute simulation tools?

    image
  2. Will this simulation be executed on the entire OML description model or a subset?

UTNAK commented 6 months ago

@pogi7 , sorry for typo. owl2oml is correct and i fixed the diagram.

  1. Within OML Vision where do you want the entry point for users to run the external simulation tools? For example, do you want users to click a button to execute simulation tools?

Yes, I like the idea to click the button to execute the simulation from OML-vision's sidebar.

  1. Will this simulation be executed on the entire OML description model or a subset?

I think we need to configure a subset of description model to run the simulations.

pogi7 commented 6 months ago

From conversation with @UTNAK,

  1. Specification (Python or Modelica code) should be in the OML model
  2. OML Vision should be responsible for executing the code and displaying results to the user
pogi7 commented 1 month ago

@MichaelWuhu For this ticket, you will need to do the following.

  1. Clone this repo https://github.com/UTNAK/kepler16b-using-imce-vocabulary/tree/main
  2. Verify that you can run this jupyter notebook https://github.com/UTNAK/kepler16b-using-imce-vocabulary/blob/main/src/analysis/analysisShell.ipynb
  3. The scope of this ticket is to allow users to run the notebook in Vision. Implementation is up to you, but you can refer to the rudimentary mockup in the above comments.