La méthodologie MORSE F. Kordon, LIP6-SRC (UMR 7606)

Slides:



Advertisements
Présentations similaires
Département fédéral de lintérieur DFI Office fédéral de la statistique OFS Implementing the economic classification revision (NACE / ISIC) in the Business.
Advertisements

Practical Session – Defining Learning Outcomes
(Nom du fichier) - D1 - 01/03/2000 FTR&D/VERIMAG TAXYS : a tool for the Development and Verification of RT Systems a joint project between France Telecom.
Branche Développement Cnet La communication de ce document est soumise à autorisation du Cnet © France Télécom - (Nom du fichier) - D1 - 11/01/2014 Diffusion.
Thales Communications
1 La bibliométrie pour l'évaluation stratégique des institutions de recherche : usages et limites Indicators for strategic positioning of the research.
Environmental Data Warehouse Cemagref, UR TSCF, TR MOTIVE 2011 – projet Miriphyque.
Primary French PowerPoints What’s Your Name?.
Revenir aux basiques !. 1 Revenir aux basiques Processus Nécessité daméliorer la Maîtrise les Offres et Projets: lanalyse des causes racines montre un.
Inforoute Santé du Canada Les défis de linteropérabilité en e-santé Mike Sheridan, Chef de lexploitation 19 mai 2006.
Talking about yourself
OTB Analog module: Input configuration with TSX PREMIUM (TSXCPP110)
Les verbes en -er. chanter – to singtelephoner – to call danser – to dancetravailler – to work diner – to have dinnervoyager –to travel ecouter – to listen.
interaction in the .LRN platform
Smoking a regular verb cigar: the –er version The keys to putting together what you want to say!
Cliquez et modifiez le titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau 23/01/2014©
Tbilisi – November 27, 2007 FAO / EBRD COOPERATION PROGRAMME ______ PROTECTION OF GEORGIAN WINE APPELLATIONS.
RECOMMENDATIONS ON EXPORT MARKETING FOR GEORGIAN WINES Tbilisi – November 27, 2007.
Status report SOLEIL April 2008
Coopération/Distribution DEA Informatique Nancy. Content 4 Introduction - Overview 4 Coordination of virtual teams : –explicit interaction model –explicit.
Diatelic - An Intelligent TeleSurveillance System for Peritoneal Dialysis Laurent Romary Minit Gupta Loria Labs, Nancy.
TP2 ... MVC ? JList JLabel JSlider ImageLibrary Contrôleur Vue Modèle
Reading an analog clock
Université Des Sciences Et De La Technologie DOran Mohamed Boudiaf USTO République Algérienne Démocratique et Populaire Département de linformatique Projet.
Defence R&D Canada R et D pour la défense Canada Novel Concepts for the COP of the Future Denis Gouin Alexandre Bergeron-Guyard DRDC Valcartier.
C RIMINALITY I N F RANCE By Louis Lépinette. S TATISTICS Damage to goods Voluntary attempt to a persons physical integrity Financial fraud 1.
Click Cliquez. Welcome to the presentation of the new " S.E.R.T. VE Calculator " Bienvenue à la présentation du nouveau " S.E.R.T. VE Calculator " (S.
Role-play C On the first page, you will see a sample of the preparation material you will be given 10 minutes before your exam. On the second page, you.
The interrogative structure indicates that the speaker is searching for information In other words, we use the interrogative to ask questions.
Development and certification of Avionics Platforms on Multi-Core processors Marc GATTI – August 29th, 2013.
TM.
regarder écouter dormir jouer sortir finir
Defence Research and Development Canada Recherche et développement pour la défense Canada Canada 11-1.
How to solve biological problems with math Mars 2012.
Core Module 9 Family and Community Engagement Association des conseils scolaires des écoles publiques de lOntario (ACÉPO) Association franco-ontarienne.
TortoiseSVN N°. Subversion : pour quoi faire ? Avoir un espace de stockage commun – Tous les étudiants du SIGLIS ont un espace svn commun Partager vos.
Template v10 Vanessa Zahorian & Kristin Long in Divertimento N°15 - Photo (c) Erik Tomasson Marco Autili University of LAquila - ITALY From domain-centric.
PURCHASING PHASE REVIEW Cornerstones of Purchase baseline
Les choses que j aime Learning Objective: To know how to use j aime to talk about things I like to do.
Laboratoire de Bioinformatique des Génomes et des Réseaux Université Libre de Bruxelles, Belgique Introduction Statistics.
Contribution du projet PARIS Christian Pérez Réunion LEGO LIP, ENS Lyon 10 février 2006.
Présentation dun modèle dinterface adaptative dun système de diagnostique et dintervention industriel: ADAPTS (Adaptive Diagnostics And Personalized Technical.
14 mai 2003TSTG Barcelona Meeting - Gilbert1 TSTG General Meeting: Configure and Makefile issues Gilbert Grosdidier LAL-Orsay/IN2P3/CNRS & LCG.
Un chat deux chats deux chiens Un chien deux chevaux Un cheval
Jeudi le 7 novembre. F 3 DUE: Virtual tour in LMS by 7:30 for the 70! DUE: Flashcards also for the 70 today (50 Friday) 1. Poem practice Le dormeur du.
QU’EST-CE QUE TU FAIS?.
Marketing électronique Cours 5 La personnalisation.
CLS algorithm Step 1: If all instances in C are positive, then create YES node and halt. If all instances in C are negative, create a NO node and halt.
VOCABULAIRE 7.2 Français II. 2 Tu dois.... Youve got to.... stronger than the expression on the next slide Tu dois étudier si tu veux réussir à la classe.
Thematic Alignment of Static Documents with Meeting Dialogs Dalila Mekhaldi Diva Group Department of Computer Science University of Fribourg.
Donnez l’heure “Time”… it’s a ticking!.
OHT 44 Starter 5, page 79 House vocabulary eée e a o auii e eueau aaàae esc. aaeeais a ae aoue acae eaae aa eeeu eai.
Saying what you have been doing
BIOS – – SADI Semantic Automated Discovery and Integration Sébastien Carrere.
INDICATOR DEFINITION An indicator describes the manifestation of a process of change resulting from the pursuit of an action. Un indicateur décrit la manifestation.
Branche Développement Le présent document contient des informations qui sont la propriété de France Télécom. L'acceptation de ce document par son destinataire.
VTHD PROJECT (Very High Broadband Network Service): French NGI initiative C. GUILLEMOT FT / BD / FTR&D / RTA
«MASTER MANAGEMENT ET INGENIERIE ECONOMIQUE» Spécialité: Projet innovation conception, option gestion de la connaissance Module: Communautés virtuelles,
KM-Master Course, 2004 Module: Communautés virtuelles, Agents intelligents C3: Collaborative Knowledge construction & knowledge sharing Thierry NABETH.
Ministère de l’Éducation, du Loisir et du Sport Responsables des programmes FLS et ELA: Diane Alain et Michele Luchs Animateurs: Diane Alain et Michael.
© Copyright Showeet.com S OCIAL M EDIA T HINKING.
Réalisé avec le soutien de Pied de page fixe Pied de page 1 Titre Sous titre.
WINS Windows Internet Name Service. What is WINS?  It does name resolution (?!) DNS resolves IP numbers and FQDN ARP resolves IP numbers and MAC addresses.
Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
IP Multicast Text available on
IGTMD réunion du 4 Mai 2007 CC IN2P3 Lyon
Essai
High-Availability Linux Services And Newtork Administration Bourbita Mahdi 2016.
Making PowerPoint Slides Avoiding the Pitfalls of Bad Slides.
Transcription de la présentation:

La méthodologie MORSE F. Kordon, LIP6-SRC (UMR 7606) Université P. & M. Curie Fabrice.Kordon@lip6.fr

Is there a future for applications out of distribution? Some examples Automatic freeway Satellite constellations Drone fleets Domotic applications Etc. Increasing complexity… …and need for reliability Main problem how to handle such applications Interactions between components (p2p approaches) Spécification, Analysis techniques, Relation to program, Deployment How to capture know-how (usability for engineers) Need for a vertical approach (no way to solve the problem locally only)

Separation of concerns Control aspects (the difficult part;-) Computational aspects (related to an application domain) Control aspects External components Development using domain approaches Our methodology is based upon the distinction between the control aspect and the computational aspect of the application. The computational aspect handle the domain specific operations performed by the application. The control aspect handles the communication mechanisms between the components of the application. Its purpose is to keep every the application in a coherent state. This aspect is extremely important for distributed systems. Our methodology focuses on the control aspect of the application. The components that implement the domain specific operations can be developed using any existing engineering process. We consider them as “external components”. Their interactions with the control part must be well defined. Our work focuses on the development of the control aspect of the application. -> We start from a high level specification highlighting the distinction beetween the control aspect and the computational aspect of the application, and model very precisely their interactions. -> the control part is then translated into an lfp specification. Specific lfp instructions handle the interface with the external components. -> At this stage, it is possible to apply formal verification on the lfp model. This allows to check several functional properties such as the classical absence of deadlock. -> Once the lfp specification reaches its goals, it is translated into a programming language by a code generator. The generator uses the instructions inserted in the lfp specification to generated the code required for communication with external components, therefore re-inserting the external components into the generated application. Computational aspects Model Based Develoment Spec. of controls Formal verif. Prog. gen. Distributed Application

MORSE: development Methodology centered on models UML (profile) Formal verif. (Petri nets, DDD) «Formal debug» LfP Reformulate/ enrich LfP = pivot language Formal spec. generation Comme UML est incontournable, et qu’il est une bonne base pour les premières étapes du développement, nous partons d’une spécification UML de haut niveau qui définit une première « conception » pour l’application. Nous appliquons ensuite un ensemble de règles de traduction pour obtenir une représentation LfP partielle du système. Cette spécification doit ensuite être complétée pour définir précisément le comportement des composants. Ce modèle va servir de base à la vérification formelle de la spécification d’une part, et à la génération de code d’autre part. Il est possible de définir des propriétés sur le modèle qui doivent être vérifiées sur le réseau généré. Lorsque le modèle est conforme à ce qui est attendu, il est possible de générer le code de contrôle de l’application, ce qui permet de d’obtenir rapidement un prototype exécutable. Comme le code a été généré à partir de la spécification qui a été vérifiée, il est conforme à la spécification, et respecte donc les propriétés vérifiées sur le modèle. Si le code généré ne donne pas satisfaction, il est toujours possible de modifier le modèle pour optimisation, de revérifier les propriétés, et de regénérer le code. L’intérêt de la génération de code est qu’elle permet de reproduire ce cycle très rapidement. Interet d’un pivot entre verif et code : La verif a partir de code difficile car niveau de détail trop élevé => nécessite de faire des abstractions pas toujours très adaptées La génération de code a partir de modèle servant a la verif donne du code peu efficace Grâce aux vues de LfP on permet un bon niveau d’abstraction (pour la verif) sans perte des détails nécessaires a la gen de code Tests & «tuning» Reffinements Programs Program Generation

LfP: Language overview LfP (language for prototyping) Architectural views c ensure traceability Deduced from UML + identification of communications elements Behavioral views c describe behavioral contracts Partially deduced from sequence diagrams + connection to state diagrams Property views c expected properties (guide for verification) Properties must be embedded into the specification Deployment view c for program synthesis (directives for code gen.) Link to the target architecture, detailed code generation directives Now strongly linked to a UML-profile (UML-M)

Focus 1: using formal methods Testing techniques fail Exhaustivity is not ensured Require formal methods «premise and problems» Need for push-button tools Approaches Theorem proving Parameterizable Difficult to automate Model checking Easy to automate Combinatorial explosion Spec. formelle LfP programes UML (profile) Problem, mastering the complexity

An example, specific techniques using symbolic approaches Client code -- Get a reference to the current client task Client := Get_My_Id; -- Do the main loop loop -- computing data + server call Message := Get_This_message; Server := Get_This_server; Server.gr(client, message); -- Waiting for results accept ga; end loop  Server code loop -- Waiting for an incoming service accept gr (The_Client, The_Message) do Who := The_Client; Data := The_Message; end gr; -- Processing (according to Data) if (Evaluate (Data < 2)) then Processing_1 (Data); else Processing_2 (Data); end if; -- Notifying the client Who.ga; end loop; Hypothesis: process comute only at yellow points

Specification (Petri nets) Client c1 <C.all> c2 sm ga <c> <c,s,m> Server s1 <S.all> s2 gr1 [m < 2] gr2 [m >= 2] sa <c> <s> <c,s> <c,s,m> rq ack Parameterization according to C, S et M

Where does complexity comes from? Problem This part generates distinct but permutable values Too many concreted states (the system is symmetric, clients are permutable)

State space & Symbolic state space (C=2, S=1, M=2) Same configuration, only one path (client identity can be exchanged) 14 nodes, 27 arcs 24 nodes, 54 arcs A client sends M < 2 to server Two paths (C1 ≠ C2)

State space does not grow anymore! Performances State space does not grow anymore! It is useless to have S > C ;-)

Why this technique is applicable? Yes, Well formed Petri Nets allow such an analysis Use of structural information on the specification Identification of static subclasses All elements share the same behavior Detection of total system symmetries Extensions for partial symmetries too Is this operational? Automatic detection of static subclasses is implemented in CPN-AMI Symbolic model checking as well (cooperation with the GreatSPN kernel) Coming in the next release Larger experimentations?

Other performances (PolyORB) (P4 2.4GHz 512Mo) Manual specification but same strategy 89 places, 72 transitions, 289 arcs Strongly symmetric specification 100 millions states Almost a «hard limit» for numerous tools due to RAM size (then model checkers do swap)

Focus 2: relation to programs Requires a generic prototype architecture Integrates a communication pattern with external copnents Requires a set of services (runtime) Similar to programing languages;-) Provides support functions to operate LfP specifications LfP runtime and middleware? Similar objectives Require facilities for deployment Discussed later Spec. formelle LfP programes UML (profile) Problem, liaison with «the world»

