Skip to content
Jon Goodall edited this page Nov 1, 2015 · 2 revisions

Introduction

The software focuses on wrapping REST services that expose BMI models as services. The REST service can be used in multiple clients. This software includes a C# .Net client that will be wrapper to be OpenMI 2.0 compliant.

An example BMI model service

REST EndPoint: https://heat-bmi.appspot.com/_ah/api/discovery/v1/apis/heatbmi/v1/rest

Service Explorer: https://apis-explorer.appspot.com/apis-explorer/?base=https://heat-bmi.appspot.com/_ah/api#p/heatbmi/v1/

C# Client Code: https://github.com/bmi-forum/bmi-openmi/blob/master/src/BasicModelInterface/HeatBmiAppspotCom.Apis.Heatbmi.v1.cs (Generated using http://sookocheff.com/post/appengine/cloud-endpoints/generating-a-c-sharp-client/)

How to use Service

1.) Call initialize https://apis-explorer.appspot.com/apis-explorer/?base=https://heat-bmi.appspot.com/_ah/api#p/heatbmi/v1/heatbmi.component.initialize --> This returns a UID for the model instance.

2.) Use the UID for calling all other methods. E.g., Call GetComponentName https://apis-explorer.appspot.com/apis-explorer/?base=https://heat-bmi.appspot.com/_ah/api#p/heatbmi/v1/heatbmi.component.get_component_name to get the name of the component.

3.) Call Update, GetValues, SetValues, and Finish to step through the model execution. When Finish is called, the model instance is removed from the server.

Remaining tasks

  1. Finish testing service and C# wrapper. 9 out of 11 tests run now.
  2. Finish OpenMI wrapper.
Clone this wiki locally