RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com



Documents pareils
Analyse,, Conception des Systèmes Informatiques

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

IFT2255 : Génie logiciel

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

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

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

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

INDUSTRIALISATION ET RATIONALISATION

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

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)

IBM Power Systems - IBM i IBM Rational

Synergies entre Artisan Studio et outils PLM

Université de Bangui. Modélisons en UML

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Évaluation et implémentation des langages

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

Modelio by Modeliosoft

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

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

Visual Paradigm Contraintes inter-associations

DotNet. Plan. Les outils de développement

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

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

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

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

Annexe : La Programmation Informatique

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Cours en ligne Développement Java pour le web

Architecture Orientée Service, JSON et API REST

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

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

Christian Soutou UML 2. pour les. bases de données. Avec 20 exercices corrigés. Groupe Eyrolles, 2007, ISBN :

Chapitre I : le langage UML et le processus unifié

Information utiles. webpage : Google+ : digiusto/

Génie Logiciel Avancé Cours 3 Le modèle à objets

1.2 Genèse. 1.3 Version de Designer utilisée

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

Module BD et sites WEB

Éléments de programmation et introduction à Java

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

Livre Blanc WebSphere Transcoding Publisher

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Diagrammes de Package, de déploiement et de composants UML

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

< Atelier 1 /> Démarrer une application web

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

Description de la formation

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

W4 - Workflow La base des applications agiles

Projet Active Object

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

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

SECTION 5 BANQUE DE PROJETS

Projet de développement

RAPPORT DE CONCEPTION UML :

République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid Tlemcen Faculté des Sciences Département d Informatique

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

PostgreSQL, le cœur d un système critique

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

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

Burckel Thomas. Formation. Compétences

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

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

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

SQL Server Installation Center et SQL Server Management Studio

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

PICRIS. Le progiciel des métiers de la Retraite, de la Santé, de la Prévoyance et du Social

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

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

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

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

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

Le moteur de workflow JBPM

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Business Process Modeling (BPM)

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

Mercredi 15 Janvier 2014

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

TP1 : Initiation à Java et Eclipse

Sélection du contrôleur

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Programmation Web. Madalina Croitoru IUT Montpellier

Business Process Execution Language

Cours STIM P8 TD 1 Génie Logiciel

Catalogue des stages Ercom 2013

Tutoriel code::blocks

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

Introduction à la modélisation

Patrons de Conception (Design Patterns)

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Le génie logiciel. maintenance de logiciels.

Nouveautés Ignition v7.7

les techniques d'extraction, les formulaires et intégration dans un site WEB

Transcription:

RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service, Tests, Produits. Distributeurs: Asie, Europe, Etats Unis.

Partenaires

Références PragmaDev 1 200 200 1 000 000 800 800 Sales Sales K K 600 600 400 400 200 200 -- 2002 2002 2003 2003 2004 2004 Year Year 2005 2005 2006 2006 2007 2007 Ecoles : ENST, Polytechnica Bucarest, Telecom Beijing,

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

Segment cible Toutes les applications s appuyant sur un Real Time Operating System (RTOS) Décomposition en tâches s exécutant en parallèle Communication par : échange de messages interruptions appel de fonctions sémaphores Application Module 1 Module 2 Module 3 Message queue driver RTOS hardware driver Sémaphore

Etat de l art Le langage C est prédominant (75%) L assembleur en baisse mais présent (40%) Le C++ fait son apparition (40%) Le Java est anecdotique (moins de 5%) 90% des développements temps réel n utilisent aucun outil graphique

Tendance La lisibilité des systèmes devient critique du fait de la complexité des applications et de la dispersion des équipes, Maîtrise de la productivité, Amélioration de la qualité, Le réutilisation de modules est primordiale, du code existant, du code futur.

Les langages existants Le SDL (Specification and Description Language) et le MSC (Message Sequence Chart) sont des standards de l ITU (International Telecommunication Union). Orienté temps réel événementiel, Utilisé par l ETSI pour décrire les protocoles de télécommunications, Graphique, Formel (complet et non ambigu), i.e. permet de coder et de simuler l exécution du système, Orienté objet (permet la réutilisation de composants logiciels), L UML (Unified Modeling Language) standardisé par l OMG (Object Management Group). Adapté à tous types de systèmes, Graphique, Utilisé à très haut niveau d abstraction, Informel, i.e. nécessite un autre langage pour le codage (C, C++, Java, SDL), Très orienté objet.

Positionnement des langages Analyse UML Spécification SDL Conception C++ Java CC SQL IHM Web Temps réel Temps réel BdD

Pas de spécificité temps réel UML Pas de représentation UML des concepts temps réel classiques: tâches, sémaphore, message, timer UML est très adapté au C++ pour représenter des données statiques. Deployment diagram idéal pour les systèmes distribués. Modèle d analyse est dé-corrélé du modèle de codage.

