Code Monkey home page Code Monkey logo

javafbp-runtime's Introduction

JavaFBP runtime

Implementation of the FBP runtime protocol, allowing to create JavaFBP with Flowhub and other compatible clients.

Status

Proof-of-concept. Can be used to create simple programs live with Flowhub and run them.

TODO

In roughly prioritized order.

Milestone 0.1: minimally useful

  • Fix network excecution blocking main thread, should execute in background
  • Add proper commandline arguments for port, library path, runtime registry etc
  • Implement support for multiple graphs
  • Implement stopping of networks
  • Implement redirection of stdout/stderr, for showing in IDE
  • Implement introspection of data passing through edges

Later

  • Implement support for arrayports
  • Implement support for subgraph components
  • Implement support for component specific icons
  • Implement component:getsource, for showing component .java code in IDE
  • Implement component:setsource, for creating components from .java code in IDE
  • Implement debug mode, catching exceptions and notifying IDE where they happen
  • Implement remote subgraph support, allowing a JavaFBP program/runtime to be used as a component

Building from git

cd runtime
gradle installApp

Run & Connect to Flowhub

Note: instructions only tested on GNU/Linux

Open Flowhub, log in. Click "Register runtime" and copy your user UUID.

export FLOWHUB_USER_ID=MY-USER-UUID-XXX
./build/install/runtime/bin/runtime

The runtime should now register itself and listen on a port for UI to connect.

Go back to Flowhub, hit the refresh icon next to "Register runtime".

Create a new project, select JavaFBP as the runtime type. You should now be connected and be able to build JavaFBP programs!

javafbp-runtime's People

Contributors

jonnor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

javafbp-runtime's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.