Cours DESS Nantes 04 Décembre 2002 La méthode B et l’ingénierie Système Réponse à un appel d’offre : étude de cas Cours DESS Nantes 04 Décembre 2002 Didier ESSAME
Agenda Rappels Construction de modèles B Système Conclusion Ingénierie système Guide méthodologique : B Système approche Siemens Construction de modèles B Système Concepts de base Principes de base Spécification générale formelle Spécification détaillée formelle Conclusion
Ingénierie Système : Besoins & Exigences Espace du problème Espace de la solution Client Utilisateur Proposition Exigences de référence Concepteur Expert métier Concepteur Expert métier Appel d’offre Cahier des charges Besoin Proposition Exigences de référence Spécifications Exigences Induites Pré-étude Etude Système
Ingénierie Système : Contraintes industrielles Exigences pour B Système Rentabilité Utilisation systématique Cycle de vie système bien défini S’intégrer au cycle de vie Découpage des tâches d’ingénierie Maintenir la répartition des tâches Hétérogénéité des compétences Ne pas exclure les non spécialistes Documentation Pas de rupture documentaire Guide méthodologique
B Système : Résultats du projet PREDIT Définition et analyse des besoins Processus Définition des exigences Analyse des exigences Guide Méthodologique Activités Techniques Formalisation des données Construction en B d ’un modèle de données Formalisation des besoins Construction en B d’une spécification générale formelle Formalisation des exigences Construction en B d’une spécification détaillée formelle Formalisation des spécifications fonctionnelles système Transcription informelle d’une spécification détaillée formelle
Modèles B Système : Concepts de base Flux d ’observation Environnement Système de Commande Flux de commande Espaces de référence Environnement Observation Commande
Modèles B Système : Principes de base 1 Organisation du modèle sur la base des espaces de référence 2 Les données d’un espace de référence ne peuvent être modifiées que dans cet espace de référence 3 Autonomie des espaces de références
Modèle B Système : Principes d’architecture Spécification Générale Formelle 1 Formaliser en B les données des espaces de référence 2 Formaliser en B les exigences de référence 3 Formaliser en B les exigences induites 4 Vérifier par la preuve que les exigences induites établissent les exigences de référence Spécification Détaillée Formelle 1 Raffiner la spécification générale formelle 2 Allouer fonctionnellement les exigences 3 Spécifier les événements 4 Vérifier par la preuve que les actions des événements ne contredisent pas les exigences
Construction d’une spécification générale form. Principes de base sys_main_simu.mch Séquenceur du système sys_main_simu_r.ref INCLUDES sys_env_simu.mch SEES sys_env_obs.mch SEES sys_env_ctrl.mch Séquenceur de l ’environnement Séquenceur de l’espace d’observation Séquenceur de l’espace de commande Données de l’environnement Exigences de références Données d’observation Exigences induites d’observation Données de commande Exigences induites de commande
Spécification générale formelle : Exemple 1 Extrait du cahier des charges Le titulaire devra fournir un système de signalisation permettant de garantir la sécurité de la circulation des trains sur l’ensemble de notre réseau, y compris dans les aires de garage 2 Le besoin Le système de signalisation doit permettre de garantir la sécurité de la circulation des trains sur l’ensemble du réseau 3 Analyse du besoin : Exigences de référence Expertise métier zone Éviter les collisions Le système de signalisation doit permettre de garantir qu’un train au plus occupe une zone Éviter les déraillements Le système de signalisation doit assurer l’immobilité des appareils de voie dans les zones occupées par un train
Spécification générale formelle : Exemple 4 Formalisation des exigences de référence Données dma_trains : ensemble des trains dma_zones : ensemble des zones Variables trains_zone : ensemble des couples (zone, train) tels que le train train occupe totalement ou partiellement la zone zone. Formalisation de l’évitement des collisions trains_zone : dma_zone+->dma_trains
Spécification générale formelle : Exemple 5 Analyse des exigences de référence : Exigences induites Expertise métier Mise en place d’un mécanisme d’autorisation pour entrer dans les zones Décisions D1 A chaque instant un train au plus doit avoir l’autorisation d ’entrer dans une zone D2 Un train ne doit être autorisé à entrer dans une zone que si celle-ci n ’est pas vue occupée Hypothèses H1 Toute zone effectivement occupée par un train est supposée vue occupée par le système de signalisation H2 Les trains respectent les interdictions qui leurs sont fournies par le système de signalisation Assertions A1 Une zone effectivement occupée par un train ne peut faire l ’objet d ’une autorisation d ’entrée
Spécification générale formelle : Exemple 6 Formalisation des exigences de induites Variables aut_entree_zone : ensemble des couples (zone, train) tels que le train train est autorisé à entrer dans la zone zone. zone_vues_occupees : ensemble zones qui sont vues occupées par le système de signalisation. Formalisation des décisions D1 aut_entree_zone : dma_zones+->dma_trains D2 dom(aut_entree_zone)/\zones_vues_occupees={} Formalisation des hypothèses H1 dom(trains_zone)<:zones_vues_occupees Formalisation de l’assertion A1 dom(trains_zone)/\dom(aut_entree_zone)={}
Spécification générale formelle : Exemple sys_main_simu.mch sys_main_simu_r.ref INCLUDES SEES sys_env_ctrl.mch sys_env_obs.mch sys_env_simu.mch MACHINE sys_env_simu SEES dma ABSTRACT_VARIABLES trains_zone INVARIANT trains_zone:dma_zones+->dma_trains /*P1 */ INITIALISATION trains_zone:={} OPERATIONS simuler_evolution_env= BEGIN trains_zone::dma_zones+->dma_trains END MACHINE sys_env_obs SEES dma, sys_env_simu ABSTRACT_VARIABLES z_vues_occupees INVARIANT z_vues_occupees<:dma_zones INITIALISATION z_vues_occupees:=dma_zones OPERATIONS observer_env= BEGIN z_vues_occupees:(z_vues_occupees<:dma_zones & dom(trains_zone)<:z_vues_occupees) /* H1 */ END MACHINE sys_env_ctrl SEES dma, sys_env_obs ABSTRACT_VARIABLES aut_entree_zone INVARIANT /* D1 */ aut_entree_zone:dma_zones+->dma_trains INITIALISATION aut_entree_zone:={} OPERATIONS controler_env= BEGIN aut_entree_zone:(aut_entree_zone:dma_zones+->dma_trains & z_vues_occupees/\dom(aut_entree_zone)={}) /* D2*/ END
Construction d’une spécification détaillée formelle Principes de base sys_main_simu.mch sys_main_simu_r.ref INCLUDES sys_env_simu.mch SEES sys_env_obs.mch SEES sys_env_ctrl.mch sys_env_simu_r.ref sys_env_obs_r.ref sys_env_ctrl_r.ref env_fonct_i.mch env_fonct_j.mch obs_fonct_a.mch obs_fonct_b.mch ctrl_fonct_1.mch ctrl_fonct_2.mch
Spécification détaillée formelle : Exemple sys_main_simu.mch sys_main_simu_r.ref INCLUDES sys_env_simu.mch SEES sys_env_obs.mch SEES sys_env_ctrl.mch sys_env_simu_r.ref sys_env_obs_r.ref sys_env_ctrl_r.ref env_occupation_zone.mch obs_zones_occupees.mch ctrl_autorisations.mch env_occupation_zone_r.ref evt_zone_plus_vue_occupee zones_vues_occupees evt_zone_vue_occuppee Variables Événements ax_trains_zone evt_aut_entree_zone evt_retrait_aut_entree_zone aut_entree_zone Variables Événements ax_zones_vues_occupees evt_train_occupe_zone trains_zone evt_train_libere_zone Variables Événements ax_aut_entree_zone
Conclusion Guide méthodologique Approche systématique Identification claire des processus et des activités de l’ingénierie système où le B système peut être utilisé Description des techniques et des activités Approche systématique Simplicité d’utilisation Pas de rupture documentaire
Processus de définition et d’analyse des besoins
Processus de définition des exigences
Formalisation des données
Formalisation des besoins
Formalisation des exigences
Formalisation des Spécifications Fonctionnelles
Définitions (1) Activité Livrable Processus Techniques Séquence de tâches et d’actions conduisant éventuellement à la production d’un livrable et subdivisée généralement en étapes Livrable Sortie principale d ’une activité ; il peut s ’agir d’un document, d’un modèle B, etc. Processus Séquence d ’activités, de méthodes, de techniques et de pratique utilisées dans un but précis Techniques Spécification plus ou moins détaillée d ’une théorie ou d ’un principe à utiliser pour produire un livrable
Définitions (2) Besoin Exigence Exigences de référence Vision du système du point de vue strictement utilisateur. Il exprime une caractéristique du système dont doivent jouir les utilisateurs B1 Le système de signalisation doit permettre de garantir la sécurité de la circulation des trains Exigence Vision du système du point de vue des concepteurs (du point de vue technique). Exigences de référence Exigence qui découlent de l ’expression du besoin en des termes techniques qui prennent en compte l’expertise du métier ER_1 Le système de signalisation doit permettre de garantir qu’un train au plus occupe une zone Le système de signalisation doit assurer l ’immobilité des appareils de voie dans les zones occupées par un train ER_1 Exigences induites Exigences qui découle de l ’analyse des exigences de référence. Elles incluent les décisions et les hypothèses que prennent les concepteurs pour répondre aux « besoins » exprimés à travers les exigences de référence
Ingénierie système : Système Concepts de base