Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarie-Dominique Renée Martin Modifié depuis plus de 9 années
1
Réalisé avec le soutien de Pied de page fixe Pied de page 1 Titre Sous titre
2
Réalisé avec le soutien de Pied de page fixe Pied de page 2 Plan Topcased ATL Kermeta Qu'est ce que Kermeta Cas d'utilisation Un aperçu du fonctionnement Exemple de développement (robot tortue logo) Breathe life into your metamodels
3
Réalisé avec le soutien de Qu'est ce que Kermeta Un langage pour construire et spécifier des métamodèles Un environnement pour toutes les étapes de développement basées sur l'utilisation de métamodèles De la production des MM jusqu'à leur exploitation Intégration et/ou interopérabilité avec les autres outils du domaine Adapté pour construire des DSL (Domain Specific Language) (Ingénierie des langages) Approche OO permettant de simplifier les tâches des développeurs de DSL grâce à des mécanismes dédiés: Manipulation intuitive des éléments de modèle Tissage, patron de conception, Clôtures lexicales, Type modèle, généricité, … Opensource (http://www.kermeta.org)
4
Réalisé avec le soutien de Cas d'utilisation Pour définir la structure, le comportement et les contraintes d'un métamodèle (compatible avec EMOF et Ecore), Spécification de la sémantique abstraite, des contraintes statiques ( OCL) et de la sémantique dynamique (comportement) Conserve une liaison avec la syntaxe concrète Pour vérifier des modèles Pour animer/simuler des modèles Prototypage de métamodèle et simulation des modèles qu'ils définissent Pour manipuler/transformer/tisser des modèles Modulable et expressif grace à une approche Orientée Objet étendue
5
Réalisé avec le soutien de Un aperçu du fonctionnement Breathing life into Meta-Models // MyKermetaProgram.kmt // An E-MOF metamodel is an OO program that does nothing require "StateMachine.ecore" // to import it in Kermeta // Kermeta lets you weave in aspects // Contracts (OCL WFR) require “StaticSemantics.ocl” // Method bodies (Dynamic semantics) require “DynamicSemantics.kmt” // Transformations Context FSM inv: ownedState->forAll(s1,s2| s1.name=s2.name implies s1=s2) aspect class FSM { operation reset() : Void { currentState := initialState }} class Minimizer { operation minimize (source: FSM):FSM {…} }
6
Réalisé avec le soutien de Aperçu du tissage interne Par exemple pour bien séparer la syntaxe abstraite du domaine sémantique require "FSM.ecore" aspect class FSM { reference currentState : State operation run() : Void is do … end operation reset() : Void is do … end } … aspect class Transition { operation fire() : String is do // update FSM current state source.owningFSM.currentState := target result := output end }
7
Réalisé avec le soutien de Le workbench
8
Réalisé avec le soutien de Exemple de développement (Robot tortue logo) Static constraints in OCL Simulator in Kermeta Result of a simulation interpreted with Kermeta Input scenario Embedded source code inside the robot Result of a real execution Transformation written in Kermeta Interaction between the current simulation (Kermeta) and the GUI (Java) Logo Semantic in Kermeta AS VM Semantic mapping Venez voir la démo en live sur le stand OpenEmbedd !
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.