Real Time Developer Studio. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com



Documents pareils
RTDS G3. Emmanuel Gaudin

Synergies entre Artisan Studio et outils PLM

Extensions à la formation. Laurent Pérochon, avril 2008, RMT Modelia, modélisation conceptuelle, formation UML, INRA Castanet Tolosan

Analyse,, Conception des Systèmes Informatiques

Vérifier la qualité de vos applications logicielle de manière continue

Modelio by Modeliosoft

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

GenDbg : un débogueur générique. Didier Eymery Jean-Marie Borello Jean-Marie Fraygefond Odile Eymery Philippe Bion

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Visual Paradigm Contraintes inter-associations

Générer du code à partir d une description de haut niveau

Génie logiciel (Un aperçu)

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Intervenants. Thomas d'erceville Project Manager. Christian NGUYEN Practice Manager IT Quality

11 Février 2014 Paris nidays.fr. ni.com

IFT2255 : Génie logiciel

Le Guide Pratique des Processus Métiers

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Introduction à la modélisation

DotNet. Plan. Les outils de développement

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Évaluation et implémentation des langages

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Valorisez vos actifs logiciels avec Rational Asset Manager. Jean-Michel Athané, Certified IT Specialist IBM Rational Software

Eclipse Process Framework et Telelogic Harmony/ITSW

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

IBM Power Systems - IBM i IBM Rational

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Projet de développement

W4 - Workflow La base des applications agiles

Modélisation des interfaces matériel/logiciel

Éléments de programmation et introduction à Java

Nouveautés Ignition v7.7

Annexe : La Programmation Informatique

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Stage Ingénieur en développement logiciel/modélisation 3D

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Ingénierie des Modèles. Méta-modélisation

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i

Objecteering. La convergence SOA, UML2, BPMN, EA, pour le développement guidé par le modèle.

UML est-il soluble dans les méthodes agiles?

INDUSTRIALISATION ET RATIONALISATION

Tutoriel code::blocks

Développement d un interpréteur OCL pour une machine virtuelle UML.

S1 Boostez votre productivité avec la version 9 des solutions Rational pour IBM i

Conception, architecture et urbanisation des systèmes d information

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Comment travailler avec les logiciels Open Source

Burckel Thomas. Formation. Compétences

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Description de la formation

CC30 Certificat de compétence Conception, développement et animation de sites Web

SQL Server Installation Center et SQL Server Management Studio

GL Le Génie Logiciel

Mercredi 15 Janvier 2014

Problématiques de recherche. Figure Research Agenda for service-oriented computing

FORMATION TALEND. Page 1 sur 9

Introduction aux systèmes temps réel. Iulian Ober IRIT

Architecture client riche Evolution ou révolution? Thomas Coustenoble IBM Lotus Market Manager

NFP111 Systèmes et Applications Réparties

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

SECTION 5 BANQUE DE PROJETS

Processus d Informatisation

Introduction au projet ebxml. Alain Dechamps

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Module BD et sites WEB

THALES et le Logiciel Libre

Formations Solti 2013

Pierre De Dobbeleer. Spécialiste Project Management, Electronique, Réseaux et télécommunications

Introduction au temps réel

Architecture distribuée

La démarche MDA. Auteur : Projet ACCORD (Assemblage de composants par contrats en environnement ouvert et réparti)*

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

L art d ordonnancer. avec JobScheduler. François BAYART

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

DES SYSTÈMES D INFORMATION

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Vulgarisation Java EE Java EE, c est quoi?

Patrons de Conception (Design Patterns)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Offre Référentiel d échange

Catalogue des stages Ercom 2013

Logiciels et Systèmes Embarqués :

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Bertrand Cornanguer Sogeti

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Transcription:

Real Time Developer Studio Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

PragmaDev Dédiée au développement d un outil de modélisation pour le développement des systèmes communicants. TPE Française Bénéficiaire depuis 2006

Partenaires

Références Universités : ENST, Polytechnica Bucarest, Telecom Beijing Distributeurs: Amérique, Asie, Europe

Pérennité Droit d accès au code source en cas de défaillance: Economique Technique Stratégique Audit du code source Possibilité de reprise par un tiers Intégration continue

Philosophie Développer un outil basé sur les besoins des utilisateurs.

Segment cible Systèmes communicants (Event driven) Historiquement embarqué & temps réel Application Architecture en modules s exécutant en parallèle Communication Synchronisation Module 1 Module 2 Module 3 Message queue Sémaphore driver OS-RTOS-scheduler hardware driver

Un réel besoin Le logiciel double tous les deux ans. Le volume final rend extrêmement difficile de garantir le niveau de qualité et de test avec les process et les outils traditionnels. Ne pas oublier la règle des 1:10:100 Wind River Market Survey of Device Software Testing Trends and Quality Concerns in the Embedded Industry Juin 2010 Source: James Martin study

Un réel besoin de modélisation Se concentrer sur le Quoi plutôt que sur le Comment, Modéliser c est communiquer et documenter, La lisibilité des systèmes complexes devient critique: qui construirait une maison sans dessiner le moindre plan? Maîtrise de la productivité, Amélioration de la qualité.

