Spécification d exigences dans le contexte de lignes de produits



Documents pareils
Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Cours de Master Recherche

Scénarios économiques en assurance

Support Orders and Support Provisions (Banks and Authorized Foreign Banks) Regulations

Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

that the child(ren) was/were in need of protection under Part III of the Child and Family Services Act, and the court made an order on

INDIVIDUALS AND LEGAL ENTITIES: If the dividends have not been paid yet, you may be eligible for the simplified procedure.

Application Form/ Formulaire de demande

AMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

How to Login to Career Page

Génie logiciel. Systèmes et sous-systèmes. Modèliser des grands systèmes. Problématique. SS S-Syst1 SS S-Syst2 SS S-Syst3. Système.

UNIVERSITY OF MALTA FACULTY OF ARTS. French as Main Area in an ordinary Bachelor s Degree

Stakeholder Feedback Form January 2013 Recirculation

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

RULE 5 - SERVICE OF DOCUMENTS RÈGLE 5 SIGNIFICATION DE DOCUMENTS. Rule 5 / Règle 5

GAME CONTENTS CONTENU DU JEU OBJECT OF THE GAME BUT DU JEU

BILL 203 PROJET DE LOI 203

Ingénierie et gestion des connaissances

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Cheque Holding Policy Disclosure (Banks) Regulations. Règlement sur la communication de la politique de retenue de chèques (banques) CONSOLIDATION

ETABLISSEMENT D ENSEIGNEMENT OU ORGANISME DE FORMATION / UNIVERSITY OR COLLEGE:

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Programme

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

UML : Unified Modeling Language

APPENDIX 6 BONUS RING FORMAT

L ESPACE À TRAVERS LE REGARD DES FEMMES. European Economic and Social Committee Comité économique et social européen

Fiche produit ifinance v4

Instructions Mozilla Thunderbird Page 1

Contents Windows

THE LAW SOCIETY OF UPPER CANADA BY-LAW 19 [HANDLING OF MONEY AND OTHER PROPERTY] MOTION TO BE MOVED AT THE MEETING OF CONVOCATION ON JANUARY 24, 2002

Forthcoming Database

AVOB sélectionné par Ovum

ONTARIO Court File Number. Form 17E: Trial Management Conference Brief. Date of trial management conference. Name of party filing this brief

FÉDÉRATION INTERNATIONALE DE NATATION Diving

Utiliser une WebCam. Micro-ordinateurs, informations, idées, trucs et astuces

Règlement sur le télémarketing et les centres d'appel. Call Centres Telemarketing Sales Regulation

Exercices sur SQL server 2000

IDENTITÉ DE L ÉTUDIANT / APPLICANT INFORMATION

Editing and managing Systems engineering processes at Snecma

Informatique / Computer Science

LOI SUR LA RECONNAISSANCE DE L'ADOPTION SELON LES COUTUMES AUTOCHTONES ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT

Academic Project. B2- Web Development. Resit Project. Version 1.0 Last update: 24/05/2013 Use: Students Author: Samuel CUELLA

Exemple PLS avec SAS

ED STIC - Proposition de Sujets de Thèse. pour la campagne d'allocation de thèses 2013

Archived Content. Contenu archivé

Paxton. ins Net2 desktop reader USB

Cedric Dumoulin (C) The Java EE 7 Tutorial

Face Recognition Performance: Man vs. Machine

Nouveautés printemps 2013

PROJET DE LOI. An Act to Amend the Employment Standards Act. Loi modifiant la Loi sur les normes d emploi

Monitoring elderly People by Means of Cameras

TARIFS PIETONS SAISON PEDESTRIAN RATES SEASON 2014/2015 TARIFS ASSURANCE CARRE NEIGE CARRE NEIGE INSURANCE RATES 2014/2015

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Garage Door Monitor Model 829LM

Formulaire de candidature pour les bourses de mobilité internationale niveau Master/ Application Form for International Master Scholarship Program

Language requirement: Bilingual non-mandatory - Level 222/222. Chosen candidate will be required to undertake second language training.

Small Businesses support Senator Ringuette s bill to limit credit card acceptance fees

La physique médicale au service du patient: le rôle de l agence internationale de l énergie atomique

Improving the breakdown of the Central Credit Register data by category of enterprises

Bill 69 Projet de loi 69

F1 Security Requirement Check List (SRCL)

EN UNE PAGE PLAN STRATÉGIQUE

Practice Direction. Class Proceedings

