Nouvelles technologies pour automatiser le développement



Documents pareils
1 JBoss Entreprise Middleware

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

La solution pour gérer vos connaissances techniques et scientifiques

Business Process Modeling (BPM)

GL Le Génie Logiciel

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Mercredi 15 Janvier 2014

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

Chapitre 1 : Introduction aux bases de données

Qu'est-ce que le BPM?

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

Chapitre I : le langage UML et le processus unifié

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

PROSOP : un système de gestion de bases de données prosopographiques

SITE WEB E-COMMERCE ET VENTE A DISTANCE

M Études et développement informatique

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

LICENCE : INFORMATIQUE GENERALE

Introduction à la conception de systèmes d information

Annexe : La Programmation Informatique

Introduction aux Bases de Données Relationnelles Conclusion - 1

Notre Catalogue des Formations IT / 2015

M Études et développement informatique

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Oracle WebLogic Server Standard Edition

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Présentation du Programme Régional de Formations Qualifiantes

WEBSPHERE & RATIONAL. Jacques Rage

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Modelio by Modeliosoft

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

C3S : besoins fonctionnels et Management UNIS : technologies de l information ACSSI : intégration de solutions

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

Description de la formation

Nouvelles Plateformes Technologiques

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

molis result portal Description fonctionnelle La structure système Configuration système requise Architecture du système

Éléments de programmation et introduction à Java

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

Refonte front-office / back-office - Architecture & Conception -

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Architectures d'intégration de données

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

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

La reconquête de vos marges de manœuvre

Bénéficiez d'un large choix d'applications novatrices et éprouvées basées sur les systèmes d'exploitation i5/os, Linux, AIX 5L et Microsoft Windows.

Développement et applications de la base de données terminologiques de Matra Marconi Space

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

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

Module BD et sites WEB

Concepteur Développeur Informatique

GPC Computer Science

Mettez les évolutions technologiques au service de vos objectifs métier

Le génie logiciel. maintenance de logiciels.

Résultats de l Observatoire 2013 Etats des Lieux de l Open Source en France réalisé en décembre 2012

Évaluation et implémentation des langages

Cadre formel pour la modélisation de la gestion des processus métier par une équipe médicale interdisciplinaire

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

RTDS G3. Emmanuel Gaudin

M Études et développement null informatique. R i. Appellations. Analyste cogniticien / cogniticienne informatique

Expert technique J2EE

Pilot4IT Tableaux de Bord Agréger et consolider l ensemble de vos indicateurs dans un même portail.

Configuration Interface for MEssage ROuting

Qu est ce que Visual Guard. Authentification Vérifier l identité d un utilisateur

Enterprise Intégration

PHP et LeMonde.fr : passé, présent et avenir Olivier Grange-Labat <grange@lemonde.fr>

7 villa de la citadelle Né le 13 mai Arcueil Nationalité : Française. Développeur Web JEE COMPÉTENCES

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

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

L Information : Un des facteurs sinon le facteur clé de différenciation des entreprises et des organisations

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

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

Programmation Web. Introduction

Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE VINCENNES

Offres de stages 2011/2012

Utilisation d'outils de WebMapping OpenSource dans une collectivité territoriale Communauté de Communes de l'agglomération Saint-Loise (CCASL)

Catalogue des Formations Techniques

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

Visual Paradigm Contraintes inter-associations

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Ingénieur Développement Nouvelles Technologies

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Devenez un véritable développeur web en 3 mois!

Analyse,, Conception des Systèmes Informatiques

Accélérez la transition vers le cloud

Stages ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Accenture Claim Components. Accéder à la haute performance dans la gestion des sinistres

L'automatisation open source pour SI complexes

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Communiqué de Lancement

Master Informatique Aix-Marseille Université

Formation en Logiciels Libres. Fiche d inscription

Conception, architecture et urbanisation des systèmes d information

LOCAL TRUST Charte Open-Source

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

Transcription:

Nouvelles technologies pour automatiser le développement Déductions J.M. Vanel - 2009-05 Appliquer l'intelligence artificielle au génie logiciel Modélisation, moteurs de règles Multi-modèles, multi-plateformes Ergonomie et logique

Vision Appliquer l'intelligence Artificielle au développement logiciel «Model once, run everywhere» «logiciel durable» Réduire la fracture des plateformes et des langages Les infrastructures ne sont que des commodités, qui doivent être interchangeables

Objectif à long terme Augmenter la flexibilité des logiciels Diminuer les coûts de développement Maîtriser le développement logiciel Améliorer l'ergonomie

Le besoin des clients Vous développez des logiciels spécifiques, Essentiels pour le service offert Besoin de réactivité Impossible de sous-traiter Ne pas être lié à une architecture technique Maîtrise et traçabilité dans la chaîne de production

Développement Logiciel: le constat coûteux, d'une façon non prévisible non flexible non réutilisable les modèles et règles métier sont cachés parmi le code d'infrastructure non traçable: spécifications & implémentations non reliées non amical pour l'utilisateur Non!

