- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Thesis: ScalaFlow - Continuation Based DataFlow Concurrency in Scala
Wed, 2010-10-13, 20:38
Hello all
I handed in my Master's Thesis last month and now have everything put
online and publicly available at github [0].
I developed a framework based on the Delimited Continuations
Compiler-Plugin to create concurrent programs with DataFlow-execution.
This means the program is transparently suspended and resumed (without
blocking any threads) depending on the availability of data.
A minimal demo (yes, looks like Futures):
val v = new Variable[Int]
flow { println( v() ) // suspends without blocking }
flow { v := 42 // resumes above flow }
The Thesis itself is available at [1], some tests/demos are available at
[2]. I created several programs on top of ScalaFlow, one is available
(although not yet really working, too many heuristics :( at [3].
A big Thank You to the helpful and generally awesome Scala community!
Any comment appreciated.
Cheers,
Kai
[0] http://github.com/hotzen/ScalaFlow
[1] http://github.com/hotzen/ScalaFlow/raw/master/thesis.pdf
[2]
http://github.com/hotzen/ScalaFlow/tree/master/src/test/scala/dataflow/t...
[3] http://github.com/hotzen/MetaFlow
Congratulations to your thesis, Kai! I wanted to have a quick look at your thesis but I actually ended up reading most of it. In particular, I like the NIO/networking stuff. Keep up the good work!
- Tiark
On Oct 13, 2010, at 9:38 PM, Kai Meder wrote:
> Hello all
>
> I handed in my Master's Thesis last month and now have everything put online and publicly available at github [0].
>
> I developed a framework based on the Delimited Continuations Compiler-Plugin to create concurrent programs with DataFlow-execution. This means the program is transparently suspended and resumed (without blocking any threads) depending on the availability of data.
>
> A minimal demo (yes, looks like Futures):
> val v = new Variable[Int]
> flow { println( v() ) // suspends without blocking }
> flow { v := 42 // resumes above flow }
>
> The Thesis itself is available at [1], some tests/demos are available at [2]. I created several programs on top of ScalaFlow, one is available (although not yet really working, too many heuristics :( at [3].
>
> A big Thank You to the helpful and generally awesome Scala community!
>
> Any comment appreciated.
>
> Cheers,
> Kai
>
> [0] http://github.com/hotzen/ScalaFlow
> [1] http://github.com/hotzen/ScalaFlow/raw/master/thesis.pdf
> [2] http://github.com/hotzen/ScalaFlow/tree/master/src/test/scala/dataflow/t...
> [3] http://github.com/hotzen/MetaFlow
>