Francisco Sant’Anna ()
- Professor, UERJ, Brazil
- PhD, PUC-Rio, Brazil.
- Computer Science –> Programming Languages –> Synchronous Reactive Languages.
- List of publications: bibtex
Research
Follow me
Céu provides “Structured Synchronous Reactive Programming”, a safe and deterministic concurrency model with side effects.
Reactive applications interact continuously with the environment and are mostly guided through input events from it.
Céu can be described as a reactive, imperative, concurrent, synchronous, and deterministic language.
Website: http://ceu-lang.org/ (you can try Céu online!)
Git project: https://github.com/fsantanna/ceu/
Publications:
- 2018
- REBLS workshop short paper
- Where Do Events Come From? — Reactive and Energy-Efficient Programming From The Ground Up
- interrupt service routines, drivers, automatic standby
- [ pdf | site ]
- SBGames conference paper
- Structured Synchronous Reactive Programming for Game Development - Case Study: On Rewriting Pingus from C++ to Céu
- Céu in games, SSRP, qualitative evaluation
- [ pdf | site ]
- LCTES conference paper
- A Memory-Bounded, Deterministic and Terminating Semantics for the Synchronous Programming Language Céu
- formal semantics of Céu, proofs for termination, determinism, and memory boundedness
- [ pdf | site ]
- LCTES conference short paper
- Transparent Standby for Low-Power, Resource-Constrained Embedded Systems: A Programming Language-Based Approach
- interrupt service routines in Céu, power management, automatic standby
- [ pdf | site ]
- 2017
- TECS journal paper
- The Design and Implementation of the Synchronous Language Céu
- design and implementation of Céu, contrasting and comparing with Esterel
- [ pdf | site ]
- 2016
- WebMedia conference paper
- Céu-Media: Local Inter-Media Synchronization Using Céu
- developing multimedia applications in Céu
- [ pdf | site ]
- 2015
- TOSN journal paper
- Terra: Flexibility and Safety in Wireless Sensor Networks
- tiny Céu virtual machine for dynamic reprogramming in constrained devices
- [ pdf | site ]
- REBLS workshop paper
- Reactive Traversal of Recursive Data Types
- tagged unions, the
traverse
construct, a logo turtle interpreter
- [ pdf | site ]
- Modularity conference paper
- Structured Synchronous Reactive Programming with Céu
- main paper about the “dynamic Céu”: organisms, pointers and references
- [ pdf | site | video ]
- 2014
- REBLS workshop paper
- Structured Reactive Programming with Céu
- supressed by Modularity’15 above
- [ pdf | site ]
- 2013
- SenSys conference paper
- Safe Concurrent Abstractions for Wireless Sensor Networks
- main paper about the “static Céu”: design, evaluation
- [ pdf | site ]
- REM workshop paper
- Advanced Control Reactivity for Embedded Systems
- control mechanisms on top of Céu: exception handling, dataflow programming, the
par/hor
construct
- [ pdf | site ]
- PhD. Thesis
- Safe System-level Concurrency on Resource-Constrained Nodes with Céu
- complete description of the “static Céu”: design, evaluation, semantics, implementation
- [ pdf ]
- 2012
- PUC-Rio technical report
- Céu: Embedded, Safe, and Reactive Programming
- supressed by the PhD. Thesis above (except for the sections on asynchronous execution and simulation)
- [ pdf | site ]
- 2011
- SenSys (Doctoral Colloquium) paper
- Céu: A Reactive Language for Wireless Sensor Networks
- first exposure of Céu, old expression-based syntax
- [ pdf | site ]
Talks & Teaching:
- 2015: Curry-On! — “Mixing Control and Data Flow in Céu” — [ site | video ]
- 2014: Strange Loop / Emerging Languages Camp / Future of Programming Workshop — “Dynamic Organisms in Céu” — [ site | video ]
- 2014: PUC-Rio / Undergraduate course — “Sistemas Reativos” — [ github ]
- 2011-2012: ORT and UFRJ — “Programming Wireless Sensor Networks”
LuaGravity is a reactive language that implements the synchronous approach for concurrency. It is based on Esterel and FrTime, two synchronous reactive languages, the former having an imperative style, the latter being functional. LuaGravity is implemented as a set of runtime extensions to the Lua language.
Publications:
Talks:
- 2009: Lua Workshop — “LuaGravity: A reactive language” — [ slides | video | site ]
NCL is declarative language that provides several facilities for authoring a complete hypermedia document with synchronization relationships among its components. NCL is used on Brazilian Digital TV middleware Ginga.
NCL was created by Prof. Luiz Fernando Gomes Soares, and is maintained by the TeleMidia Laboratory at PUC-Rio.
NCL is scriptable in Lua through the so called NCLua objects.
I have created the NCLua specification with Prof. Renato Cerqueira and Prof. Luiz Fernando Gomes Soares, and have implemented the first public release.
Publications:
2009: DocEng conference paper — “Relating Objects with Imperative Code and Objects with Declarative Code through NCL Glue Language” — [ pdf | site ]
2009: Book chapter — “Programando com Objetos NCLua (Programando em NCL 3.0)” — [ site ]
2009: Webmedia short course (book chapter) — “Desenvolvimento de Aplicações Declarativas para TV Digital no Middleware Ginga com Objetos Imperativos Lua” — [ pdf | site ]
2008: Webmedia conference paper — “NCLua - Objetos Imperativos Lua na Linguagem Declarativa NCL” — [ slides | pdf | site ]
2008: Norma ABNT — “Digital terrestrial television, Data coding and transmission specification for digital broadcasting, Part 2: Ginga-NCL for fixed and mobile receivers, XML application language for application coding” — [ site ]
Talks & Teaching:
2008-2011: PUC-Rio/CCE postgraduate — “Desenvolvimento de Aplicações e Conteúdo para TV Digital em Ginga-NCL” — [ site ]
2009: Lua Workshop — “Aplicações interativas para a TV digital brasileira” — [ slides | video | site ]