Skip to content

brunopessanha/OWLRevelio

Repository files navigation

OWL Revelio

Translates restricted SysML Block Diagrams & Internal Block Diagrams into OWL Ontology

Currently supported features mapping from SysML to OWL

  • Blocks -> Classes
  • Comments -> Comment Annotation
  • Attributes -> Data Properties
  • Generalization -> Subclass
  • Part Association -> Generates Min, Max, Exactly and Some (existential) sub class restriction using hasPart object property
  • Internal Blocks -> Individuals
  • Ports -> Individuals with object property relation hasPort with the individual of a internal block
  • Connection -> Individuals with with object property relation isConnectedTo with the individuals of ports
  • Data Types -> Only XSD_FLOAT, XSD_Integer and XSD_Boolean are currently supported

Default OWL Elements

Classes

  • Part
    • FlowPort
      • InputFlowPort
      • InputOutputFlowPort
      • OutputFlowPort
    • FullPort
    • ProxyPort
  • Port
  • Connection

Object Properties

  • hasPart
  • hasPort
  • isConnectedTo

Supported Tools

Installation

OWL Revelio is available through Maven Central Repository, just add the following dependency:

<dependency>
  <groupId>com.github.brunopessanha</groupId>
  <artifactId>revelio</artifactId>
  <version>1.0.3</version>
  <type>pom</type>
</dependency>

How to use?

/* Instatiate through one of the constructors: Input stream containing the content of a valid SysML file (.uml) */
Revelio revelio = new Revelio(inputStream, ontologyIRI);

/* Saves all axioms to a given file. */
revelio.saveOntology(file); 

/* Returns all axioms created by Revelio so you can add to your existing Ontology using OWL API 5.1.10. */
revelio.axioms(); 

Revelio?

Revelio is a revealing Charm from Harry Potter, which has several variations and applications. When Revelio is used directly on a person, it removes magical disguises. OWL Revelio reveals the Ontology hidden in SysML models.