From the model to the program LfP contains a deployment view Yet experimental in its syntax (XML data associated to the specification) Generation approach LfP Specification LfP element (thread?) Patterns & architectures Projection of the model into implementation components Partitioned view Application node Programs N1 N2 N3 Environment LfP Capsule (runtime) What needs for the runtime? Runtime

conclusion Distributed applications are a difficult task Handling complexity of interactions Handling deployment onto machines Handling configuration (on a node) Certification, real-time, etc. Integrated methodology can help!!! Modeling and formal methods Experimentation on LfP Why not UML? goes somewhat in «the good» direction Architecture languages: Software or hardware (need both?) AADL, UML/ROOM, both? Middleware manufacturing Middleware «à la carte»

Advertising;-) the MORSE project Méthodes et Outils pour la Réalisation et la vérification formelle de Systèmes interopérables Embarqués critiques RNTL project (June 2003- June 2006) Sagem SA (project leader) Aonix LIP6-SRC LaBRI Objectives: a methodology with its (prototype;-) tools Prototyping approach Use of formal methods for verifying the system Use of a pivot language Integration of legacy code

There is still some interesting work to come;-) Many perspectives Need for dynamic adaptation (at execution time) Some techniques are available Virtual Virtual machines (for the runtime)… Need to control the development of transformation tools Model engineering techniques are available Metamodeling techniques? Transformation languages? Need for more formal techniques Management of time? Probabilistic analysis? Etc… There is still some interesting work to come;-)