Université de XY University of XY. Faculté XY Faculty of XY

Droit de la Propriété Intellectuelle / Intellectual Property Law

ÉTUDES MÉDICALES DE PREMIER CYCLE

INDUSTRY CANADA / INDUSTRIE CANADA RFP #IC401468/ DDP #IC Retirement Planning Training / Cours de planification de la retraite

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Efficient Object Versioning for Object- Oriented Languages From Model to Language Integration

INSERTION TECHNIQUES FOR JOB SHOP SCHEDULING

iqtool - Outil e-learning innovateur pour enseigner la Gestion de Qualité au niveau BAC+2

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

Flottes privatives Une gestion maîtrisée Fleet management The management expert

Form of Deeds Relating to Certain Successions of Cree and Naskapi Beneficiaries Regulations

Tier 1 / Tier 2 relations: Are the roles changing?

Discours du Ministre Tassarajen Pillay Chedumbrum. Ministre des Technologies de l'information et de la Communication (TIC) Worshop on Dot.

Grandes tendances et leurs impacts sur l acquisition de produits et services TI.

Fabricant. 2 terminals

English Q&A #1 Braille Services Requirement PPTC Q1. Would you like our proposal to be shipped or do you prefer an electronic submission?

RICHEL SERRES DE FRANCE PAR_ _02432_ALT DATE: 03/02/2012

First Nations Assessment Inspection Regulations. Règlement sur l inspection aux fins d évaluation foncière des premières nations CONSOLIDATION

Must Today s Risk Be Tomorrow s Disaster? The Use of Knowledge in Disaster Risk Reduction

AGROBASE : un système de gestion de données expérimentales

INSTITUT MARITIME DE PREVENTION. For improvement in health and security at work. Created in 1992 Under the aegis of State and the ENIM

Our recommendation engine has come up with some personalized suggestions for you.

INVESTMENT REGULATIONS R In force October 1, RÈGLEMENT SUR LES INVESTISSEMENTS R En vigueur le 1 er octobre 2001

PHOTO ROYAUME DE BELGIQUE /KINDOM OF BELGIUM /KONINKRIJK BELGIE. Données personnelles / personal data

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

1 400 HKD / year (Season : 21/09/ /06/2016)

MANUEL LSM RÉSEAU Version: Mai 2011

Algorithmes de recommandation, Cours Master 2, février 2011

Bienvenue au séminaire HP Service Anywhere Mardi 11 février 2014

WEB page builder and server for SCADA applications usable from a WEB navigator

Les doutes et les questions des économistes face au système des brevets

Frequently Asked Questions

Préparation / Industrialisation. Manufacturing Engineering/ On-site Industrialisation. Qualité, contrôle et inspection. On-site quality and Inspection

Transcription:

Spécification d exigences dans le contexte de lignes de produits Camille SALINESI Daniel DIAZ Raul MAZO Alberto LORA Olfa DJEBBI Centre de Recherche en Informatique CRI

L Ingénierie des Exigences Application aux Lignes de Produits Lignes de produits: un ensemble de systèmes qui: Partagent un ensemble commun de caractéristiques Satisfont les besoins d une mission particulière Sont développés à partir d un noyau commun d une manière prescrite

Modélisation des exig. d une LP

Modélisation des exigences d une LP Analyser_lep lasma Définir_mét hodologie Utiliser méthodologie exclur e Figée Paramétrable Continu Diagnostiquer thrombose/ hémophilie Spécifier le facteur défaillant Analyser le plasma [1,2] [1,2] Charger les produits [0,1] Urgent Aléatoire Tubes de la concurrence Transférer résultats Identifier les tubes Mesurer Type mesure Automatique Imprimer résultats Manuelle [1,3] Chrono. Immuno. Colori. requiert Diagnostiquer_throm bose_hémophilie Spécifier_le_facte ur_défaillant Charger_les _produits Mesurer_le _plasma Identifier_le s_tubes Transférer_ résultats Imprimer_r ésultats

La programmation par contraintes offre Contraintes arithmétiques (linéaires et non linéaires). X+Y < Z or X*Y<>Z. Contraintes symboliques. atmost (2,[X,Y,Z,T],10): au moins 2 variables parmi X,Y,Z,T peuvent prendre la valeur 10. Contraintes booléennes: expressions booléennes avec:,,,,, Contraintes réifiées: pour raisonner à partir de la satisfaction/insatisfaction d une contrainte. X<Y => K=8. Quand le solver détecte que X<Y il fige K=8, de la même manière s il détecte K<> 8 il fige X>=Y. Contrainte réifiée: A (X<Y), B K=8, A B.

