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.