Notre réponse aux besoins des clients Basée sur des modèles précis du métier (ontologies et règles) Indépendante d'une architecture technique Utilise des techniques éprouvées de l'intelligence Artificielle: systèmes experts, logique de description

Notre réponse aux besoins: outils Environnement de développement à base de règles (EulerGUI) 3 moteurs d'inférence (Java-Drools, Prolog, Python-CWM) lit des modèles métiers dans plusieurs formats : UML, OWL, RDF(S), SQL, ecore Exemple d'utilisation: générateur de formulaires Règles logiques inhérentes ==> ergonomie supérieure

Moteurs de règles: avantages Une règle isolée a un sens Le moteur enchaîne les règles, pas le programmeur + efficace que la programmation classique Capture bien l'expertise métier Traduisible depuis et vers le langage naturel Les «systèmes experts «ont fait leurs preuves

Règles: exemples S'il y a une commande, il y a une demande de paiement associée : {?C a Order } => {?C haspaymentrequest?pr }. Si le porteur a eu un incident de paiement, alors la commande est annulée: {?C hasholder?h.?h haspaymentincident?pi } => {?C hasstatus cancelled }.

Règles: exemples 2 If one customer has Ordered items in same Domain but different Category than the last items, propose this different Category to customer: {?CUSTOMER :hasordereditem?item.?item :domain?domain.?item :category?category.?item2 :belongsto :lastitems.?item2 :domain?domain.?item2 :category?category2.?category2 log:notequalto?category. } => { :proposal :category?category2 }.

Modélisation: pourquoi? Si on y réfléchit, une application ce n'est que: un modèle de données, des règles (validation, présentation, formulaires,... ), et de l'infrastructure (Web, IHM, bases de données,...) Mais couramment on aboutit à un code source où tout cela est mélangé ==> maintenabilité et réutilisabilité faibles

Analyse de coûts Coûts cachés: plus de 50% du coût logiciel est en maintenance Délais longs: le «time to market» est pourtant essentiel Rigidités : ajouter des fonctionnalités ou changer de plateforme sont difficiles ==> on fait de nouveaux développements Interopérabilité difficile entre logiciels ==> on ressaisit des données services informatiques liés à la TMA en France en 2008 : 2 milliards ; SOA : 700 millions

Points forts et avantages «Model once, run everywhere» «logiciel durable» Les infrastructures ne sont que des commodités, qui doivent être interchangeables Open Source Basé sur des standards reconnus : RDF, OWL, N3, Drools UML, ecore, SQL lus en entrée

Modélisation facilitée UML textuel Person< ---Customer---Buying< ---ServiceBuying < ---MerchandiseBuying HelpRequest-----------Buying date: Date explanation: String

Modélisation facilitée Anglais contrôlé Every card is a means of a payment. Le modèle formel est récupéré à partir de la phrase: Card --- > MeansOfPayment

Le flux d'information (vu par le concepteur) Réutiliser la technologie existante Déductions Application Abstraite Plateforme Concrète Swing eclipse PHP.Net Modèle métier UML POJO SQL RDFS, OWL Règles N3 SWRL Rewerse Prolog Drools JDBC Sesame Web Services C embarqué

Cohérence et réutilisation Réutiliser les modèles existants Modèle métier Règles Déductions Extraction, particularisation Application 1 Java Swing MySQL Application 2 PHP MySQL Application 3 Expose / appelle Services Web

Générateur de formulaire Les techniques courantes des générateurs d'application sont limitées: Générateur X Couteux en technicité Formats spécifiques ou propriétaires en entrée plateforme spécifique en sortie Coûts de licence Déductions Permet de générer 100% d'une application à partir du modèle et des règles S'appuie sur une modélisation riche, mais standard : OWL du W3C Conception multi-plateforme Open Source OWL est mieux adapté qu'uml pour modéliser les concepts métier OWL est basé sur la logique de description

Le Web Sémantique Fondement solide pour les modèles métier Standards d'échange: RDF, OWL, N3 Milliers de modèles disponibles sur plusieurs moteurs de recherche : Swoogle Au contraire UML est complexe, peu interopérable, sans modèles disponibles Le WS est pensé pour exposer des données riches sur le Web; nous le réutilisons comme socle pour l'ingénierie du logiciel

Problèmes avec UML Modélisation par et pour les développeurs Cependant le rapport entre un modèle UML et le code source est complexe Il existe des variantes plus ou moins proches de la programmation Certaines notations déterminent directement le source, d'autres sont descriptives L'OMG a toujours mal promu ses technologies

Ouvrir l'open Source Des milliers d'applications et de composants disponibles, mais... Pour en intégrer un, il faut souvent des jours de lecture de code; Déductions vise à formaliser l'interface entre un composant et l'application, et à automatiser l'intégration

Mesures à prendre Impliquer la direction Recenser, améliorer, créer des modèles Utiliser toutes les sources, même textuelles Expliciter les règles : niveaux générique, entreprise, applicatif Formation sur la modélisation, les technologies basées sur les règles Choisir un projet pilote pour commencer avec la technologie «Déductions»