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).
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? Sign up here.

NASA Tech Briefs Magazine

This article first appeared in the March, 2015 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.