Papers by Jean-Philippe Babau

QuaRTOS-DSE: A Tool for Design Space Exploration of Embedded Real-Time System
To improve the quality, the performance and the real-time correctness of embedded real-time syste... more To improve the quality, the performance and the real-time correctness of embedded real-time systems, one main design activity is the deployment consisting on mapping functions to tasks and tasks to processors. Several deployment strategies have been proposed by the literature. Each of them is well adapted for one deployment step, one optimization criterion and one type of application. But for realistic systems and general case, none of them is optimal. This paper presents a model-based approach to facilitate the integration and the composition of different deployment strategies. The framework allows to combine different strategies for different parts of the system, and to apply consecutively different strategies. To compare different compositions of strategies, evaluations are proposed based on a set of real-time, performance and design quality criteria. The library of strategies and evaluation criteria may be easily extended by respecting a generic API. Evaluation on case studies shows the interest of combining several strategies to optimize different criteria like real-time and quality of design criteria.
Quantitative Monitoring of the Underwater Environment, 2016
Process control systems embedded in disturbed environments are usually developed case by case for... more Process control systems embedded in disturbed environments are usually developed case by case for specific deployment platforms and their behaviours closely depend on the characteristics of the environment. The obtained code is not portable and not reconfigurable. In order to help the software development of such applications, IMOCA offers architectural modelisation tools. The associated code generator allows to product adaptative and reconfigurable code for a simulator as well as embedded code for various platforms. This approach has been tested on NXT bricks, Arduino boards and Armadeus boards.

Nowadays robotic systems are a combination of complex software and hardware components providing ... more Nowadays robotic systems are a combination of complex software and hardware components providing sophisticated functionalities. Robotic control systems evolving in an uncertain environment are generally developed case by case for specific deployment platforms. For complex and realistic systems, simulation plays a central role during design by providing testing facilities. In this paper, we propose to model robotic architectures using the modeldriven framework AMSA. In order to facilitate simulation and testing, we propose to incorporate different behaviors in the model through parameterizations. For testing purpose, we define scenarios as a sequence of parameter modifications. From architectural and scenario models, code is generated for the robotic middleware ROS. During simulation, scenarios are used to evaluate different controller behaviors for different contexts. The approach has been experimented for the MDE challenge: a rover must follow another leader rover. The approach all...

Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development, 2016
IMOCA is a model-based architecture model dedicated to embedded process control systems in distur... more IMOCA is a model-based architecture model dedicated to embedded process control systems in disturbed environment. These systems depend on various parameters which are difficult to set because they are bound to environment changes. In this paper we propose to extend IMOCA with the meta-model ImocaGen for managing the aspects of the code generation. ImocaGen allows to target multiple platforms and different programming languages, generates both embedded code as well as tuning and reconfiguration tools, takes into account different communication protocols and offers a mechanism for integrating handwritten code. This approach is tested on a basic control application for a NXT brick for which three generations are performed: the first one for a PC with an USB connection, the second one for an Android tablet with a Bluetooth connection and the last one for a simulator in Java.

Proceedings of the 8th International Conference on Model-Driven Engineering and Software Development, 2020
In the context of Model-Based System Engineering (MBSE), Thales has developed a method called Arc... more In the context of Model-Based System Engineering (MBSE), Thales has developed a method called Arcadia, and its dedicated workbench Capella. This approach provides engineer generic practices and tools to design system models in a coherent way. While models grew in complexity, the need emerged for model Simulation and verification. In this paper, a model based approach is proposed to provide an interpretation of the Capella dynamic behavior description of modeled systems. The approach allows targeting different semantics and facilitating reuse of legacy semantics. The idea is to enforce separation of concerns of semantics definition by defining a chain of five transformations. The approach ensures traceability between Capella source models and target models, facilitating interpretation of the verification results. We apply our approach to analyze dataflow diagrams of a Capella "clock radio" model. For this purpose we transform the Capella dataflow model to a Simulink model. The experimentation on the use case demonstrates the ability of the tool to catch model inconsistency problems.

