@inproceedings{Gerard:2012,
  Author       = {L{\'e}onard G{\'e}rard and Adrien Guatto and
                  C{\'e}dric Pasteur and Marc Pouzet},
  Title        = {A Modular Memory Optimization for Synchronous
                  Data-Flow Languages},
  Booktitle    = {Proc. of the ACM International Conference on
                  Languages, Compilers, Tools and Theory for Embedded
                  Systems (LCTES'12)},
  Date-Added   = {2012-07-04 16:11:46 +0200},
  Date-Modified= {2012-07-04 16:15:18 +0200},
  Keywords     = {synchronous programming; type system},
  Year         = 2012,
  month        = jun,
  address      = {Beijing, China},
  abstract     = {The generation of efficient sequential code for
                  synchronous data-flow languages raises two
                  intertwined issues: control and memory
                  optimization. While the former has been extensively
                  studied, for instance in the compilation of LUSTRE
                  and SIGNAL, the latter has only been addressed in a
                  restricted manner. Yet, memory optimization becomes
                  a pressing issue when arrays are added to such
                  languages.  This article presents a two-level
                  solution to the memory optimization problem. It
                  combines a compile-time optimization algorithm,
                  reminiscent of register allocation, paired with
                  language annotations on the source given by the
                  designer. Annotations express in-place modifications
                  and control where allocation is performed. Moreover,
                  they allow external functions performing in-place
                  modifications to be safely imported. Soundness of
                  annotations is guaranteed by a semilinear type
                  system and additional scheduling constraints. A key
                  feature is that annotations for well-typed programs
                  do not change the semantics of the language:
                  removing them may lead to less efficient code but
                  will not alter the semantics.  The method has been
                  implemented in a new compiler for a LUSTRE-like
                  synchronous language extended with hierarchical
                  automata and arrays. Experiments show that the
                  proposed approach removes most of the unnecessary
                  array copies, resulting in faster code that uses
                  less memory. }
}


@misc{rr-nemo,
  author = {Delaval, G. and Rutten, E.},
  title = {A Domain-Specific Language for Multi-task Systems,
                  applying Discrete Controller Synthesis},
  howpublished = {Rapport de recherche INRIA nº5690},
  month = sep,
  year = 2005,
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/RR-5690.pdf},
  ps = {http://pop-art.inrialpes.fr/people/delaval/pub/RR-5690.ps.gz}
}

@inproceedings{delaval06:_domain_specif_languag_multi_system,
  author = {Delaval, G. and Rutten, E.},
  title = {A Domain-specific Language for Task Handlers
                  Generation, Applying Discrete Controller Synthesis},
  booktitle = {SAC '06: Proceedings of the 2006 ACM Symposium on
                  Applied computing},
  year = 2006,
  address = {Dijon, France},
  month = apr,
  isbn = {1-59593-108-2},
  pages = {901--905},
  doi = {10.1145/1141277.1141487},
  publisher = {ACM Press},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/article-nemo.pdf},
  ps = {http://pop-art.inrialpes.fr/people/delaval/pub/article-nemo.ps.gz}
}

@article{delaval07:_nemo_jes,
  author = {Delaval, Gwenaël and Rutten, Éric },
  title = {A Domain-Specific Language for Multitask Systems,
                  Applying Discrete Controller Synthesis},
  journal = {EURASIP Journal on Embedded Systems},
  year = 2007,
  volume = 2007,
  pages = {Article ID 84192, 17 pages},
  doi = {10.1155/2007/84192},
  abstract = {We propose a simple programming language, called
                  Nemo, specific to the domain of multi-task real-time
                  control systems, such as in robotic, automotive or
                  avionics systems. It can be used to specify a set of
                  resources with usage constraints, a set of tasks
                  that consume them according to various modes, and
                  applications sequencing the tasks. We obtain
                  automatically an application-specific task handler
                  that correctly manages the constraints (if there
                  exists one), through a compilation-like process
                  including a phase of discrete controller
                  synthesis. This way, this formal technique
                  contributes to the safety of the designed systems,
                  while being encapsulated in a tool that makes it
                  useable by application experts. Our approach is
                  based on the synchronous modelling techniques,
                  languages and tools.},
  keywords = {real-time systems, safe design, domain-specific
                  language, discrete control synthesis, synchronous
                  programming},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/nemo-jes2007.pdf}
}

@inproceedings{delaval10:_contracts_mod_dcs,
  author = {Delaval, Gwena\"{e}l and Marchand, Herv\'{e} and
                  Rutten, \'{E}ric},
  title = {Contracts for Modular Discrete Controller Synthesis},
  booktitle = {ACM International Conference on Languages,
                  Compilers, and Tools for Embedded Systems (LCTES
                  2010)},
  year = 2010,
  address = {Stockholm, Sweden},
  month = apr,
  abstract = {We describe the extension of a reactive programming
                  language with a behavioral contract construct.  It
                  is dedicated to the programming of reactive control
                  of applications in embedded systems, and involves
                  principles of the supervisory control of discrete
                  event systems.  Our contribution is in a language
                  approach where modular discrete controller synthesis
                  (DCS) is integrated, and it is concretized in the
                  encapsulation of DCS into a compilation process.
                  From transition system specifications of possible
                  behaviors, DCS automatically produces controllers
                  that make the controlled system satisfy the property
                  given as objective.  Our language features and
                  compiling technique provide
                  correctness-by-construction in that sense, and
                  enhance reliability and verifiability.  Our
                  application domain is adaptive and reconfigurable
                  systems: closed-loop adaptation mechanisms enable
                  flexible execution of functionalities w.r.t.
                  changing resource and environment conditions.  Our
                  language can serve programming such adaption
                  controllers.  This paper particularly describes the
                  compilation of the language.  We present a method
                  for the modular application of discrete controller
                  synthesis on synchronous programs, and its
                  integration in the BZR language.  We consider
                  structured programs, as a composition of nodes, and
                  first apply DCS on particular nodes of the program,
                  in order to reduce the complexity of the controller
                  computation; then, we allow the abstraction of parts
                  of the program for this computation; and finally, we
                  show how to recompose the different controllers
                  computed from different abstractions for their
                  correct co-execution with the initial program.  Our
                  work is illustrated with examples, and we present
                  quantitative results about its implementation.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/lctes2010.pdf}
}

@inproceedings{aboubekr09:_prog_lg_adapt_ctr,
  author = {Aboubekr, Soufyane and Delaval, Gwena\"{e}l and
                  Rutten, \'{E}ric},
  title = {A Programming Language for Adaptation Control: Case
                  Study},
  booktitle = {2nd Workshop on Adaptive and Reconfigurable Embedded
                  Systems (APRES 2009). ACM SIGBED Review},
  year = 2009,
  volume = 6,
  number = 3,
  address = {Grenoble, France},
  month = oct,
  abstract = {We illustrate an approach for the safe design of
                  adaptive embedded systems. It applies the BZR
                  programming language, featuring a special new
                  contract mechanism: its compilation involves
                  automatical discrete controller synthesis.  The
                  contribution of this paper is to illustrate how it
                  can be used to enforce the correct adaptation
                  control of the application, meeting execution
                  constraints, with the case study of a video module
                  of a multimedia cellular phone.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/apres09.pdf}
}

@inproceedings{delaval10:_warm,
  author = {Delaval, Gwena\"{e}l and Rutten, \'{E}ric},
  title = {A Language-Based Approach to the Discrete Control of
                  Adaptive Resource Management},
  booktitle = {Workshop on Adaptive Resource Management (WARM
                  2010)},
  year = 2010,
  address = {Stockholm, Sweden},
  month = apr,
  abstract = {We present a novel technique for designing discrete
                  control loops for adaptive systems.  They
                  automatically enforce safety properties on the
                  interactions between tasks, concerning, e.g., mutual
                  exclusions, forbidden or imposed sequences.  We use
                  a new reactive programming language, with a
                  mechanism of behavioural contracts.  Its compilation
                  involves discrete controller synthesis, which
                  automatically generates the correct appropriate
                  adaptation controllers.  We apply our approach to
                  the problem of adaptive ressource management,
                  illustrated by the example of a HTTP server.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/warm10.pdf}
}

@inproceedings{delaval10:_react_model_based_contr_of,
  author = {Delaval, Gwena\"{e}l and Rutten, \'{E}ric},
  title = {Reactive model-based control of reconfiguration in
                  the Fractal component-based model},
  booktitle = {13th International Symposium on Component Based
                  Software Engineering (CBSE 2010)},
  year = 2010,
  address = {Prague, Czech Republic},
  month = jun,
  abstract = {We present a technique for designing reconfiguration
                  controllers in the Fractal component-based
                  framework.  We obtain discrete control loops that
                  automatically enforce safety properties on the
                  interactions between components, concerning, e.g.,
                  mutual exclusions, forbidden or imposed sequences.
                  We use a reactive programming language, with a new
                  mechanism of behavioural contracts.  Its compilation
                  involves discrete controller synthesis, which
                  automatically generates the correct adaptation
                  controllers.  We apply our approach to the problem
                  of adaptive ressource management, illustrated by the
                  example of a HTTP server.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/delaval-cbse10.pdf}
}

@inproceedings{gcm10:_qos_energ_coord_dcs,
  author = {{De Palma}, No\"{e}l and Delaval, Gwena\"{e}l and
                  Rutten, \'{E}ric},
  title = {QoS and Energy Management Coordination using
                  Discrete Controller Synthesis},
  booktitle = {1st International Workshop on Green Computing
                  Middleware (GCM'2010)},
  year = 2010,
  address = {Bangalore, India},
  month = nov,
  abstract = {Green computing is nowadays a major challenge for
                  most IT organizations.  Administrators have to
                  manage the trade-off between system performances and
                  energy saving goals. Autonomic computing is a
                  promising approach to control the QoS and the energy
                  consumed by a system.  This paper precisely
                  investigates the use of synchronous programming and
                  discrete controller synthesis to automate the
                  generation of a controller that enforces the
                  required coordination between QoS and energy
                  managers.  We illustrate our approach by describing
                  the coordination between a simple admission
                  controller and an energy controller.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/delaval-gcm10.pdf}
}

@inproceedings{aboubekr11:_autom,
  author = {S. Aboubekr and G. Delaval and R.  Pissard-Gibollet
                  and {\'E}. Rutten and D. Simon},
  title = {Automatic generation of discrete handlers of
                  real-time continuous control tasks},
  booktitle = {Proc.  18th World Congress of the International
                  Federation of Automatic Control (IFAC)},
  address = {Milano, Italy},
  month = aug,
  year = 2011,
  abstract = {We present a novel technique for designing discrete,
                  logical control loops, on top of continuous control
                  tasks, ensuring logical safety properties of the
                  tasks sequencings and mode changes.  We define this
                  new handler on top of the real-time executives built
                  with the Orccad design environment for control
                  systems, which is applied, e.g. to robotics and
                  real-time networked control.  It features structures
                  of control tasks, each equipped with a local
                  automaton, used for the reactive, event-based
                  management of its activity and modes.  The
                  additional discrete handler manages the interactions
                  between tasks, concerning, e.g., mutual exclusions,
                  forbidden or imposed sequences.  We use a new
                  reactive programming language, with constructs for
                  finite-state machines and data-flow nodes, and a
                  mechanism of behavioral contracts, which involves
                  discrete controller synthesis.  The result is a
                  discrete control loop, on top of the continuous
                  control loops, all integrated in a coherent
                  real-time architecture.  Our approach is illustrated
                  and validated experimentally with the case study of
                  a robot arm.  },
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/bzrccad.pdf}
}

@inproceedings{boyer11:_discr_contr_auton_system,
  author = {Fabienne Boyer and No\"{e}l De Palma and Gwena\"{e}l
                  Delaval and Olivier Gruber and Eric Rutten},
  title = {Case Studies in Discrete Control for Autonomic
                  System Administration },
  booktitle = {Sixth International Workshop on Feedback Control
                  Implementation and Design in Computing Systems and
                  Networks (FeBID 2011)},
  year = 2011,
  address = {Karlsruhe, Germany},
  month = jun,
  abstract = {This paper presents examples of autonomic system
                  administration issues that can be addressed and
                  solved as discrete control problems. This shows
                  evidence of the relevance of control techniques for
                  the discrete aspects of closed-loop control of
                  computing systems. The model-based control of
                  adaptive and reconfigurable systems is considered via
                  a reactive programming language, based on discrete
                  controller synthesis (DCS) techniques. We identify
                  control problems in autonomic systems belonging to
                  the class of logical, discrete systems, and
                  illustrate how to solve them using DCS.},
  pdf = {http://pop-art.inrialpes.fr/people/delaval/pub/febid2011.pdf}
}

@techreport{bouhadiba11:_sdc_fract,
  hal_id = {inria-00596883},
  url = {http://hal.inria.fr/inria-00596883/en/},
  title = {Synchronous Control of Reconfiguration in Fractal
                  Component-based Systems -- a Case Study},
  author = {Bouhadiba, Tayeb and Sabah, Quentin and Delaval,
                  Gwena{\"e}l and Rutten, \'Eric},
  abstract = {{In the context of component-based embedded systems,
                  the management of dynamic reconfiguration in
                  adaptive systems is an increasingly important
                  feature. The Fractal component-based framework, and
                  its industrial instantiation MIND, provide for
                  support for control operations in the lifecycle of
                  components. Nevertheless, the use of complex and
                  integrated architectures make the management of this
                  reconfiguration operations difficult to handle by
                  programmers. To address this issue, we propose to
                  use Synchronous languages, which are a complete
                  approach to the design of reactive systems, based on
                  behavior models in the form of transition
                  systems. Furthermore, the design of closed-loop
                  reactive managers of reconfigurations can benefit
                  from formal tools like Discrete Controller
                  Synthesis. In this paper we describe an approach to
                  concretely integrate synchronous reconfiguration
                  managers in Fractal component-based systems. We
                  describe how to model the state space of the control
                  problem, and how to specify the control
                  objectives. We describe the implementation of the
                  resulting manager with the Fractal/Cecilia
                  programming environment, taking advantage of the
                  Comete distributed middleware. We illustrate and
                  validate it with the case study of the Comanche HTTP
                  server on a multi-core execution platform.}},
  keywords = {Component-based systems, synchronous programming,
                  reconfigurable systems, discrete controller
                  synthesis.},
  language = {Anglais},
  affiliation = {SARDES - INRIA Grenoble Rh{\^o}ne-Alpes / LIG
                  Laboratoire d'Informatique de Grenoble - INRIA -
                  Institut National Polytechnique de Grenoble - INPG -
                  Universit\'e Joseph Fourier - Grenoble I -
                  Universit\'e Pierre Mend\`es-France - Grenoble II -
                  CNRS : UMR5217},
  pages = 31,
  type = {Rapport de recherche},
  institution = {INRIA},
  number = {RR-7631},
  year = 2011,
  month = may,
  pdf = {http://hal.inria.fr/inria-00596883/PDF/RR-7631.pdf}
}

@inproceedings{gamatie09:_case_study_contr_synth_for,
  author = {Gamati\'e, Abdoulaye and Yu, Huafeng and Delaval,
                  Gwena\"el and Rutten, \'Eric},
  title = {A Case Study on Controller Synthesis for
                  Data-Intensive Embedded Systems},
  booktitle = {Proceedings of the 6th IEEE International Conference
                  on Embedded Software and Systems (ICESS'2009)},
  year = 2009,
  address = {HangZhou, Zhejiang, China},
  month = may,
  abstract = {This paper presents an approach for the safe design
                  of data-intensive embedded systems. A multimedia
                  application module of last generation cellular
                  phones is considered as a case study. The OMG
                  standard profile MARTE is used to adequately model
                  the application. The resulting model is then
                  transformed into a synchronous program from which a
                  controller is synthesized by using a formal
                  technique, in order to enforce the safe behavior of
                  the modeled application while meeting quality of
                  service requirements. The whole study is carried out
                  in a design framework, GASPARD, dedicated to
                  high-performance embedded systems.}
}