Constraint Programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it. [E. Freuder]

Processus de représentation de MLPs Name and Semantic Feature cardinality A feature cardinality is a sequence of intervals of the form [n1..n1 ]... [nk..nk ]. If F2 is selected at least one time, the father feature (F1) must be selected as well. Group cardinality If the father feature (F0) is selected, the value of Min and Max specifies the permissible range of optional features to be selected from the bundle (F1, F2, and F3). If one of the children is selected, the father feature (F0) must be selected as well. Exclusion Indicates that both features (F1, F2) cannot be selected in one product configuration and are therefore mutually exclusive. F1 F1 Cardinality-based Representation F1 min..max F2 F0 F2 F2 F3 CP Representation domain([f1], 0,1), domain([f2],min, max), min 0, F1>0 ==> min F2 max F1=0 ==> F2=0 domain([f0, F1, F2, F3], 0,1), F1 =< F0, F2 =< F0, F3 =< F0, F0 ==> F1+F2+F3 >= Min, F0 ==> F1+F2+F3 <= Max domain([f1, F2], 0, 1), F1 + F2 <= 1 Names Use-case Representations CP Representations Relationship domain([uc1], 0, 1), UC1 Include domain([uc1, UC2], 0, 1), UC1 =< UC2 UC1 UC2 Extend domain([uc1, UC2], 0, 1), UC1 =< UC2 UC1 <<extends>> UC2 Generalization domain([uc1, UC2], 0, 1), UC2 =< UC1 UC1 UC2 Include UC-VP domain([uc1, VP1], 0, 1), <<include>> UC1 =< VP1 UC1 VP1 Extend UC-VP <<extends>> domain([uc1, VP1], 0, 1), UC1 VP1 VP1 =< UC1 Mandatory domain([uc1, VP1], 0, 1), VP1 UC1 VP1 = UC1 Requires If one feature (F1) is selected the required feature (F2) has to be selected as well, ignoring their position in the feature tree. F1 F2 domain([f1, F2], 0, 1), F1 =< F2 Optional domain([uc1, VP1], 0, 1), VP1 UC1 UC1 =< VP1 Alternative choice cardinality VP1 UC1 UC2 domain([uc1, UC2, VP1], 0, 1), UC1 =< VP1, UC2 =< VP1, VP1 ==> UC1 + UC2 >= Min, VP1 ==> UC1 + UC2 <= Max

Processus de configuration Modèle à Caractéristiques Diagnostiquer thrombose/ hémophilie Spécifier le facteur défaillant Analyser le plasma Diagnostiquer thrombose/ hémophilie Utiliser méthodologie Paramétrable Figée Charger les produits Mesurer Identifier les tubes Manuelmt Spécifier le facteur défaillant Analyser le plasma Continu Type mesure Imprimer résultats Utiliser méthodologie [1,2] exclure Figée Paramétrable Continu Charger les produits [0,1] Urgent Aléatoire Tubes de la concurrence Transférer résultats Identifier les tubes [1,2] Manuelle Mesurer Type mesure Automatique Imprimer résultats [1,3] Chrono. Immuno. Colori. requiert Colori. Chrono. Diagnostiquer thrombose/ hémophilie Spécifier le facteur défaillant Analyser le plasma Utiliser méthodologie Identifier les tubes Paramétrable Mesurer Manuelle Charger les produits Automatique Continu Tubes de la concurrence Transférer résultats Type mesure Chrono. Immuno.

