Safe Design Method of COTS based embedded systems based on COTS - Archive ouverte HAL Accéder directement au contenu
Thèse Année : 2013

Safe Design Method of COTS based embedded systems based on COTS

Conception sûre de Systèmes embarqués à Base de COTS

Résumé

Abstract This PhD dissertation contributes to the safe design of COTS-based control-command embedded systems. Due to design constraints bounding delays, costs and engineering resources, component re-usability has become a key issue in embedded design. The major difficulty in designing these systems is the high number of COTS components, which usually are separately built. The design process amounts to assembling these elementary components; this often establishes a certain amount of interaction between sets components which were not initially intended to interact with each others. Thus, unwanted behaviors may occur, although each component taken separately is considered free of local errors. The challenge that the designer faces is to ensure a safe behavior of the system which is built over the COTS components. Our proposal is a design method which ensures correction of COTS-based designs. This method uses in synergy a number of design techniques and tools. It starts from modeling of the COTS components which are stored in a generic COTS library, and ends with a design of the global control-command system, verified to be free of errors and ready to be implemented over a hardware chip such as an ASIC or an FPGA "Field Programmable Gate Array". The designer starts by modeling the temporal and logical local preconditions and postconditions of each COTS component, then the global pre/post conditions of the assembly which are not necessary a simple combination of local properties. He models also a list of properties that must be satisfied by the assembly. Any violation of these properties is defined as a design error. Then, by using the model checking approach the model of the assembly is verified against the predefined local and global properties. Some design errors can be corrected automatically through the Discrete Controller Synthesis method (DCS), others however must be manually corrected. After the correction step, the controlled control-command system is verified. Finally a global simulation step is proposed in order to perform a system-level verification beyond the capabilities of available formal tools. A human intellectual intervention in this design method appears is the intermediate step between detecting the errors and correcting them automatically. The model checking technique can only discover the errors and provide a counterexample which indicates where and how a property was violated, however, it leaves the correction task to the designer. On the other hand, DCS can correct errors by generating a “correct-by-construction” patch which controls the bugged component by assigning a subset of its inputs, designated as “controllable”. Despite its obvious advantages, the brute force application of this operation is completely unnatural to embedded designers. We propose to use the model-checking counterexample as a hint for guiding the application of DCS. Thus, our study combines three design techniques: the formal verification, the discrete controller synthesis and simulation, in order to provide a system safe by construction with the minimum manual interaction, to avoid making human mistakes in the design. We mention the advantages of each technique and argue its disadvantages and explain how each one is necessary for the others to provide an integrated work. We apply the method on two different systems, one concerns transferring data from senders to receivers through FIFO unit, the other is controlcommand system of a train passengers’ access.
Résumé Le travail présenté dans ce mémoire concerne une méthode de conception sûre de systèmes de contrôle-commande matériels embarqués constitués à base des composants sur étager (COTS). Un COTS est un composant matériel ou logiciel générique qui est naturellement conçu pour être réutilisable et cela se traduit par une forme de flexibilité dans la mise en oeuve de sa fonctionnalité : en clair, une même fonction peut être réalisée par un ensemble (potentiellement infini) de scénarios différents, tous réalisables par le COTS. Par ailleurs, comme les COTS sont souvent conçus séparément, leur interconnexion peut engendrer, de par cette flexibilité inhérente, des situations non désirées, liées à la nouvelle exigence fonctionnelle ciblée. Ces situations se traduisent par des états à éviter sous peine d’effectuer des actions de contrôle commande incorrectes voire dangereuses. L’intégration des COTS dans le processus de conception des systèmes matériels réduit le temps de conception et permet d’utiliser des composants génériques existant sur le marché. On assemble des COTS pour obtenir des nouvelles fonctions, plus complexes. La démarche d’assemblage de composants se heurte cependant à un dilemme entre généricité, en vue d’une réutilisation la plus large possible, et spécialisation en lien avec un besoin de contrôle commande particulier. La complexité grandissante des fonctions implémentées fait que ces situations sont très difficiles à anticiper d’une part, et encore plus difficiles à éviter par un codage correct. Réaliser manuellement une fonction composite correcte sur un système de taille industrielle, s’avère être très coûteuse. Elle nécessite une connaissance approfondie du comportement des COTS assemblés. Or cette connaissance est souvent manquante, vu qu’il s’agit de composants acquis, ou développés par un tiers, et dont la documentation porte sur la description de leur fonction et non sur sa mise en IJuvre. Par ailleurs, il arrive souvent que la correction manuelle d’une faute engendre une ou plusieurs autres fautes, provoquant un cercle vicieux difficile à maîtriser. En plus, le fait de modifier le code d’un composant diminue l’avantage lié à sa réutilisation. C’est dans ce contexte que nous proposons l’utilisation de la technique de synthèse du contrôleur discret (SCD) pour générer automatiquement du code de contrôle commande correct par construction. Cette technique produit des composants, nommés contrôleurs, qui agissent en contraignant le comportement d’un (ou d’un assemblage de) COTS afin de garantir si possible la satisfaction d’une exigence fonctionnelle. La méthode que nous proposons possède plusieurs étapes de conception. La première étape concerne la formalisation des COTS et des propriété de sûreté et de vivacité (P) en modèles automate à états et/ou en logique temporelle. L’étape suivante concerne la vérification formelle du modèle d’un(des) COTS pour l’ensemble des propriétés (P). Cette étape découvrir les états de violation des propriétés (P) appelés états d’erreur. La troisième étape concerne la correction automatique des erreurs détectées en utilisant la technique SCD. Dans cette étape génère on génère un composant correcteur qui sera assemblé au(x) COTS original(aux) pour que leur comportement général respecte les propriétés souhaitées. L’étape suivante concerne la vérification du système contrôlé pour un ensemble de propriétés de vivacité pour assurer la passivité du contrôleur et la vivacité du système. En fin, une étape de simulation est proposée pour observer le comportement du système pour quelque scénarios intéressent par rapport à son implémentation finale. Pour montrer l’applicabilité de la méthode proposée, et sa faculté à être utilisée en milieu industriel, nous l’utilisons sur un exemple de système de contrôle-commande de train.
Fichier principal
Vignette du fichier
Thesis.pdf (3 Mo) Télécharger le fichier
Thesis_sHajjar_V_finale.pdf (3.02 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01079889 , version 1 (04-11-2014)

Identifiants

  • HAL Id : tel-01079889 , version 1

Citer

S. Hajjar. Safe Design Method of COTS based embedded systems based on COTS. Automatic Control Engineering. INSA de Lyon, 2013. English. ⟨NNT : ⟩. ⟨tel-01079889⟩
166 Consultations
205 Téléchargements

Partager

Gmail Facebook X LinkedIn More