120 likes | 260 Views
Métamodèles et Points de Variation Sémantique workshop IDM: Semo’07 29 mars 2007. Arnaud Cuccuru , Chokri Mraidha, François Terrier, Sébastien Gérard {firstName.lastName}@cea.fr CEA-List / DTSI / SOL / L-LSP. PVS et IDM. Sémantique d’un langage Projection :
E N D
Métamodèles et Points de Variation Sémantiqueworkshop IDM: Semo’0729 mars 2007 Arnaud Cuccuru, Chokri Mraidha, François Terrier, Sébastien Gérard {firstName.lastName}@cea.fr CEA-List / DTSI / SOL / L-LSP
PVS et IDM • Sémantique d’un langage • Projection : • De la syntaxe (ici des métamodèles)… • … vers un domaine sémantique • Style : Dénotationnel, Axiomatique, Opérationnel • Point de Variation Sémantique (PVS) • Aspect sémantique ouvert à interprétation… • Projection partielle • “Popularisés” par UML • PVS partie “statique” • “Precise semantics of shared aggregation varies by application area and modeler”. Superstructure v2.1.1 p.41 • PVS partie “dynamique” • “The behavior of an invocation of an operation when a precondition is not satisfied is a semantic variation point”. Super. p.107 • PVS partie “temporelle” • “No assumptions are made about the time intervals between event occurrence, event dispatching, and consumption”. Super. p.456 • Généralisables à l’IDM • En particulier au DSML
Sommaire • Machines à états d’UML 2 • Spécialisation avec les mécanismes du MOF • Profile • Extension • Merge • Spécialisation dans les approches “opérationnelles” • Extension • Surcharge • Proposition • Identification par paramètres template • Modularisation par le pattern “strategy” • Fixation par liaison des paramètres • Conclusion
Spécialisation avec les mécanismes du MOF « import » « merge » « merge »
Spécialisation dans les approches ‘’opérationnelles’’ « merge » OperationalBehaviorStateMachines
Spécialisation dans les approches ‘’opérationnelles’’ « merge » OperationalBehaviorStateMachines
Fixation par liaison des paramètres Liaison au niveau M1 Liaison au niveau M2
Conclusion • Contribution : • Principalement méthodologique • Identification / résolution explicite des PVS • PVS “fonctionnels” (statique ou dynamique) • Identification par paramètres templates • Modularisation par strategy classes • Résolution explicite par binding • Support des outils (Kermeta, Meta-GME, etc.) : • Déclaration des paramètres : OK • Liaison des paramètres • Niveau M2 : OK • Niveau M1 : KO • Pistes : • Extension de Ecore ? • Ecore -> UML2, UML2 -> Ecore • Support annoncé • Wait and see…