Requirements - modrpc/info GitHub Wiki
Compilers
- Generate code easy to instantiate. Need a full-flow of how ModGo module is compiled into instrumented, deployable code.
- user writes a ModGo file
- ModGo compiler generates an instrumented code which contains all the wrappers, registration code ready to be executed.
- user puts the generated code (through mgo program) into repository
- user deploys a module to a device
- through mgo program
- through ModGo programs?
- Needs DB enough to generate code.
- module, prop, event, reactor, func, func call, args, etc.
Runtime
-
Need to serve two sides:
- outside: module instantitation, device onboarding, service request, enforcing security
- inside: proxy to remote devices,
-
Need DB enough to do the following:
- maintain module instantiations -- as a result, also info on modules which are instantiated
- maintain device informations -- self, also neighbors, etc.
- maintain service endpoint information -- (device/modinst) pair
- proxy: serve inside requests -- find where to send request
- server: servce outside requests -- search module to route request
- access control
-
Handle ModGo Adoptor API impl
-
Security
Shell
- Special wrapper for runtime which allows user interaction
ModGo Adoptor
- Need API to connect to device runtimes.
- Multiple language bindings -- Go, C, Python, etc.
Module developer
Workflow deverloper
Maintainer
- Should be able to send requests through multiple interfaces -- through programs, SMS, etc.