The Synchronous Blog

A blog about reactive programming languages.

Archive for the ‘News’ Category

The “Rocks!” game in Céu & SDL

leave a comment »

The “Rocks!” game is a spaceship shooter game for 2 simultaneous players on the same Android tablet:

https://play.google.com/store/apps/details?id=org.droid_in_the_sky.rocks

The game is completely written in Céu & SDL and uses the new dynamic extensions of the language.

The code is open source and is extensively commented. I plan to write a tutorial from it:

https://github.com/droid-in-the-sky/rocks

The game also compiles to run in the desktop.

Here’s a running session of the game (with a much faster speed):

Advertisements

Written by francisco

October 8, 2013 at 6:40 pm

Posted in Examples, News

Tagged with , , , , ,

SenSys’13 accepted paper: “Safe System-Level Concurrency on Resource-Constrained Nodes”

with 3 comments

Our paper entitled “Safe System-Level Concurrency on Resource-Constrained Nodes” has been accepted in SenSys this year in Rome!

The preprint version for the paper can be downloaded here.

I’m happy that Céu has been accepted in such a prestigious conference.

More information can be found here.

 

Written by francisco

September 16, 2013 at 11:30 am

Posted in News, Reactive Languages

Tagged with , , ,

PhD thesis preprint: “Safe System-level Concurrency on Resource-Constrained Nodes with Céu”

with 2 comments

I’m about to reach the day of my PhD defense.

The preprint for my thesis, entitled “Safe System-level Concurrency on Resource-Constrained Nodes with Céu”, can be downloaded here.

(BTW, we had a paper accepted for SenSys this year in Rome! :)

Written by francisco

August 24, 2013 at 12:12 pm

Posted in News, Reactive Languages

Tagged with , ,

Céu v0.6

leave a comment »

The new version of Céu is released!

What’s new in v0.6:

  •     Added support for asynchronous threads.
  •     Added support for the C preprocessor.
  •     Added tuple types for events.

Céu in a Box (CiB) is a Linux-based distribution that comes pre-installed with the Céu Programming Language environment.

The distribution contains the compiler together with bindings for the Arduino, TinyOS, and SDL platforms.

CiB is distributed as a single .ova file to be used with VirtualBox.

Written by francisco

August 20, 2013 at 11:45 am

Céu “organisms”

leave a comment »

I’m about to release the version 0.4 of Céu (already available on github [1] and a dedicated VM [2]).

The language had many improvements [3], but by far, the addition of a “class” system was the most significant.

A powerful abstraction functionality is a must to augment the scope of the language from constrained embedded systems to mobile and desktop platforms.

I’ve been playing with Céu + SDL [4] for a while and came up with this idea of mixing objects (interface+explicit state) with trails (subprograms+implicit state) into a single functionality (an “organism”).

The videos that follow go through the most important concepts of Céu, starting from the basics of synchronous parallel compositions, up to the class system with scoped objects that are automatically reclaimed by the language run-time.

 

Céu basics

 

Céu with SDL

 

Céu organisms

 

Céu dynamic organisms

 

[1] https://github.com/fsantanna/ceu

[2] http://www.ceu-lang.org/CiB-0.4.ova

[3] http://www.ceu-lang.org/wiki/index.php?title=C%C3%A9u_in_a_Box (see HISTORY)

[4] http://www.libsdl.org

Written by francisco

May 10, 2013 at 12:30 pm

Posted in Concepts, News

Tagged with , , , , ,

Céu v0.2

leave a comment »

The new version of Céu is released!

Céu in a Box (CiB) is a Linux-based distribution that comes pre-installed with the Céu Programming Language environment.

The distribution contains the compiler together with bindings for the Arduino, TinyOS, and SDL platforms.

CiB is distributed as a single .ova file to be used with VirtualBox.

Written by francisco

September 26, 2012 at 7:32 pm

“Céu: Embedded, Safe, and Reactive Programming”

with one comment

We have published a technical report entitled “Céu: Embedded, Safe, and Reactive Programming”.

Enjoy the reading!

Abstract:

Céu is a programming language that unifies the features found in dataflow and imperative synchronous reactive languages, offering a high-level and safe alternative to event-driven and multithreaded systems for embedded systems.

Céu supports concurrent lines of execution that run in time steps and are allowed to share variables. However, the synchronous and static nature of Céu enables a compile time analysis that can enforce deterministic and memory-safe programs.

Céu also introduces first-class support for “wall-clock” time (i.e. time from the real world), and offers seamless integration with C and simulation of programs in the language itself.

The Céu compiler generates single-threaded code comparable to handcrafted C programs in terms of size and portability.

Table of Contents:

  1. Introduction
  2. The Language Céu
    1. Parallel compositions
    2. Internal events & Dataflow support
    3. Wall-clock time
    4. Integration with C
    5. Bounded execution
    6. Determinism
    7. Asynchronous execution
    8. Simulation in Céu
    9. GALS execution
  3. Demo applications
    1. WSN ring
    2. Arduino ship game
    3. SDL game simulation
  4. Implementation of Céu
    1. Temporal analysis
    2. Memory layout
    3. Gate allocation
    4. Code generation
    5. Reactive execution
    6. Evaluation
  5. Related work
    1. Synchronous model
    2. Asynchronous model
  6. Conclusion