Skip to content

kayceesrk/Sting

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
STING - An Optimizing Session Type Compiler for Java
----------------------------------------------------

Sting is an optimizing session type compiler for Java from Purdue University.
Sting is an extension of sessionj (http://code.google.com/p/sessionj/) from
Imperial College London. This implementation uses Polyglot compiler framework
(http://www.cs.cornell.edu/projects/polyglot/) and Javaflow continuation library
(http://commons.apache.org/sandbox/javaflow/).

For more information on STING compiler, please refer to our paper "Efficient
Session Type Guided Distributed Interaction"
(http://www.springerlink.com/content/d3g7075p44904406/).

BUILDING
--------

Switch to trunk directory and run
> ant jar
to build the source. You need Apache Ant and a Java 1.6 JDK for that.

COMPILING SJ PROGRAMS AND RUNNING THEM

1. Add the bin/ directory to your path.
2. Write an SJ program, say Foo.sj.
3. Compile it using:
> sessionjc Foo.sj [-cp a classpath if needed] [-d destination for generated .java and .class files]
4. Run with:
> sessionj Foo

TEST PROGRAMS
-------------

- All our test files are under the directory of tests/src/purdue
- We mainly have three test sets: batching, continuation exporting, and chaining.
- To run any test, first you need to build the compiler and the runtime by
  typing "ant jar" on the root directory. Then, compile and run the sj files as
  described within each file.

Sting extensions to Sessionj
----------------------------

- Support for multiparty session types
  - Language extension for global session types
  - Projections for local session types
  - local session type checking against the session implementation
- Compiler extensions for session type guided optimizations
  - Batching
  - Chaining
  - Continuation exporting
    - Annotations for global session types to enable topology aware insertion of
      continuation exporting

About

An Optimizing Session Type Compiler for Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published