Skip to content
/ JFLow Public
forked from vazexqi/JFlow

Interactive Source-to-source Transformations for Flow-based Applications

License

Notifications You must be signed in to change notification settings

hdkwon2/JFLow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JFlow – Interactive Source-to-source Program Transformations for Flow-Based Parallelism

Emerging applications demand new parallel abstractions. Traditional parallel abstractions such as Data Parallelism and Task Parallelism, while necessary, do not fully the needs of today’s multi-threaded commercial applications. Emerging applications in the domain of recognition, mining and synthesis (RMS); image and video processing; information flow; and automatic financial trading exhibit flow-based forms of parallelism. How can we assist developers in taking advantage of such forms of parallelism?

We propose a solution based on interactive source-to-source transformations. Interactive source- to-source transformations engage the developer, i.e., the domain expert in the process of parallelizing and optimizing an application. There are three components to this work: catalog, library and transformation.

This repository contains the source code for the transformation component. For more information about each component please visit https://wiki.engr.illinois.edu/display/jflow

JFlow is licensed under the Illinois/NCSA Open Source License. See LICENSE.txt for details.

Getting started

Development

Prerequisites:

  • Install Eclipse RCP 3.8 (SR1) from http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/junosr1
  • Check out Zest 2.0 from the Eclipse marketplace
  • Check out the source code from this repository using Git
  • Initialize the WALA and JDT submodule using git submodule init followed by git submodule update
  • Import the following projects into a new Eclipse workspace
    • WALA
      • com.ibm.wala.cast
      • com.ibm.wala.cast.java
      • com.ibm.wala.core
      • com.ibm.wala.core.testdata
      • com.ibm.wala.core.tests
      • com.ibm.wala.core.ide
      • com.ibm.wala.core.ide.jdt
      • com.ibm.wala.shrike
      • com.ibm.wala.util
    • JDT
      • org.eclipse.jdt.core (in jdt/org.eclipse.jdt)
      • org.eclipse.jdt.core.manipulation (in jdt/org.eclipse.jdt.ui)
      • org.eclipse.jdt.ui (in jdt/org.eclipse.jdt.ui)
  • Follow the instructions on the WALA wiki for configuring WALA for your system.

Usage

Coming soon.

About

Interactive Source-to-source Transformations for Flow-based Applications

Resources

License

Stars

Watchers

Forks