2021 Forum on specification & Design Languages (FDL), 2021
One key objective of Cyber-Physical System (CPS) simulation is to evaluate different CPS configur... more One key objective of Cyber-Physical System (CPS) simulation is to evaluate different CPS configurations regarding a certain user objective. First, simulation of CPS necessitates frameworks to handle heterogeneity of CPS components (the software and hardware system control, the behavior of the CPS itself and its physical environment). Then, to build simulators, designers use paradigms like FMI (Functional Mock-Up Interface) that proposes a data-driven generic interface facilitating the integration of heterogeneous models. However, in order to facilitate simulation configuration, an approach is required to drive modeling of parametric features and operational conditions. In this paper, we present CARES, a component-based and modeldriven approach to facilitate CPS simulation. CARES is applied to evaluate an Autonomous Underwater Vehicle (AUV) navigation function by simulation. The proposed models integrate both the principles of a generic simulation (integration of Component Based Software Engineering CBSE concepts and FMI paradigm) and domain specific aspects through a component-based architecture style. From a design model, a code generator builds the structural (Java or C++) code of the simulator. The generated code relies on a given run-time library for its execution and its structure facilitates integration of domain-specific code. The experiments show the effectiveness of the approach to build simulators for evaluation of different AUV configurations.
Les systèmes de contrôle de processus embarquées en environnement perturbé sont généralement déve... more Les systèmes de contrôle de processus embarquées en environnement perturbé sont généralement développés au cas par cas pour des plates-formes de déploiement spécifiques, avec un comportement dépendantétroitement des caractéristiques de l'environnement. Le code obtenu est non portable et non reconfigurable. Pour aiderà maîtriser le développement logiciel de telles applications, IMOCA offre des outils de modélisation au niveau architectural. Le générateur de code associé permet de produire du code adaptatif et reconfigurable pour un simulateur ainsi que du code embarqué pour différentes plates-formes. L'approche est appliquéeà une brique NXT Lego ainsi qu'à un mini charà voilé equipé d'une carte Arduino.
Common Data Model is an abstract data model for scientific datasets that can be constrained by OC... more Common Data Model is an abstract data model for scientific datasets that can be constrained by OCL. To hide complexity of OCL, CdmCL is proposed as a specific textual constraint language for CDM. CdmCL is based on the CDM structure and results in a set of constraint categories. CdmCL provides a user-friendly front end in order to define constraints which are subsequently translated to OCL. The conformity tool is based on an existing OCL checker integrated in EMF. CdmCL is experimented on the OceanSITES standard.
HAL is a multidisciplinary open access archive for the deposit and dissemination of scientific re... more HAL is a multidisciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L'archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Component-based software engineering (CBSE) is quickly becoming a mainstream approach to software... more Component-based software engineering (CBSE) is quickly becoming a mainstream approach to software development. At the same time, there is a massive shift from desktop applications to handheld systems: it is especially the case for multimedia applications such as video player, games, etc. Moreover, these applications have several Quality of Service (QoS) constraints which must be reached. A key issue of CBSE in embedded systems is its ability to integrate QoS management. In this paper, we present a component-based QoS architecture, called Qinna, and its implementation to a real-time case study. The Qinna architecture allows to integrate dynamic and heterogenous QoS management, and favours reusability thanks to its identified components.

