Engineering design models are normally developed using specific modeling tools such as Excel, Matlab, Maple, and Mathematica. It is difficult to connect various models written in different modeling environments and produce results without extensive effort. Phoenix ModelCenter is a commercial tool that can perform this kind of operation on a single desktop computer via a graphical user interface.

In a concurrent design environment where multiple engineers work as a team on a systems analysis problem, the single desktop approach is not appropriate. The Phoenix ModelCenter GUI is not designed for concurrent use by many users simultaneously. It is preferred to have models linked and executed remotely, and allow all participants to see the execution results. Similar to ModelCenter, Phoenix Integration offers an Analysis Server that enables users to incorporate models in various modeling tools into reusable components that can be executed in a networked environment without GUI. The problem is how to link from a concurrent analysis front-end user interface to the Phoenix Analysis Server for engineering model execution.

This software provides a RESTful Web service that connects front-end user interfaces to the back-end analysis executions, and enables remote execution of engineering design models in heterogeneous distributed execution environments. It exposes its functionality as a RESTful Web service, which is served using the Node.js JavaScript runtime. Applications can use this software to specify inputs, trigger remote execution, and retrieve outputs from models deployed in the Phoenix Analysis Server environment. In the process, the Analysis Server connector loads an up-to-date engineering model from an external git model repository and places the model in the specific directory that Analysis Server can access. Then the Analysis Server Connector invokes the execution. After the execution, it pulls the execution results from the Analysis Server and returns the results to the front-end interface. It also provides capability to generate supporting script wrapper interfaces for Matlab models. Interfaces to manage the executions so a particular execution can be reproduced at a later time are also implemented. Essentially, Analysis Server Connector is a bridge communication program talking to Phoenix Analysis Server via SSL sockets, and presenting the data to client-side user interfaces via http GET and POST requests.

This work was done by Yeou-Fang Wang, Leonard J. Reder, Bjorn F. Cole, Carlos P. Balacuit, and Jeremy M. Arca of Caltech; Marlin Ballard of the University of Maryland; and Eric Brower of the Georgia Institute of Technology for NASA’s Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Dan Broderick at This email address is being protected from spambots. You need JavaScript enabled to view it.. Refer to NPO-49634.



This Brief includes a Technical Support Package (TSP).
Document cover
A RESTful Web Service Connector for Phoenix Analysis Server

(reference NPO49634) is currently available for download from the TSP library.

Don't have an account?



Magazine cover
NASA Tech Briefs Magazine

This article first appeared in the March, 2015 issue of NASA Tech Briefs Magazine (Vol. 39 No. 3).

Read more articles from this issue here.

Read more articles from the archives here.


Overview

The document is a Technical Support Package for a RESTful Web Service Connector designed for the Phoenix Analysis Server, referenced in NASA Tech Brief NPO-49634. It is part of NASA's Commercial Technology Program, aimed at disseminating aerospace-related developments with broader technological, scientific, or commercial applications.

The document outlines the benefits of implementing Model-Based Systems Engineering (MBSE) through the Foundry MBSE Core Software Task. It emphasizes the ease of integrating service interfaces using REST APIs and JSON/XML for machine communication, which can be accessed via standard HTTP request libraries across various programming platforms. This facilitates browser-based user interfaces, allowing users to access the system from anywhere without needing additional software.

Key components of the Foundry MBSE Core Software include the scriptWrapper, which allows for the reuse of IronPython scripts across different execution engines, enhancing the flexibility and interoperability of modeling tools. The document also highlights the structured environment for model construction and execution, which supports domain-specific design problems and results.

The document mentions that all code related to the project is available on JPL's GitHub, featuring well-documented program files that adhere to best practices. Documentation is provided in various formats, including JSDoc for JavaScript and Sphinx for Python, ensuring clarity and ease of understanding for developers. Additionally, miscellaneous knowledge is stored on the Foundry Core Software Confluence, which serves as a collaborative platform for ongoing development and maintenance.

The document also notes that the project is currently undergoing an in-depth code review by JPL personnel, who will take ownership of the components, ensuring continued maintenance and development of the software products.

For further inquiries or assistance, the document provides contact information for the Innovative Technology Assets Management at JPL, emphasizing NASA's commitment to technology transfer and collaboration in advancing aerospace technology.

In summary, this Technical Support Package serves as a comprehensive resource for understanding the RESTful Web Service Connector for the Phoenix Analysis Server, detailing its implementation, benefits, and ongoing development efforts within the context of NASA's broader technological initiatives.