Processus de configuration Modèle à Contraintes p(l):- L=... fd_domain([...]...) Spécifier_le_facteur_défaillant #= Diagnostiquer_thrombose_hémophilie, Analyser_le_plasma #= Spécifier_le_facteur_défaillant, Utiliser_méthodologie #= Analyser_le_plasma, Paramétrable #=< utiliser_méthodologie, Figée #=< utiliser_méthodologie, Charger_les_produits #= Analyser_le_plasma, Continu #= Charger_les_produits, Urgent #=< Charger_les_produits, Tubes_de_la_concurrence #=< Charger_les_produits, Aléatoire #=< Charger_les_produits, Mesurer #= Analyser_le_plasma, Transférer_résultats #=< Mesurer, Type_mesure #=< Mesurer, Immuno. #=< Type_mesure, Colori. #=< Type_mesure, Chrono. #=< Type_mesure, Imprimer_résultats #=< Mesurer, Identifier_les_tubes #= Analyser_le_plasma, Automatique #=< Identifier_les_tubes, Manuelle #=< Identifier_les_tubes, Utiliser_méthodologie #==> 1 #=> (Paramétrable + Figée) #=< 2, Charger_les_produits #==> 0 #=> (Urgent + Tubes_de_la_concurrence + Aléatoire) #=< 1, Type_mesure #==> 1 #=> (Immuno. + Colori. + Chrono.) #=< 3, Identifier_les_tubes #==> 1 #=> (Automatique + Manuelle) #=< 2, Figée + Tubes_de_la_concurrence #=< 1, Tubes_de_la_concurrence #=< Manuelle, fd_labeling(l).?- L=[1,1,1,1,1,1,1,1, 0,0,1,0,1,0,1,1, 1,1,0,1], p(l).?- L=[1,1,1,1,1,0,1,1, 1,0,1,1,1,1,0,1, 0,1,1,1], p(l).

Processus de construction Spécifier_le_facteur_défaillant #= Diagnostiquer_thrombose_hémophilie, Analyser_le_plasma #= Spécifier_le_facteur_défaillant, Utiliser_méthodologie #= Analyser_le_plasma, Paramétrable #= utiliser_méthodologie, Figée #= utiliser_méthodologie, Charger_les_produits #= Analyser_le_plasma, Continu #= Charger_les_produits, Mesurer #= Analyser_le_plasma, Type_mesure #= Mesurer, Colori. #= Type_mesure, Chrono. #= Type_mesure, Imprimer_résultats #= Mesurer, Identifier_les_tubes #= Analyser_le_plasma, Manuelle #=< Identifier_les_tubes Spécifier_le_facteur_défaillant #= Diagnostiquer_thrombose_hémophilie, Analyser_le_plasma #= Spécifier_le_facteur_défaillant, Utiliser_méthodologie #= Analyser_le_plasma, Paramétrable #= utiliser_méthodologie, Charger_les_produits #= Analyser_le_plasma, Continu #= Charger_les_produits, Tubes_de_la_concurrence #= Charger_les_produits, Mesurer #= Analyser_le_plasma, Transférer_résultats #= Mesurer, Type_mesure #= Mesurer, Immuno. #= Type_mesure, Chrono. #= Type_mesure, Identifier_les_tubes #= Analyser_le_plasma, Automatique #= Identifier_les_tubes, Manuelle #= Identifier_les_tubes, p(l):- L = [Diagnostiquer_thrombose_hémophilie, Spécifier_le_facteur_défaillant, Analyser_le_plasma, Utiliser_méthodologie, Paramétrable, Figée, Charger_les_produits, Continu, Urgent, Tubes_de_la_concurrence, Aléatoire, Mesurer, Transférer_résultats, Type_mesure, Immuno., Colori., Chrono., Imprimer_résultats, Identifier_les_tubes, Automatique, Manuelle], fd_domain([...]...) Spécifier_le_facteur_défaillant #= Diagnostiquer_thrombose_hémophilie, Analyser_le_plasma #= Spécifier_le_facteur_défaillant, Utiliser_méthodologie #= Analyser_le_plasma, Paramétrable #=< utiliser_méthodologie, Figée #=< utiliser_méthodologie, Charger_les_produits #= Analyser_le_plasma, Continu #= Charger_les_produits, Urgent #=< Charger_les_produits, Tubes_de_la_concurrence #=< Charger_les_produits, Aléatoire #=< Charger_les_produits, Mesurer #= Analyser_le_plasma, Transférer_résultats #=< Mesurer, Type_mesure #=< Mesurer, Immuno. #=< Type_mesure, Colori. #=< Type_mesure, Chrono. #=< Type_mesure, Imprimer_résultats #=< Mesurer, Identifier_les_tubes #= Analyser_le_plasma, Automatique #=< Identifier_les_tubes, Manuelle #=< Identifier_les_tubes, Utiliser_méthodologie #==> 1 #=> (Paramétrable + Figée) #=< 2, Charger_les_produits #==> 0 #=> (Urgent+Tubes_de_la_concurrence+Aléatoire) #=< 1, Type_mesure #==> 1 #=> (Immuno. + Colori. + Chrono.) #=< 3, Identifier_les_tubes #==> 1 #=> (Automatique + Manuelle) #=< 2, Figée + Tubes_de_la_concurrence #=< 1, Tubes_de_la_concurrence #=< Manuelle, fd_labeling(l).