Caractéristiques d un bon langage de modélisation Le modèle abstrait doit être indépendant de la plateforme d implémentation, Le modèle abstrait doit pouvoir être traduit sur une plateforme d implémentation, Pour cela on s appuie généralement sur une machine virtuelle qui offre: un certain nombre de services, une sémantique d action.

SDL UML Les langages existants Specification and Description Language is an ITU-T standard. Event oriented, Used by ETSI to standardize telecommunication protocols, Formal (complete and non-ambiguous). Unified Modeling Language is an OMG standard. Can be used to represent any type of systems, Informal. SysML System Modelling Language AADL Architecture Analysis Description Language MARTE profile Modeling and Analysis of Real-Time and Embedded systems Z.109 UML profile based on SDL Lustre / Esterel Synchronous programming languages for the development of complex reactive systems MATLAB MAtrix LABoratory Autosar AUTomotive Open System Architecture SART Structured Analysis for Real Time (obsolete)

Positionnement des langages Requirements Analysis Architecture SysML UML MARTE AADL SDL Matlab Vérification statique Specification Design Generic Generic HW/SW HW/SW Async La vérification dynamique est essentielle car les exigences sont dynamiques. Sync Vérification dynamique

Pas de spécificité temps réel UML UML1.x est trop générique pour décrire la dynamique du modèle, UML 2.x a introduit des profils spécifiques par domaine: Les outils ont implémenté des profils propriétaires, Les utilisateurs passent plus de temps à définir leur profil que leur système, Il existe un profil standard basé sur le SDL: Z.109.

Intérêts du SDL Les niveaux d abstraction graphiques du SDL (architecture, communication, comportement) apportent beaucoup aux équipes de développement pour représenter l aspect dynamique du système. Le SDL étant formel il est possible de simuler le comportement du système sur station de développement avec des outils de débogue graphiques. Le SDL étant formel on peut générer depuis la description SDL le code pour la cible. Le SDL est orienté objet et permet donc une réutilisation aisée de composants logiciels existants (les protocoles de télécommunication sont écrits en objet par l ETSI). SDL a les caractéristiques pour décrire un bon PIM.

Gains du SDL Des années de pratique ont permis de mesurer quantitativement les gains apportés par l utilisation du SDL Code C: 35 à 50 fautes par 1000 lignes Code SDL: 8 fautes par 1000 lignes Réduction globale du cycle de développement de l ordre de 35% Réduction de près de 50% dans la branche gauche du cycle en V Réduction moindre dans la branche droite du fait du décalage avec la réalité technique

Les problèmes d implémentation du SDL Tous les modules logiciels (RTOS, drivers) disponibles proposent des interfaces C ainsi que les modules existants au sein de l entreprise, Des concepts classiques dans le temps réel ne sont pas présents dans le SDL, La syntaxe SDL n est pas adaptée au codage. La réutilisation de composants logiciels existants est difficile, L interfaçage avec le C n est pas direct (driver ou RTOS), Les développeurs sont perdus, Le code généré est illisible,

La solution d implémentation: SDL-RT Utiliser les concepts UML à très haut niveau: analyse / expression des besoins. Conserver les niveaux d abstraction Analyse UML graphiques du SDL (architecture, communication, comportement). Utiliser la syntaxe et les types de Spécification SDL SDL-RT données du langage C à la place de ceux du SDL. Supprimer les concepts SDL sans réalité technique d implémentation. Conception C C++ Compléter les concepts SDL pour coller à la réalité (interruptions, Temps réel sémaphores).

SDL-RT SDL-RT est: Permet de généraliser l utilisation de SDL à toutes les applications temps réel s appuyant sur un RTOS, Lisible et basé sur un format de stockage textuel normalisé (XML), Proposé à l ITU pour intégration dans le SDL, Est un profil UML pour les applications temps réel.

