1 of 22

System Model DevOps with OML Vision

Aaron Levitt

Software Systems Engineer - 319K

System Modeling and Methodology Group

aaron.levitt@jpl.nasa.gov

January 31, 2024

Government sponsorship acknowledged

2 of 22

Disclaimer

ontoNexus 2024

Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by the United States Government or the Jet Propulsion Laboratory, California Institute of Technology.

2

1/31/2024

jpl.nasa.gov

3 of 22

Agenda

ontoNexus 2024

  1. What Is It?
  2. Why Should I Care?
  3. Get Started
  4. Demo
  5. Next Steps

3

1/31/2024

jpl.nasa.gov

4 of 22

What Is It?

4

1/31/2024

5 of 22

Ontological Modeling Language (OML) Workbench

  • openCAESAR product
  • Next generation tool for authoring and analyzing OML models
  • Supports an agile DevOps approach to system modeling and analysis

ontoNexus 2024

5

1/31/2024

6 of 22

Visual Studio Code Extension (VSCode)

  • Built using React and Typescript
  • Can be accessed through a web or desktop version of VSCode
  • Improved Collaboration
  • Enhanced Model maintainability throughout the lifecycle of the project

ontoNexus 2024

6

1/31/2024

7 of 22

Why Should I Care?

7

1/31/2024

8 of 22

Easy To Use And Learn

  • Designed with ease of use in mind for all members of project team
  • Easier transition from document based tools to Model Based Systems Engineering (MBSE)

ontoNexus 2024

8

1/31/2024

9 of 22

Declarative Programming

  • Specify and define
    • Viewpoints
    • Database Endpoints
    • Scripts
    • SPARQL queries/ updates
    • Etc.

ontoNexus 2024

9

1/31/2024

10 of 22

Get Started

10

1/31/2024

11 of 22

Software Dependencies

  • VSCode
  • Git
  • NodeJS 18+
  • Yarn
  • Java 17+

Read detailed guide below

https://www.opencaesar.io/oml-vision-docs/docs/intro/

ontoNexus 2024

11

1/31/2024

12 of 22

OML Model (Start from Scratch) Dependency

  • Start from Scratch

Read detailed guide below

https://www.opencaesar.io/oml-tutorials/

ontoNexus 2024

12

1/31/2024

13 of 22

OML Model (Use Existing Model) Dependency

  • Use Existing OML model

Read detailed guide below

https://www.opencaesar.io/oml-vision-docs/docs/intro/

ontoNexus 2024

13

1/31/2024

14 of 22

Demo

14

1/31/2024

15 of 22

ontoNexus 2024

15

1/31/2024

jpl.nasa.gov

16 of 22

Next Steps

16

1/31/2024

17 of 22

Saving and Editing OML Model

  1. Persist OML Vision edits to memory/storage
    1. OWL2OML capability to persist OML edits to memory/storage
  2. Minimal capability for editing OML descriptions
    • Run Fuseki reasoner on initial loading
  3. Full capability for editing
    • Pellet incremental reasoning

Current workaround is to use OML Luxor or Rosetta to edit OML models and persist changes.

Look at OML Model (Start from Scratch) Dependency slide for more info

ontoNexus 2024

17

1/31/2024

18 of 22

OML Vision Extension DevOps

  1. Source/Entry Point
    1. git push from Local or Cloud hosted workspace
  2. Build
    • esbuild
      1. Compile TS -> JS
    • Build VSIX file for OML Vision Extension
  3. Test Code
    • Use Jest (or any other JS testing framework like Mocha)
  4. Deploy to staging
    • QA
  5. Deploy to production
    • VSCode Marketplace

ontoNexus 2024

18

1/31/2024

19 of 22

New Issues

  • Feature Requests
  • Reporting Bugs

https://github.com/opencaesar/oml-vision/issues/new/choose

IMPORTANT:

You will need to make a Github account

ontoNexus 2024

19

1/31/2024

20 of 22

Changelog

  • Details what has been
    • Fixed
    • Added
    • Deleted

OpenCAESAR OML Vision Blog

https://www.opencaesar.io/oml-vision-docs/changelog

Github Changelog

https://github.com/opencaesar/oml-vision/blob/master/CHANGELOG.md

ontoNexus 2024

20

1/31/2024

21 of 22

21

Thanks

Any questions?

Aaron Levitt

jpl.nasa.gov

22 of 22

jpl.nasa.gov