Astah SysML OpenAPI importer

The plugin enables importing OpenAPI specifications into Astah SysML and Astah System Safety to model software systems.

Details

Compatible with
Latest Version
1.0 (July 7, 2024)
Support

 

Plugin Overview:

The Astah SysML OpenAPI Importer plugin enables you to import OpenAPI specifications into Astah SysML and Astah System Safety. Importing OpenAPI Specifications into Astah offers significant benefits, including quickly generating consistent models, improving system understanding and communication through visualization, aligning design documents with implementation, reusing components across projects…etc.
This process enhances the overall quality and efficiency of system design and development.Astah SysML OpenAPI Importer Plug-in Sample Screenshot

colorful divider

 

Installation Instructions:

  1. Download the latest .jar from the release page.
  2. In Astah, navigate to [Plugin] -> [Installed Plugins].
  3. In the dialogue box, click [Install], then select the downloaded .jar file.
  4. Restart Astah and either start a new project or open an existing file.
  5. The installation is successful if you see the [OpenAPI] menu under [Tools].
    Open API Plug-in Menu for Astah SysML and Astah System Safety

 

colorful divider

 

How to use:

  1. Create a new project or open an existing one.
  2. Create a new package.
    Creating a new package in Astah SysML
  3.   

  4. Select the package and go to [Tools] – [OpenAPI] – [Import OpenAPI].
    Import OpenAPI
  5.   

  6. Select the OpenAPI Specification (either JSON or YAML, for example petstore3).
  7. Click Open.
  8. This will results in:  
    • Creating a package named [OpenAPI] will be created with basic types such as Boolean, DataTime, Email, Integer,etc. 
      OpenAPI Package after import

     
    and

    • Importing blocks for each component (a kind of DTO) with the corresponding fields, types, and multiplicity in the selected package. 
      Imported Blocks in a selected package via Astah SysML OpenAPI Importer Plugin
      (Using a sample OpenAPI Specification)

 

More Information:

  • For each endpoint’s operation a Request and Response block will be created with the name of the operation as prefix
  • For each tag an interface block is created with << REST Interface >> stereotype
  • Each endpoint’s operation an operation of the corresponding block will be created with matching name
  • This block operation will have a request parameter of type Request and return parameter of type Response
  • The operation will be also stereotyped according to the HTTP Action (Get, Post, Put, etc.)
  • For each operation a separate block definition diagram is created
  • Read the latest information on Plug-in author’s ReadMe

 

Limitations

  • It is required to have an operation for every endpoint, otherwise the corresponding block operation cannot be created
  • Due to limitations of Astah API adding the additional metadata (minLength, url, etc.) as a tagged value of a stereotype is not yet possible
  • The situation when two component reference each other is not handled – yet: remove one of the references and add them by hand
  • Update of existing model is not yet handled
  • There might be situations which are not yet handled
  • Code is not as nice as it should be
  • For the latest limitations, please refer to the developer’s documentation.
Back to Plugin List

What are you looking for?