SDL Specification and Description Language, standard de l ITU-T pour décrire les spécifications détaillées des protocoles afin d assurer l inter opérabilité des implémentations. Mis à jour tous les 4 ans depuis 1976. Version majeures: SDL 1988: Version de maturité SDL 1992: Introduction de l orientation objet SDL 2000: Alignement UML SDL 2010: Introduction de SDL-RT Conférence annuelle SDL Forum (http://www.sdl-forum.org/) SAM workshop (satellite event of Models) 11 outils commerciaux, 10 outils dans le domaine public. Technologie intégrée dans le framework TASTE de l ESA

Vues: Diagramme de classes Relations entre les classes statiques (C++) et Dynamiques (SDL)

Vues: Architecture et Communication

Vues: Comportement et Données Types de données abstraits en SDL. Types C/C++ en SDL-RT. Process A

Vues: Services du système d exploitation Prise de sémaphore Démarrage d un timer Le timer «claque» Le sémaphore est libéré Etat intermédiaire

Vues: Systèmes distribués Vue déploiement physique

SDL-RT: Vue graphique Librairie de composants Architecture du système Interfaces Déploiement de l application Concepts temps réel Points clés du code

SDL-RT MSC: une vue dynamique SDL-RT Message Sequence Chart Les lignes verticales représentent une tâche, l environnement ou un sémaphore, Les flèches représentent des échanges de messages, une manipulation de sémaphore ou de timer. Utilisations en amont et en aval: Spécification dynamique sous forme de scénario Trace d exécution

RTDS: les langages supportés Analyse UML Spécification SDL Z.100 SDL-RT TTCN-3 Conception C C++ Informel Formel Semi formel Testing

RTDS: les langages supportés Modélisation informelle pour l expressions des besoins en UML Edition Génération de squelettes C++ Modélisation semi-formelle pour la conception en SDL-RT Edition Vérification syntaxique et sémantique Génération de code Débogue graphique Modélisation formelle pour la spécification en SDL Z.100 Edition Vérification syntaxique et sémantique Simulation Verification Génération de code Débogue graphique

Outil: le Project manager Le «hub» de l outil: Organisation des fichiers (UML, SDL Z.100, SDL-RT, C, C++, H, traces et autres) en packages, Appel des éditeurs, du débogueur, et du générateur de code, Gestion des profils de génération de code.

La génération de documentation Publications logiques (état, transition, partition, diagramme) Commentaires précédent et suivant la publication Styles de paragraphes Styles de caractères Formats d exportation RTF OpenDocument HTML SGML Elements exportés Publications avec textes Entrées d index Entrée de table des matières

La génération de documentation Un document La documentation générée Une publication

Simulateur Véritable débogueur des modèles formels basé sur la sématique du langage Points d arrêts et pas à pas sur les diagrammes SDL, Opérateurs externes ou interactifs, Traces dynamiques MSC, Connexion d une IHM ou d un outil externe par socket.

La génération de code Classes statiques en squelette C++. Classes dynamique en C ou C++. Le code est lisible. Profils de génération avec wizard Le code généré à partir du modèle: intègre l adaptation des RTOS: VxWorks, OSE, OSE Epsilon, CMX RTX, Nucleus, Posix, Win32, ThreadX, ou uitron, propose un scheduler, est libre d utilisation, documenté pour personnalisation.

Architecture de débogue S appuie sur un débogueur C hôte ou sur cible pour débogue graphique. Modèle C code generator Generated C code compiler External C/C++ Binary Model editor RTOS cible MSC tracer Text editor Model debugger Real Time Developer Studio tools Third party tools Source code Binary code socket C debugger Tornado Tasking gdb XRAY Multi

S appuie sur la sémantique d exécution du processeur ou du RTOS. Le débogueur Points d arrêts et pas à pas sur les diagrammes et/ou dans les fichiers C, Traces dynamiques MSC, Interface de prototypage, Connexion d un outil externe par socket.

Garder le lien avec le modèle Switch entre Modèle source Code généré

Outil: les traces MSC Traces d exécutions: Etats, Evènements, Sémaphores, Timers. Filtrage du niveau de trace Affichage du temps système MSC Diff permet de vérifier: La conformité, La non-régression.

Couverture du modèle Vue graphique de la couverture du modèle Possibilité de merge

Interface de prototypage Connait les entrées et les sorties du modèle. Se connecte automatiquement au simulateur ou au débogueur.

Test Basé sur le standard international TTCN-3: Definition des types de données, Définition de Templates, Cas de Test, Control d Execution. Connection automatique au Simulateur: Points d arrêt dans le modèle ou la suite de test, Verdict apparait dans la trace d exécution.

Intégration continue Spécification Simulation Tests de Validation Conception Simulation Exécution Tests d intégration Implémentation Exécution Test unitaires

Vérification de propriétés Partenariat avec Verimag sur la technologie IF. Simulation exhaustive, Observateurs: Vérification de propriétés, Génération de tests. Fonctionnalité RTDS Export IF, Exécute un script, Trace MSC, Case de test TTCN.

Mise en oeuvre Modèle SDL translate to file IF Propriétés Observateur IF compiler executable executes State file Transition file Error file Cas de test Analyse TTCN MSC socket Python script Resulting scenario

Intégration dans le framework de l ESA ASN.1 AADL ASN.1 ASN.1 Matlab Encodeurs / Décodeurs RTDS Encodeurs / Décodeurs Scade Encodeurs / Décodeurs Ada Loi de contrôle Système réactif Loi de contrôle Générique

La gestion de projet Format de stockage textuel en XML permet une gestion de configuration aisée Exportation des diagrammes au format PNG, JPEG, PS, HTML, Publish and subscribe et génération de documentation RTF, OpenDocument, HTML, et SGML Informations de traçabilité et intégration de Reqtify Support des plateformes: Solaris, Windows, Linux. Licences flottantes

Conclusion Trois niveaux de modélisation: Informel, Semi-formel, Formel. Outils pour: Documenter, Simuler, Valider, Tester. Basé sur des standards internationaux.

Produit connexe: MSC Tracer Trace on-line ou off-line le comportement de la cible avec une représentation graphique basée sur des standards. Auto-documente les campagnes de test, Vérifie la non-régression, Connexion facile, Version gratuite.