Quid d UML2.0? L objectif d UML 2.0 est le support du MDA (Model Driven Architecture) MDA a pour objectif de permettre la définition de profils Pas de profil au moment de la standardisation A cause des profils, les modèles UML 2.0 ne sont pas portables entre outils et intègrent des notations spécifiques

La tendance UML 2.0 Le Sequence Diagram d UML 2.0 reprend la plupart des caractéristiques du Message Sequence Chart du SDL Le diagramme de structure UML 2.0 est l équivalent du diagramme d architecture SDL Les nouveautés viennent du SDL, L ITU a standardisé un profil UML 2.0 basé sur le SDL pour les télécommunications (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).

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 graphiques du SDL (architecture, communication, comportement). Utiliser la syntaxe et les types de données du langage C à la place de ceux du SDL. Supprimer les concepts SDL sans réalité technique d implémentation. Compléter les concepts SDL pour coller à la réalité (interruptions, sémaphores). Analyse Spécification Conception UML SDL C C++ Temps réel SDL-RT

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.

Relations entre les classes statiques et dynamiques SDL-RT: 6 vues statiques

SDL-RT: 6 vues statiques Architecture et Communication

SDL-RT: 6 vues statiques Vues Comportement et Données Process A

Autre exemple de comportement SDL-RT: 6 vues statiques Prise de sémaphore Démarrage d un timer Le timer «claque» Le sémaphore est libéré Etat intermédiaire

Vue déploiement physique SDL-RT: 6 vues statiques

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

Orientation objet Définition de classes dans des packages sur des concepts temps réel pertinents: Block Process Transition Déclaration de données locales Propriétés objets applicables complètes: Héritage Spécialisation Encapsulation des données Classes abstraites

State 1 Orientation objet - exemple mypackage mygate [Input 1, Input 2] mygate [Input 1] State 1 Input 1 Input 2 Input 1 INHERITS MySuperClass; Action 1 Action 2 Action 1 State 1 = State 2 State 3 State 2 Input 2 An instance of MyClass MySuperClass Action 2 mygate [Input 2] State 3 MyClass

State 1 Orientation objet - exemple mypackage INHERITS MySuperClass; mygate [Input 1, Input 2] mygate [Input 1] State 1 Input 1 Input 1 Action 1 State 1 = Action 1 Action 2 Input 1 State 2 State 2 MySuperClass Action 2 An instance of MyClass mygate [Input 2] MyClass

Orientation objet exemple suite L instance de la classe s intègre dans l architecture du système USE mypackage; canal1 canal3 Process B canal4 [Signal3] [Signal1, Signal2] [Signal8] [Input 1, Input 2] mygate Process A: MyClass

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 Conception C C++

RTDS: les langages supportés UML Edition Génération de squelettes C++ SDL Z.100 Edition Vérification syntaxique et sémantique Simulation Génération de code Débogue graphique SDL-RT Edition Vérification syntaxique et sémantique Génération de code Débogue graphique

Real Time Developer Studio

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.

SDL Z.100: Le simulateur Véritable débogueur SDL Z.100: 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.

SDL-RT: la génération de code Classes statiques en squelette C++. Classes dynamique en C. Le code est lisible. Profils de génération avec wizard Le code pour supporter les concepts SDL-RT intègre l adaptation des RTOS: VxWorks, OSE, CMX RTX, Nucleus, Posix, Win32, ThreadX, ou uitron est libre d utilisation, documenté pour personnalisation.

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

Véritable débogueur SDL-RT: SDL-RT: Le débogueur Points d arrêts et pas à pas sur les diagrammes SDL-RT et/ou dans les fichiers C, Traces dynamiques MSC, Connexion d une IHM ou d un outil externe par socket.

SDL-RT: Facilités de débogue Switch entre Source SDL-RT Code C 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 de code Vue graphique de la couverture de code Possibilité de merge

Test Generation de process de test à partir de la spécification (H)MSC

Méthodologie UML MSC req. MSC Diff MSC trace Test generator SDL / SDL-RT specification SDL / SDL-RT Test process : RTDS : modèle SDL-RT design

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

Vérification de modèles SDL Partenariat avec Verimag sur la technologie IF. Simulation exhaustive, Observateurs, Génération de tests. Fonctionnalité RTDS Export IF, Exécute un script, Trace MSC.

Mise en oeuvre SDL translate to file IF Observer file executes IF compiler executable state file transition file error file Python script MSC socket Resulting scenario RTDS Script file

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 Fonctionnalités Langage graphique, Orienté objet, Continuité avec les techniques actuelles, Mise au point de l application plus tôt, Validation grâce à une interface de prototypage, Réduction des temps de développement de 35% à 50%, A un prix compétitif. Meilleure qualité, Valeur ajoutée Code lisible et auto-documenté, Réutilisation de composants logiciels, Prise en main immédiate, Validation des besoins, Réduction du temps de mise sur le marché, Amortissement en 6 mois.

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.