SAIA is an architectural style for the development of systems dedicated to process control. Desig... more SAIA is an architectural style for the development of systems dedicated to process control. Designing an architecture that conforms to a style implies the manipulation of a lot of entities and the respect of numerous constraints. The approaches based on models and models transformations are well adapted to manage the complexity and to enforce the separation of concerns. This paper presents a model driven engineering method for the development and the validation of systems that conform to SAIA. Moreover, a tool supporting the method allows a systematic use of models and transformations. RÉSUMÉ. SAIA est un style architectural destiné au développement de systèmes dédiés au contrôle de procédés. Construire une architecture conforme à un style architectural donné nécessite la manipulation de nombreuses entités et le respect de nombreuses contraintes. Les approches basées sur les modèles et les transformations de modèles permettent de gérer cette complexité et d'imposer une séparation des préoccupations. Notre objectif est alors de fournir une méthode basée sur les concepts définis par l'ingénierie dirigée par les modèles pour le développement et la validation de systèmes conformes à SAIA. Enfin, un outil implémente la méthode proposée afin d'aider le concepteur à respecter les modèles et leurs transformations.

Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures, 2013
Electric vehicles embed a low amount of energy, so their devices need to be managed efficiently t... more Electric vehicles embed a low amount of energy, so their devices need to be managed efficiently to optimize the vehicle autonomy. A vehicle management is achieved by the embedded systems, modeled following the Autosar standard. Autosar covers most of the automotive concerns, but it lacks energy consumption and user-oriented Quality of Service models. This paper presents Orqa, a framework to model and manage the electric vehicle devices through energy consumption and user-oriented Quality of Service. At design time, the architects choose and tune the actual vehicle device models through their power requirements and, if appropriate, quality levels. The generated implementation is then embedded in the existing Autosar models. Thus, at run-time, the vehicle's system is able to evaluate the global consumption of a trip and to propose the user a specific driving strategy. The optional devices are managed throughout the trip, based on the driver preferences. Orqa is illustrated with a classic use-case: a work to home trip.

Component-Based Software Engineering, 2009
As embedded systems must constantly integrate new functionalities, their developement cycles must... more As embedded systems must constantly integrate new functionalities, their developement cycles must be based on high-level abstractions, making the software design more flexible. CBSE provides an approach to these new requirements. However, low-level services provided by operating systems are an integral part of embedded applications, furthermore deployed on resource-limited devices. Therefore, the expected benefits of CBSE must not impact on the constraints imposed by the targetted domain, such as memory footprint, energy consumption, and execution time. In this paper, we present the componentization of a legacy industry-established Real-Time Operating System, and how componentbased applications are built on top of it. We use the Think framework that allows to produce flexible systems while paying for flexibility only where desired. Performed experimentions show that the induced overhead is negligeable.

Proceedings of the 19th international doctoral symposium on Components and architecture, 2014
The energy management of electric vehicles is located in the storage system. It considers only th... more The energy management of electric vehicles is located in the storage system. It considers only the storage physical constituents and adapts the demand of the drive-chain technologies but is blind to other parts of the vehicle. Furthermore it has a very focused approach-to optimise the vehicle movement-and misses the driver's pragmatical needs. ORQA is a framework dedicated to the modelling of the vehicle consuming devices complementing the embedded systems models. It characterises each consuming device by its energetic needs and the quality levels it offers from a driver perspective. ORQA is realised by a system-level energy manager which looks for a driving strategy matching the driver needs and constraints. As the components used in ORQA are generic devices, the consumption of the devices is an approximation of their real consumptions. This paper presents the adaptation of the ORQA framework to have a closer estimation of the consuming devices. We propose the use of physical models issued from mechatronic systems for the main devices, drive-chain and energy storage, and discuss the benefits and constraints.

2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications, 2014
Energy management of electric vehicles has been the focus of recent research to allow optimal eng... more Energy management of electric vehicles has been the focus of recent research to allow optimal engine and battery usage. Many efforts have been realised to use the trip knowledge-or a prediction of it-to provide the best vehicle efficiency. Yet few works take into account the embedded devices and the vehicle global Quality of Service. The ORQA framework has a vehicle systemic approach, its purpose is to generate an architecture to counter the range anxiety and offer the best quality effort based on the driver preferences. The work described in this paper is about the off-line configuration of the ORQA framework to match a target vehicle characteristics and abilities. With a more precise configuration, the on-line execution of ORQA is optimised. Two leads are presented to reduce the computation time needed to explore the solution space on-line. The final result is an energy management software tuned for a specific targeted vehicle which offers a driving strategy and a control of the embedded devices matching the driver destination and preferences.
In the context of last year RTSS robotic competition, SAIA models and their implementation have b... more In the context of last year RTSS robotic competition, SAIA models and their implementation have been pro- posed. The goal was the development of an exploration robot. This year, the paper proposes the reuse one of these models for the ciberMouse design. The realized modifications are presented and an emphasis is made on benefits and limits of SAIA model reuse.