Processus d intégration multi-vues Diagnostiquer_thro mbose_hémophilie Analyser_le _plasma Spécifier_le_facte ur_défaillant Définir_mét hodologie Charger_le s_produits Mesurer_le _plasma Identifier_l es_tubes Transférer_ résultats Imprimer_r ésultats p(l):- L = [Diagnostiquer_thrombose_hémophilie, Spécifier_le_facteur_défaillant, Analyser_le_plasma, Utiliser_méthodologie, Paramétrable, Figée, Charger_les_produits, Continu, Urgent, Tubes_de_la_concurrence, Aléatoire, Mesurer, Transférer_résultats, Type_mesure, Immuno., Colori., Chrono., Imprimer_résultats, Identifier_les_tubes, Automatique, Manuelle], fd_domain([...]...) Spécifier_le_facteur_défaillant #= Diagnostiquer_thrombose_hémophilie, Analyser_le_plasma #= Spécifier_le_facteur_défaillant, Utiliser_méthodologie #= Analyser_le_plasma, Paramétrable #=< utiliser_méthodologie, Figée #=< utiliser_méthodologie, Charger_les_produits #= Analyser_le_plasma, Continu #= Charger_les_produits, Urgent #=< Charger_les_produits, Tubes_de_la_concurrence #=< Charger_les_produits, Aléatoire #=< Charger_les_produits, Mesurer #= Analyser_le_plasma, Transférer_résultats #=< Mesurer, Type_mesure #=< Mesurer, Immuno. #=< Type_mesure, Colori. #=< Type_mesure, Chrono. #=< Type_mesure, Imprimer_résultats #=< Mesurer, Identifier_les_tubes #= Analyser_le_plasma, Automatique #=< Identifier_les_tubes, Manuelle #=< Identifier_les_tubes, Utiliser_méthodologie #==> 1 #=> (Paramétrable + Figée) #=< 2, Charger_les_produits #==> 0 #=> (Urgent+Tubes_de_la_concurrence+Aléatoire) #=< 1, Type_mesure #==> 1 #=> (Immuno. + Colori. + Chrono.) #=< 3, Identifier_les_tubes #==> 1 #=> (Automatique + Manuelle) #=< 2, Figée + Tubes_de_la_concurrence #=< 1, Tubes_de_la_concurrence #=< Manuelle, fd_labeling(l).

Processus de vérification Model View n Model View 1 Model View n Model View n Model View 1 Model View 1 Model View n Model View n Model View n Model View n Model View 1 Model View 1 Model View 1 Model View 1 p(l):- L = [X1, X2, X3, X4, X5], fd_domain([x1,x2,x3], 0, 1), fd_domain([x4,x5], 0, 10), X1 #>= X2, X2 #= X3, X5 #> 3, X3 #<=> X4 #>= 5 #\/ X5 #>= 5, fd_labeling(l). trouver 1 sol, puis une autre,...?- p(l). fixer les valeurs de X1 et X3?- L=[1,_,1,_,_], p(l). trouver toutes les solutions?- findall(l, p(l), LSol), length(lsol, NbSol).

Conclusions Notre approche peut être utilisée pour: Traiter le problème de la spécification (permettant de représenter toutes les vus correspondantes). Traiter le problème de la construction (permettant d utiliser les modèles de prod. pour const. le MLP). Traiter le problème de l intégration des vues (permettant d examiner la cohérence du système) Traiter le problème de la vérification et validation (permettant d exécuter opérations d analyse).

Des remarques? Des suggestions? Autres propositions? Merci de votre attention!

Références Dines Bjorner. Software Engineering 3 Domains, requirements and Software Design. Springer-Verlag 2006 Klaus Pohl, Gunter Bockle, and Frank van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, July 2005 Freuder, E.C.: Synthesizing Constraint Expressions, in: Communications ACM 21(11): 958-966, ACM, 1978

Diagnostiquer_thromb ose_hémophilie Analyser_le _plasma Spécifier_le_facte ur_défaillant Définir_méth odologie Charger_les_ produits Mesurer_le_p lasma Identifier_les _tubes Transférer_r ésultats Imprimer_r ésultats

Utiliser méthodologie [1,2] Charger les produits [0,1] Identifier les tubes [1,2] Paramétrable Figée Continu Urgent Tubes de la concurrence Aléatoire Automatique Manuelle exclure requiert Type mesure [1,3] Immuno. Colori. Chrono.