Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.

Slides:



Advertisements
Présentations similaires
Semaine 5 Couche Liaison de données Cours préparé par Marc Aubé
Advertisements

LES NOMBRES PREMIERS ET COMPOSÉS
Le moteur
Sintaks : Ingénierie Dirigée par les Modèles Appliquée à l’Analyse et la Synthèse de Syntaxe Textuelle Michel Hassenforder.
Fonctions & procédures
Classe : …………… Nom : …………………………………… Date : ………………..
Raisonnement et logique
ACTIVITES Le calcul littéral (3).
Les Prepositions.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Le Modèle Logique de Données
Autorisations Utilisation eCATT
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Ordonnancement des mouvements de deux robots
Introduction à la POO: Les classes vs les objets
La gestion de projets avec Microsoft Project
07/24/09 1.
5 Verbes au passé composé 1.Jai eu avoir 2. Jai du devoir.
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Développement d’applications web
Application des algorithmes génétiques
Les verbes auxiliaires Avoir ou être ?? Choisissez! Cest un verbe Dr Mrs Vandertrampp? Cest un verbe réfléchi?
Expressions et assignations
Les structures de données arborescentes
Chaque use-case génère un ou des scénarios, traduits par des diagrammes objets, qui permettent d’introduire et/ou de compléter les diagrammes des catégories.
1 CORRIGE DES CAS. 2 Avant de se planter dans le 7, cette flèche a percuté l'encoche de la flèche plantée dans le CAS N° 1.
1.2 COMPOSANTES DES VECTEURS
Biologie – Biochimie - Chimie
Configuration de Windows Server 2008 Active Directory
Recommandations et procédure d’attribution de DOI
LES NOMBRES PREMIERS ET COMPOSÉS
VOC 1 CE2 Je sais utiliser des mots de la vie quotidienne.
SYSTEMES D’INFORMATION
Développement Humanisation et Patrimoine
Les écritures fractionnaires
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Courbes de Bézier.
Programmation concurrente
1.1 LES VECTEURS GÉOMÉTRIQUES
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Cours de Base de Données & Langage SQL
Ecaterina Giacomini Pacurar
Notre calendrier français MARS 2014
Chapitre 3 Syntaxe et sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
C'est pour bientôt.....
Veuillez trouver ci-joint
Initiation à la conception des systèmes d'informations
Résoudre une équation du 1er degré à une inconnue
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
Bienvenue sur le Net Personnel 1/23. 2 Saisir votre mot de passe en minuscule.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Introduction.
Bases de données   J-L Hainaut Partie 1 - Comprendre les bases de données Partie 2 - Utiliser les bases de données Partie 3 - Développer une base.
10 paires -. 9 séries de 3 étuis ( n° 1 à 27 ) 9 positions à jouer 5 tables Réalisé par M..Chardon.
CALENDRIER-PLAYBOY 2020.
9 paires séries de 3 étuis ( n° 1 à 27 )
Projet de stage d’année IIR4 sous le thème:
Dr. KHERRI Abdenacer 2014/ ECOLE DES HAUTES ETUDES COMMERCIALES.
Médiathèque de Chauffailles du 3 au 28 mars 2009.
Algorithmique et programmation (1)‏
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Cours LCS N°4 Présenté par Mr: LALLALI
Transcription de la présentation:

Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder

Sintaks : guide de mise en œuvre / Plan Introduction Beaucoup de façon de faire Standard Facultative Motifs Contraintes de séquencement Conclusion

Sintaks : guide de mise en œuvre / Introduction - Problèmes de base Beaucoup de concept Certains sont uniques Beaucoup se chevauchent Certains sont simples D'autres complexes Comment les choisir Comment procéder pour construire un fichier STS Organisation du fichier STS qui marche en écriture STS qui marche en lecture