Journal of Systems Architecture, 2013
The home network is an open, heterogeneous and distributed environment where ensuring multimedia ... more The home network is an open, heterogeneous and distributed environment where ensuring multimedia applications' quality of service is a main concern. Mechanisms to reserve resources (CPU, memory, network) and architectures using them already exist. However, they require to modify the devices or the applications and they do not take into account the heterogeneity of the home network. This paper presents a non-intrusive and adaptable resource management framework. This framework is developed upon an architecture, customized for the actual devices. This architecture uses global components that delegate to local components the management of local resources. These components rely on the resource reservation mechanisms provided by the Linux operating system in order to guarantee the resources to the applications. The framework has been implemented on real devices (PCs, laptops and embedded multimedia devices), bridged with wireless and Ethernet networks. The evaluations of the framework show that reservations are guaranteed even if noise is generated on the resources, which also guaranties the expected quality of service.
Dans un véhicule automobile électrique, la connaissance et la maitrise des consommations énergéti... more Dans un véhicule automobile électrique, la connaissance et la maitrise des consommations énergétiques est primordiale pour une gestion optimale de l'autonomie du véhicule. La gestion logicielle des équipements s'appuie sur une architecture Autosar à base de composants. Autosar ne permet pas actuellement de modéliser les aspects énergétiques des divers équipements. Pour pallier ce manque, ce papier propose un premier modèle de consommations liées à l'utilisation des équipements automobiles. Ce modèle est utilisé pour générer-à partir d'un architecture fonctionnelle Autosar-un modèle d'architecture Autosar enrichi de politiques de contrôle de la consommation énergétique. Nous illustrons cette proposition avec une étude de cas (gestion du plafonnier d'un véhicule).
-Ce papier s'inscrit dans un projet d'implémentation sur plateforme reconfigurable d'un système d... more -Ce papier s'inscrit dans un projet d'implémentation sur plateforme reconfigurable d'un système d'exploitation temps-réel à base de composants. Ces composants peuvent être à l'état logiciel ou matériel. Ils peuvent être configurés en phases de conception, et reconfigurés de manière dynamique en phase d'exécution. Sous certains scénarios, un composant peut être accéléré en passant à l'état matériel. Au sein du projet, ce papier traite des principes de déport matériel de services d'OS dans un contexte temps-réel. On prend l'exemple appliqué de l'implémentation du gestionnaire de tics système. L'objectif de cette approche est l'adaptation et l'extensibilité des systèmes à long termes, ainsi que l'accroissement des performances.
Environnement Cible Contrôle FIG. 1-Système de contrôle. De par les spécificités des processus à ... more Environnement Cible Contrôle FIG. 1-Système de contrôle. De par les spécificités des processus à contrôler, les systèmes sont souvent développés au cas par cas, ce qui pose des problèmes de maîtrise, de mise au point du logiciel et au final de déploiement. Dans ce contexte, disposer d'outils logiciels d'aide au développement et des outils de simulation devient crucial. Les méthodes orientées objets et, plus récemment, l'ingénierie dirigée par les modèles (IDM (Bézivin, 2006; Terrier et Gérard, 2006)) offrent un cadre pour la maîtrise du développement de ce type d'applications. Un des points clé est la maîtrise de l'architecture, soit l'organisation et l'interaction des divers composants logiciels du système. L'architecture à base de modèle SAIA (Deantoni et Babau, 2006), qui s'appuie sur une approche MDA (Model Driven Architecture (OMG, 2003)), se concentre plus particulièrement
Uploads
Papers by Jean-Philippe Babau