Executability Analysis of Graph Transformation Rules (VL/HCC 2011)

download Executability Analysis of Graph Transformation Rules (VL/HCC 2011)

of 18

  • date post

    16-Apr-2017
  • Category

    Technology

  • view

    663
  • download

    3

Embed Size (px)

Transcript of Executability Analysis of Graph Transformation Rules (VL/HCC 2011)

  • Lightweight Executability Analysisof Graph Transformation Rules

    Universitat Oberta de Catalunya, Spaincole des Mines de Nantes, FranceUniversitat Politcnica de Catalunya, SpainUniversidad Autnoma de Madrid, SpainUniversidad Autnoma de Madrid, SpainVL/HCC Madrid, September 23, 2010Elena PlanasJordi CabotCristina GmezEsther GuerraJuan de Lara

  • DSVL: Domain Specific Visual Language

    Lightweight Executability Analysis of Graph transformation Rules

    DSL + VL = DSVLBasic ConceptsGoalMethodConclusionsDomain Specific Visual LanguageDSVL Syntax (meta-model)DSVL Semantics (GT Rules)1/13

    *

  • Part

    capacity: int0..10..10..10..1cincout0..1**1..*1..*0..1context Conveyor inv: self.capacity > 0 and self.part->size()size()=0 else self.part->size()>0 endif{xor}busy: booleaninoutoutininConvinMachineNextInputOutputConveyorMachine

    DSVL Syntax: Meta-model (I)

    Lightweight Executability Analysis of Graph transformation RulesMeta-modeling is a technique to describe the structure of a language. Basic ConceptsGoalMethodConclusionsDomain Specific Visual LanguageDSVL Syntax (meta-model)DSVL Semantics (GT Rules)2/13Integrity Constraints

    *

  • DSVL Syntax: Meta-model (II)

    Lightweight Executability Analysis of Graph transformation RulesBasic ConceptsGoalMethodConclusionsDomain Specific Visual LanguageDSVL Syntax (meta-model)DSVL Semantics (GT Rules)3/13mpEquivalent Concrete Syntaxmcapacity = 3pbusy = truep: PartAbstract SyntaxExample: Instantiation of the meta-model

    conceptimagePieceMachineConveyor

    *

  • DSVL Semantics: Graph Transformation Rules

    Lightweight Executability Analysis of Graph transformation RulesGraph Transformation is a formal, declarative and rule-based technique for expressing model manipulations.

    Extended (declarative) notationLHSRHSRule newMachineCompacted (operational) notationBasic ConceptsGoalMethodConclusionsDomain Specific Visual LanguageDSVL Syntax (meta-model)DSVL Semantics (GT Rules)4/13c1c2m1c1c2m1m2

    *

  • Lightweight Executability Analysis of Graph transformation RulesGoalGraph Transformation Rules are increasingly used in Model Driven Engineering to express model transformations

    There is a lack of methods able to analyse rule correctness

    Propose a lightweight, efficient and static method to check the weak executability of rulesContextualizationThe ProblemOur solutionBasic ConceptsGoalMethodConclusions5/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesWhat is Weak Executability of a rule?6/13Basic ConceptsGoalMethodConclusions

    *

  • Lightweight Executability Analysis of Graph transformation RulesWeak Executability: ExamplenewMachine7/13Basic ConceptsGoalMethodConclusions

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 1: Derive Actions

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACKExample: Rule newMachineBasic ConceptsGoalMethodConclusionsStep 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback8/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACKBasic ConceptsGoalMethodConclusionsStep 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback9/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACK

    Example: Rule newMachineBasic ConceptsGoalMethodConclusions10/13

    Step 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACK

    Example: Rule newMachineBasic ConceptsGoalMethodConclusions

    Step 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback10/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACK

    Example: Rule newMachineBasic ConceptsGoalMethodConclusions

    Step 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback10/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACK

    Example: Rule newMachineBasic ConceptsGoalMethodConclusions

    Step 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback10/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 2: Verify Weak Executability

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACK

    Example: Rule newMachineBasic ConceptsGoalMethodConclusions

    Step 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback10/13

    *

  • Lightweight Executability Analysis of Graph transformation RulesStep 3: Translate feedback

    Lightweight methodInputOutputDeclarative GTRFEEDBACKDerive actionsVerify Weak ExecutabilityTranslate

    Rule {action}

    FEEDBACKExample: Rule newMachine

    Basic ConceptsGoalMethodConclusionsStep 1: Derive ActionsStep 2: Verify Weak Executability Step 3: Translate Feedback11/13

    *

  • Conclusions Lightweight method for verifying the weak executability of GT Rules considering the meta-model integrity constraints.

    Feedback allows: Semi-automatic correction of the rules. Visually highlighting the problems detected.

    The method can be complemented with more powerful techniques as model checking.

    Lightweight Executability Analysis of Graph transformation RulesBasic ConceptsGoalMethodConclusions12/13

    *

  • Thanks for your attention!Elena Planas eplanash@uoc.eduLightweight Executability Analysis of Graph transformation Rules13/13

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *

    *