Luc Fabresse
university of lille
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Luc Fabresse.
generative programming and component engineering | 2012
Petr Spacek; Christophe Dony; Chouki Tibermacine; Luc Fabresse
In the context of Component-based Programming, which addresses the implementation stage of a component-based software engineering development process, this paper describes a specification and an operational integration of an inheritance system into a self-contained new component-based programming language named Compo. Our proposal completes and extends related works by making it possible to apply inheritance to the full description of components, i.e. both to structural (description of provisions and requirements, of component architecture) and behavioral (full implementations of services) parts in component descriptions. Inheritance in Compo is designed to be used in conjunction with composition to maximize reuse capabilities and expressive power. Compo implementation proposes a clear operational solution for inheritance and for achieving and testing substitutions.
Proceedings of the International Workshop on Smalltalk Technologies | 2009
Noury Bouraqadi; Luc Fabresse
Evolving object-oriented code such as replacing a part of a system, is not always as easy as it should be. This is because object-oriented languages do not enforce code modularisation. Component-oriented approches target this issue by expliciting software architecture in terms of components and connections between them. However, there is little language support for component-oriented programming. Existing attempts are not really well integrated with the hosting object-oriented language. In this paper, we present the CLIC component model, its integration and its support in the Smalltalk language.
international conference on intelligent robotics and applications | 2016
Khelifa Baizid; Guillaume Lozenguez; Luc Fabresse; Noury Bouraqadi
SLAM algorithms produce accurate maps that allow localization with typically centimetric precision. However, such a map is materialized as a large Occupancy Grid. Beside the high memory footprint, Occupancy Grid Maps lead to high CPU consumption for path planning. The situation is even worse in the context of multi-robot exploration. Indeed, to achieve coordination, robots have to share their local maps and merge ones provided by their teammates. These drawbacks of Occupancy Grid Maps can be mitigated by the use of topological maps. However, topological maps do not allow accurate obstacle delimitations needed for autonomous robots exploration. So, robots still have to handle with Occupancy Grid Maps. We argue that Vector-based Maps which materialize obstacles using collections of vectors is a more interesting alternative. Vector Maps both provide accurate metric information likewise Occupancy Grid Maps, and represent data as a graph that can be processed for path planning and maps merging as efficiently as with topological maps. Conclusions are backed by several metrics computed with several terrains that differ in size, form factor, and obstacle density.
acm symposium on applied computing | 2018
Pablo Tesone; Guillermo Polito; Luc Fabresse; Noury Bouraqadi; Stéphane Ducasse
Code reuse is a good strategy to avoid code duplication and speed up software development. Existing object-oriented programming languages propose different ways of combining existing and new code such as e.g., single inheritance, multiple inheritance, Traits or Mixins. All these mechanisms present advantages and disadvantages and there are situations that require the use of one over the other. To avoid the complexity of implementing a virtual machine (VM), many of these mechanisms are often implemented on top of an existing high-performance VM, originally meant to run a single inheritance object-oriented language. These implementations require thus a mapping between the programming model they propose and the execution model provided by the VM. Moreover, reuse mechanisms are not usually composable, nor it is easy to implement new ones for a given language. In this paper, we propose a modular meta-level runtime architecture to implement and combine different code reuse mechanisms. This architecture supports dynamic combination of several mechanisms without affecting runtime performance in a single inheritance object-oriented VM. It includes moreover a reflective Meta-Object Protocol to query and modify classes using the programming logical model instead of the underlying low-level runtime model. Thanks to this architecture, we implemented Stateful Traits, Mixins, CLOS multiple inheritance, CLOS Standard Method Combinations and Beta prefixing in a modular and composable way.
Proceedings of the 12th edition of the International Workshop on Smalltalk Technologies | 2017
Guillermo Polito; Stéphane Ducasse; Luc Fabresse
Loading code inside a Pharo image is a daily concern for a Pharo developer. Nevertheless, several problems may arise at loading time that can prevent the code to load or even worse let the system in an inconsistent state. In this paper, we focus on the problem of loading code that references a class that does not exist in the system. We discuss the different flavors of this problem, the limitations of the existing Undeclared mechanism and the heterogeneity of Pharo tools to solve it. Then, we propose an unified solution for Pharo that reifies Undefined Classes. Our model of Undefined Classes is the result of an objective selection among different alternatives. We then validate our solution through two cases studies: migrating old code and loading code with circular dependencies. This paper also presents the integration of this solution into Pharo regarding the needed Meta-Object Protocol for Undefined Classes and the required modifications of existing tools.
Archive | 2017
Marin Lujak; Noury Bouraqadi; Arnaud Doniec; Luc Fabresse; Anthony Fleury; Abir Béatrice Karami; Guillaume Lozenguez
An integrated network of mobile robots, personal smart devices, and smart spaces called “Robots-Assisted Ambient Intelligence” (RAmI) can provide for a more effective user assistance than if the former resources are used individually. Additionally, with the application of distributed network optimization, not only can we improve the assistance of an individual user, but we can also minimize conflict or congestion created when multiple users in large installations use the limited resources of RAmI that are spatially and temporally constrained. The emphasis of RAmI is on the efficiency and effectiveness of multiple and simultaneous user assistance and on the influence of an individual’s actions on the desired system’s performance. In this paper, we model RAmI as a multi-agent system with AmI, user, and robot agents. Moreover, we propose a modular three-layer architecture for each robot agent and discuss its application and communication requirements to facilitate efficient usage of limited RAmI resources. Our approach is showcased by means of a case study where we focus on meal and medicine delivery to patients in large hospitals.
Revue d'intelligence artificielle | 2016
Zhi Yan; Luc Fabresse; Jannik Laval; Noury Bouraqadi
RÉSUMÉ. Le benchmarking de performance est un thème important dans la robotique. C’est un moyen essentiel de comparer des solutions dans des conditions différentes. Nous nous intéressons à l’analyse comparative des performances des systèmes multirobots dans le cadre de l’exploration et la cartographie d’espaces inconnus. Nous proposons une sélection de métriques pour comparer objectivement les algorithmes de coordination de systèmes multirobots pour l’exploration. Ce travail est une démarche concrète pour résoudre le problème général de l’évaluation quantitative de différents algorithmes de coordination multirobot. Nous identifions des paramètres qui influent sur la performance de flottes robotiques. En faisant varier ces paramètres, nous arrivons à identifier les atouts et les limites d’un algorithme. Nous illustrons ces contributions avec des simulations réalistes d’une stratégie d’exploration basée sur les frontières. Ces simulations ont été mises en œuvre à l’aide de l’intergiciel ROS (Robot Operating System).
21th International Smalltalk Conference - 2013 | 2013
Guillermo Polito; Stéphane Ducasse; Luc Fabresse; Noury Bouraqadi
Smalltalks'2010 | 2010
Mariano Martinez Peck; Noury Bouraqadi; Marcus Denker; Stéphane Ducasse; Luc Fabresse
International Workshop on Smalltalk Technologies | 2013
Camillo Bruni; Stéphane Ducasse; Igor Stasenko; Luc Fabresse