Orcc is an open-source Integrated Development Environment based on Eclipse and dedicated to dataflow programming. The primary purpose of Orcc is to provide developers with a compiler infrastructure to allow software/hardware code to be generated from dataflow descriptions. Orcc does not generate assembly or executable code directly, rather it generates source code that must be compiled by another tool.
An intuitive graph editor that enables fast and easy building of dataflow network using visual programming.
A few mouse clicks are sufficient to create a node and assign it to an existing component from the project, or to create an edge that represents the communication channels between two nodes. The editor also supports hierarchical representation, assigning a whole subnetwork to a graph node, and hierarchical navigation, opening a subnetwork with a simple click on a graph node.
A advanced editor for writing dataflow actors in RVC-CAL dataflow language.
package org.mpeg.hevc.main; actor Transpose4x4 () int Src ==> int Dst : action Src:[ src ] repeat 16 ==> Dst: [ ] repeat 16 var int dst := [src[ 4 * column + row ]: for int row in 0..3, for int column in 0..3] end end
Based on the Xtext framework, the editor implements all features expected for a modern and efficient Domain-Specific Language editor. The development environment is able to parse the actors and build their intermediate representation on-the-fly, in a incremental fashion, allowing fast simulation and compilation.
Orcc introduces innovative features for the debugging of dataflow programs.
Orcc also brings a complete Java-based simulator which allows developers to quickly test their applications without taking in consideration low-level details relative to the target platform. The simulator can be launched directly from eclipse to execute any RVC-CAL application. Indeed, the simulator simply interprets our intermediate representation of networks and actors, but it is however able to perform all basic interactions required to perform a functional validation, such as displaying text, images or videos to the screen.
The embedded compiler is able to generate both hardware or software code from a single description. Then, generated implementations can be executed on large panel of platforms (GPP, DSP, FPGA, etc) thanks to the available runtime libraries.
Orcc toolset also includes a dedicated Virtual Machine, the Just-in-time Adaptive Decoder Engine (Jade) based on LLVM infrastructure, that can dynamically produce machine code for a wide range of software platforms.
Install Orcc from the update site http://orcc.sf.net/eclipse/
Whether you need (or want to offer) help or advice, or if you just want to discuss/chat about Orcc, feel free to contact us!
Most of the team is based in Europe, so you might expect people to be connected and answer mail during the day (GMT+1).