The openCAESAR project provides an EMF-based implementation of the Ontological Modeling Language (OML), which simplifies the use of semantic web ontologies for modeling and analysis. An OML model can be either be a vocabulary model that defines the terms and rules in a business domain with precise syntax and logical semantics, or can be a description model that uses that vocabulary to describe knowledge. OML has successfully been used at the Jet Propulsion Laboratory (JPL) in the context of Model Based Systems Engineering (MBSE), specifically to define the JPL systems engineering methodology in a highly modular and extensible way. Sirius has been used to define the authoring viewpoints that support such methodology. In this talk, we present how OML and Sirius can be used together, through the OML Rosetta Workbench, to streamline the development of an ontology-based modeling methodology and the authoring tools for it. The ideas will be demonstrated on a small example.
Maged Elaasar, NASA - Jet Propulsion Laboratory
Maged Elaasar is a Senior Software Systems Architect at NASA’s Jet Propulsion Laboratory (JPL) at the California Institute of Technology (Caltech). He technically leads a JPL-wide strategic R&D program called Integrated Model Centric Engineering (IMCE). Prior to that, Maged was a Senior Software Engineer at IBM, where he led the R&D of various software and systems modeling technologies. Maged is also the founder of Modelware Solutions, a company based in California that provides development, consulting, and training services in the area of model based engineering (MBE)
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
Defining Viewpoints for Ontology-Based DSLs
1. Defining Viewpoints for Ontology
Based DSLs
Copyright 2022 California Institute of Technology. Government sponsorship acknowledged
Maged Elaasar, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory
elaasar@jpl.nasa.gov
2. Roadmap for Systems Engineering
2
Integrated Model
Centric Engineering
Model Based
Systems Engineering
Document Based
Systems Engineering
3. ▸ Implements the Ontological Modeling Language (OML)
▸ Enables defining a custom architectural framework for systems engineering
▸ Allows authoring, federation, and integration of systems engineering datasets
▸ Supports an agile DevOps approach to system modeling and analysis
3
openCAESAR
Ontological Modeling and Analysis Platform
opencaesar.github.io
4. 4
Ontological Modeling Language
www.opencaesar.io/oml
2
DL
Translates into
Empowers systems engineering with semantic web technologies
▸ Expressiveness
▹ Defines vocabularies with description logic (DL) semantics
▹ Allows adding custom inference rules in vocabularies
▸ Reasoning
▹ Allows checking logical consistency with DL reasoners
▹ Allows simplifying queries based on entailments
▸ Componentization
▹ Allows organization of information based on methodology
▸ Extensibility
▹ Allows extension of information defined by other authorities
5. OML Implementation
5
Abstract Syntax
Textual Syntax
Eclipse p2 site
Java API
Language Server
Eclipse IDE (Rosetta)
VS Code IDE (Luxor)
UI Viewpoints
Diagram Server
OML Analysis Tools
https://github.com/opencaesar/oml-rosetta
https://github.com/opencaesar/oml-luxor
11. OML Descriptions
▸ Concept Instance
▸ Relation Instance
11
Closed world assumptions Open world assumptions
import
extension to imported instance
description namespace as prefix {
uses vocabulary-namespace (as prefix)?
extends description-namespace (as prefix)?
<instance> name (: type*)? [ assertion* ]
ref <instance> iri (: type*)? [ assertion* ]
}
description bundle namespace as prefix {
uses vocabulary-bundle-namespace
extends description-bundle-namespace
includes description-namespace
}
Describe information about a system using vocabularies
12. OML Description Example
12
description <http://autonomica.jpl.nasa.gov/small-body/gnc-states#> as gnc-states {
uses <http://mds.jpl.nasa.gov/sa/state-analysis#> as sa
extends <http://autonomica.jpl.nasa.gov/small-body/objects#> as objects
ci SC_Size : sa:PhysicalState [ sa:characterizes objects:SC ]
ci SC_Shape : sa:PhysicalState [ sa:characterizes objects:SC ]
ci SC_Attitude : sa:PhysicalState [ sa:characterizes objects:SC ]
…}
vocabulary bundle <http://mds.jpl.nasa.gov/sa/bundle#> as bundle {
includes <http://mds.jpl.nasa.gov/small-body/objects#>
includes <hhttp://autonomica.jpl.nasa.gov/small-body/gnc-states#>
includes <hhttp://autonomica.jpl.nasa.gov/small-body/gnc-effects#>
}
“Small-Body” Descriptions
description <http://mds.jpl.nasa.gov/small-body/objects#> as objects {
uses <http://mds.jpl.nasa.gov/sa/state-analysis#> as sa
uses <http://mds.jpl.nasa.gov/sa/base#> as base
ci SB_SUC : sa:SystemUnderControl
ci SC : sa:PhysicalObject [
base:isContainedBy SB_SUC
]
ci SC_Onboard_Computer : sa:PhysicalObject [
base:isContainedBy SC
]
ci SC_Solar_Panel : sa:PhysicalObject [
base:isContainedBy SC
]
}
1 2
4
description <http://autonomica.jpl.nasa.gov/small-body/gnc-effects#> as gnc-effects {
uses <http://mds.jpl.nasa.gov/sa/state-analysis#> as sa
extends <http://autonomica.jpl.nasa.gov/small-body/gnc-states#> as gnc-states
ref ci gnc-states:SC_Shape [ sa:affects gnc-states:SC_Attitude ]
ref ci gnc-states:SC_Attitude [
sa:affects gnc-states:SC_Star_Tracker_Sensor_Measurement
sa:affects gnc-states:SC_IMU_Sensor_Measurement
sa:affects gnc-states:WAC_Camera_Sensor_Picture
]
…}
3
18. Future Work
Web-based OML Workbench
▸ Use of Rosetta Web to generate
web-based OML workbench
▸ Integration of web-based OML
workbench in VS Code (gitpod)
▸ Integration of web-based OML
workbench in Jupyter Lab IDE
Easier OML Description Viewpoints Dev
▸ Development of Ontology Query
Language as adaptation of AQL
▸ Development of odesign generator
from vocabulary bundle
▸ Development of generic but
customizable description viewpoint
18
OML
Sirius Web DB
OML