Sintaks : guide de mise en œuvre / Introduction - Métamodèle de sintaks

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Une classe Un Template pour identifier la classe à manipuler

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Une famille de classes Un Template par classe fille, si X est abstraite pas de template X Et une Alternative et une polymorphicCond pour chaque template

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Un attribut unique Une PrimitiveValue pour extraire/affecter la valeur Ou une ConstantValue pour fixer/affecter la valeur

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Un attribut multiple Une Iteration pour le container Et une PrimitiveValue (extraire) ou une ConstantValue (fixer)

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Une agrégation unique Un template pour manipuler la classe cible Et un RuleRef pour affecter la relation

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Un agrégation multiple Une Iteration pour le container Et un template pour la classe cible ou un RuleRef vers le template

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Une référence unique Un ObjectReference pour cibler la référence et faire laffectation

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : standard Une référence multiple Une Iteration pour le container Et un ObjectReference pour cibler la référence

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : facultatif Les concepts Alternative + CustomCondition Permettent de modéliser des variations dans la syntaxe textuelle Selon la valeur dun attribut Selon la valeur de plusieurs attributs (si on introduit des attributs dérivés…) Dans lexemple TinyJava la manipulation de 'static' était basée sur ce principe

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : facultatif Le concept Once (ou tout autre nom à lissue de cette journée) Permet la modélisation dun texte composé dun grand nombre de propriétés qui ne sont pas dans un container qui peuvent apparaître dans un ordre quelconque Dans lexemple TinyJava la manipulation de abstract/final était basée sur ce principe

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : facultatif Le concept RuleRef Permet dinvoquer une règle Permet de manipuler une propriété Combiner un RuleRef avec dautres concepts RuleRef (RR) possède une propriété à manipuler Lautre concept (C) possède aussi une propriété à manipuler Deux formes de combinaisons possibles RR(p) x C() RR() x C(p)

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : facultatif Pour un attribut Pour un texte : package hassen ; Il y trois façons différentes de le manipuler PV(p)RR() -> PV(p)RR(p) -> PV()

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs Selon le voisinage de la propriété avec sa classe et les propriétés des autres classes 1.Une propriété totalement indépendante 2.Une propriété dans une classe mère 3.Des propriétés dans une fratrie 4.Des propriétés distribuées dans des classes Selon le degré de partage la syntaxe textuelle 1.Syntaxe textuelle partagée 2.Syntaxe textuelle non partagée

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs Trois cas "génériques" clairement identifiés : X : propriété indépendante Y : propriété dans la classe mère, syntaxe textuelle partagée Z* : propriété dans une classe, syntaxe textuelle partagée différentes variantes

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs

Sintaks : guide de mise en œuvre / Beaucoup de façon de faire : motifs Les motifs illustrés pour Attribut unique Sont extensibles pour Attribut multiple Agrégation unique Agrégation multiple Référence unique Référence multiple

Sintaks : guide de mise en œuvre / Contraintes de séquencement Le concept primordial est le template. Tout est construit autour de lui. C'est lors du traitement du template que l'on profite de ses liens d'agrégation pour visiter l'ensemble des propriétés qu'il possède. Un attribut ou une agrégation (unique ou multiple) ne peuvent être traités qu'après loccurrence du template définissant la classe les possédants. Lorsquune classe doit sérialiser plusieurs propriétés, il ny a pas dordre imposé par sintaks entre les différentes propriétés. Un container est toujours complètement sérialisé lors d'une opération, il nest pas possible de sérialiser indépendamment des fractions de container. Une référence ne peut pas servir à manipuler un objet. En principe c'est le possesseur de l'objet référencé qui s'occupe de lui

Sintaks : guide de mise en œuvre / Effet de ces contraintes Très facile de manipuler un texte sous une forme préfixée : class abstract final private AbstractValue { } class -> Template puis utilise les propriétés de la classe Plus difficile de manipuler un texte sous une forme infixée voire postfixée abstract final private class AbstractValue { } class arrive trop tard car il faut déjà remplir les propriétés de la classe… Solution : faire commencer le template class plus tôt dès la définition de la première propriété la concernant : abstract Problème induit abstract final private class AbstractValue { } abstract final private interface IValue { } Les deux templates class et interface sont en concurrence et cest le KW qui va les départager… au prix dune lecture longue puis dun backtracking.

Sintaks : guide de mise en œuvre / Effets de ces contraintes Exemple dans TinyJava private String val; public String getValue(); TJData et TJMethod ont la même description début générique pour TJMethod les () avec les paramètres fin générique Alternative "data or method" les met en concurrence Factorisation les séquences de début et de fin Remarque 4 propriétés ont été factorisées dans …begin

Sintaks : guide de mise en œuvre / Effet de ces contraintes Une référence ne peut pas servir à manipuler l'objet Dommage car si l'objet est très synthétique (que la clé) On aurait pu imaginer un langage plus simple

Sintaks : guide de mise en œuvre / Conclusion Sintaks est très riche Sintaks peut être très déroutant Sintaks peut servir à une étude de GL Les règles Sintaks peuvent faire lobjet dun refactoring … Il doit y avoir bien dautres motifs PS : le Once nest pas traité dans toutes les propositions car il est trop récent