Lionel Morel

Learn More
The design of safety critical embedded systems has become a complex task, which requires both appropriate language features and efficient validation techniques. In this work, we propose the introduction of array iterators to the synchronous dataflow language Lustre as a mean to alleviate this complexity. We propose these new operators to provide Lustre(More)
The "Design by contract'' principle has been applied successfully in the context of object-oriented designs, since it was first proposed by B. Meyer for Eiffel. We claim that a simple pre-post specification is not sufficient for reactive software. We introduce a model of reactive components suitable for reactive embedded software, and a notion of(More)
In order to increase the flexibility and performance of hydraulically actuated machines there is a demand for more intelligent controllers. This leads to a rapid increase in complexity of the control systems. To manage the complexity and to ensure reliability of these systems, adequate software development methods are needed. In this work, we propose a(More)
Simulink is a popular tool for model-based development of control systems. However, due to the complexity caused by the increasing demand for sophisticated controllers, validation of Simulink models is becoming a more difficult task. To ensure correctness and reliability of large models, it is important to be able to reason about model parts and their(More)
In this paper, we advocate for a seamless design-flow for embedded reactive programs. We particularly concentrate on the use of assume-guarantee contracts (as a form of non-deterministic specification) and present how these can be used for early execution of reactive specifications. We illustrate the approach on a case-study taken from an avionic(More)
While increasing progressively its expressive power, UML has become more and more difficult to read and understand, especially for beginners. To teach the whole UML is not possible, therefore teachers only deal with a subset of UML. We present a framework for defining precisely a consistent subset of a language, allowing everybody to define his/her own(More)
The memory subsystem of modern multi-core architectures is becoming more and more complex with the increasing number of cores integrated in a single computer system. This complexity leads to profiling needs to let software developers understand how programs use the memory subsystem. Modern processors come with hardware profiling features to help building(More)