λ-Sim is a tool that converts simulation models into REST APIs. The figure below gives an idea of what the tool does for you
- It takes a simulation model exported from Matlab or a Modelica tool and a JSON configuration file,
- It automatically generates a Lambda function that includes a complete REST API to run the simulation model.
With λ-Sim you can build a MaaS (Model as a Service) application where people can access your model, run simulations and visualize results.
λ-Sim is built on top of AWS Lambda, API-gateway, S3 and Cloudwatch. These AWS services allows you to build an application that automatically manages security updates, scale as needed based on the incoming traffic, monitor performances, and if necessary apply restrictions to users. And no charges when your code is not running.
λ-Sim has a GUI available at https://mbonvini.github.io/LambdaSim/. Here you can load APIs created with λ-Sim, simulate the models and visualize the results.
Have a look at these two examples created with λ-Sim
For information and documentation check out the wiki.
For comments and questions you can create an issue, contributions are welcome.
I's like to thank Modelon for making available their tools, without them this project wouldn't exist.
λ-Sim allows to create a REST API implemented on top of Amazon Web Services (AWS) such as
- lambda
- apigateway,
- S3, and
- cloudwatch
YOU MAY ENCOUNTER EXPENSES WHEN USING AWS SERVICE
By default λ-Sim makes your model open to the public, anyone will be able to access your model and therefore your account will be charged for the use of AWS services and resources required to serve the requests. I suggest you to carefully read and review AWS charges and policies. THE AUTHOR/S OF THIS PROJECT ARE NOT RESPONSIBLE IN ANY WAY FOR THE USE AND CHARGES OF AMAZON WEB SERVICES (AWS) ON YOUR ACCOUNT OR ANY THIRD PARTY ACCOUNT YOU USE. IT IS YOUR RESPONSIBILITY TO MONITOR THE EXPENSES AND TRACK THE USAGE OF YOUR API. USE THIS PROJECT AT YOUR OWN RISK.
If you're interested in limiting access to the REST API please have a look at the AWS documentation apigateway-control-access-to-api