Bruno Pagano
Esterel Technologies
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Bruno Pagano.
embedded software | 2005
Jean-Louis Colaço; Bruno Pagano; Marc Pouzet
This paper presents an extension of a synchronous data-flow language such as Lustre with imperative features expressed in terms of powerful state machine à la SyncChart. This extension is fully conservative in the sense that all the programs from the basic language still make sense in the extended language and their semantics is preserved.From a syntactical point of view this extension consists in hierarchical state machines that may carry at each hierarchy level a bunch of equations. This proposition is an alternative to the joint use of Simulink and Stateflow but improves it by allowing a fine grain mix of both styles.The central idea of the paper is to base this extension on the use of clocks, translating imperative constructs into well clocked data-flow programs from the basic language. This clock directed approach is an easy way to define a semantics for the extension, it is light to implement in an existing compiler and experiments show that the generated code compete favorably with ad-hoc techniques. The proposed extension has been implemented in the ReLuC compiler of Scade/Lustre and in the Lucid Synchrone compiler.
practical aspects of declarative languages | 2008
Bruno Pagano; Olivier Andrieu; Benjamin Canou; Emmanuel Chailloux; Jean-Louis Colaço; Thomas Moniot; Philippe Wang
This paper presents our feedback from the study on the use of Objective Caml for safety-critical software development tools implementation. As a result, Objective Caml is now used for the new ScadeTM certified embedded-code generator. The requirements for tools implementation are less strict than those for the embedded code itself. However, they are still quite demanding and linked to imperative languages properties, which are usually used for this kind of development. The use of Objective Caml is outstanding: firstly for its high level features (functional language of higher order, parametric polymorphism, pattern matching), secondly for its low level mechanisms needed by the runtime system (GC, exceptions). In order to develop the tools to check the safety-critical software development rules, it is necessary to reinterpret them for this language, and then to adapt Objective Caml so that it satisfies them. Thus, we propose a language restriction and a simplified runtime library in order that we can define and measure the coverage of a program written in Objective Caml according to the MC/DC criteria. Then we can look forward to seeing this kind of languages spread out the industrial environment, while raising the abstraction level in the conception and implementation of tools for certified programs production.
international conference on hybrid systems computation and control | 2014
Albert Benveniste; Timothy Bourke; Benoît Caillaud; Bruno Pagano; Marc Pouzet
Explicit hybrid systems modelers like Simulink/Stateflow allow for programming both discrete- and continuous-time behaviors with complex interactions between them. A key issue in their compilation is the static detection of algebraic or causality loops. Such loops can cause simulations to deadlock and prevent the generation of statically scheduled code. This paper addresses this issue for a hybrid modeling language that combines synchronous data-flow equations with Ordinary Differential Equations (ODEs). We introduce the operator last(x) for the left-limit of a signal x. This operator is used to break causality loops and permits a uniform treatment of discrete and continuous state variables. The semantics relies on non-standard analysis, defining an execution as a sequence of infinitesimally small steps. A signal is deemed causally correct when it can be computed sequentially and only changes infinitesimally outside of announced discrete events like zero-crossings. The causality analysis takes the form of a type system that expresses dependences between signals. In well-typed programs, signals are provably continuous during integration provided that imported external functions are also continuous. The effectiveness of this system is illustrated with several examples written in Zélus, a Lustre-like synchronous language extended with hierarchical automata and ODEs.
compiler construction | 2015
Timothy Bourke; Jean-Louis Colaço; Bruno Pagano; Marc Pouzet
Modeling languages for hybrid systems are cornerstones of embedded systems development in which software interacts with a physical environment. Sequential code generation from such languages is important for simulation efficiency and for producing code for embedded targets. Despite being routinely used in industrial compilers, code generation is rarely, if ever, described in full detail, much less formalized. Yet formalization is an essential step in building trustable compilers for critical embedded software development.
international conference on functional programming | 2009
Bruno Pagano; Olivier Andrieu; Thomas Moniot; Benjamin Canou; Emmanuel Chailloux; Philippe Wang; Pascal Manoury; Jean-Louis Colaço
international modelica conference | 2015
Lucas Satabin; Jean-Louis Colaço; Olivier Andrieu; Bruno Pagano
Archive | 2004
Raphaël Montelatici; Emmanuel Chailloux; Bruno Pagano
theoretical aspects of software engineering | 2017
Jean-Louis Colaço; Bruno Pagano; Marc Pouzet
theoretical aspects of software engineering | 2017
Jean-Louis Colaço; Bruno Pagano; Marc Pouzet
embedded software | 2017
Timothy Bourke; Francois Carcenac; Jean-Louis Colaço; Bruno Pagano; Marc Pouzet