SlideShare a Scribd company logo
1 of 18
Lightweight  Executability  Analysis of  G raph  T ransformation  R ules Universitat Oberta de Catalunya, Spain École des Mines de Nantes, France Universitat Politècnica de Catalunya, Spain Universidad Autónoma de Madrid, Spain Universidad Autónoma de Madrid, Spain VL/HCC  – Madrid,  September  23, 2010 Elena Planas Jordi Cabot Cristina Gómez Esther Guerra Juan de Lara
DSVL :  D omain  S pecific  V isual  L anguage  Lightweight Executability Analysis of Graph transformation Rules DSL + VL = DSVL Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 1/13 Domain Specific Language Language specifically  designed for a particular  problem domain Visual Language Language where  images are used to  comunicate concepts  Defined by… …  its  Syntax   …  its  Semantic
Part capacity: int 0..1 0..1 0..1 0..1 cin cout 0..1 * * 1..* 1..* 0..1 context  Conveyor  inv : self .capacity > 0  and   self .part-> size ()<= self .capacity context  Machine  inv : if  ( self .busy=false) then   self .part-> size ()=0 else   self .part-> size ()>0  endif {xor} busy: boolean in out out in inConv inMachine Next Input Output Conveyor Machine DSVL Syntax :  M eta-model (I) Lightweight Executability Analysis of Graph transformation Rules Meta-modeling   is a  technique to describe  the structure of a language.  Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 2/13 Integrity Constraints
DSVL Syntax :  M eta-model (II) Lightweight Executability Analysis of Graph transformation Rules Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 3/13 m p Equivalent Concrete Syntax m capacity = 3 p busy = true p: Part Abstract Syntax Example :  Instantiation of the meta-model concept image Piece Machine Conveyor m: Machine busy = true c: Conveyor capacity = 3
DSVL Semantics :  G raph  T ransformation  R ules Lightweight Executability Analysis of Graph transformation Rules Graph Transformation  is a formal, declarative and rule-based  technique for expressing model manipulations. Extended (declarative) notation LHS RHS Rule  newMachine Compacted (operational) notation Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 4/13 c1 c2 m1 c1 c2 m1 m2 equivalent {del} {new} Rule  newMachine c1 c2 m1 m2
Lightweight Executability Analysis of Graph transformation Rules G oal Graph 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 rules Contextualization The Problem Our solution Basic Concepts Goal Method Conclusions 5/13
Lightweight Executability Analysis of Graph transformation Rules What is  Weak Executability  of a rule? 6/13 Basic Concepts Goal Method Conclusions A rule is  weakly executable  if it has a chance  of being successfully executed (the rule’s  execution generates a graph consistent with  the system’s integrity constraints).
Lightweight Executability Analysis of Graph transformation Rules Weak Executability:  Example new Machine 7/13 Basic Concepts Goal Method Conclusions capacity: int 0..1 1..* 1..* 0..1 busy: boolean in out out in Input Output Conveyor Machine The DSVL specifies… newMachine m1 {del} {new} c1 c2 m2 newMachine  is not weakly executable Target Model m1 c1 c2 c0 m2 Source Model m1 c1 c2 c0 Inconsistencies: has not any output conveyor busy  attribute of  has not been initialized  m2 m2
Lightweight Executability Analysis of Graph transformation Rules Step 1:  Derive Actions Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 8/13 DestroyLink(Input,conveyor,c2,machine,m1) m2 := CreateObject(Machine) CreateLink(Input,conveyor,c2,machine,m2) Action-based representation Declarative GTR m1 {del} {new } c1 c2 m2
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 9/13 Dependency Some actions require the presence of  other actions in order to be executable. In order to be Weak Executable,  a rule must satisfy all its dependencies.
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions 10/13 Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback action 1:  DestroyLink(Input,conveyor,c2,machine,m1) action 2:  m2 := CreateObject(Machine) action 3:   CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1:   CreateLink(Input,conveyor,X,machine,m2) dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:   UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB.  COMP.:  m2.busy =  Z action 2  dep 1.2
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 10/13 action 1:  DestroyLink(Input,conveyor,c2,machine,m1) action 2:  m2 := CreateObject(Machine) action 3:   CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1:   CreateLink(Input,conveyor,X,machine,m2) dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:   UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB.  COMP.:  m2.busy =  Z action 2  dep 1.2
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 10/13 action 1:  DestroyLink(Input,conveyor,c2,machine,m1) action 2:  m2 := CreateObject(Machine) action 3:   CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1:   CreateLink(Input,conveyor,X,machine,m2) dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:   UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB.  COMP.:  m2.busy =  Z action 2  dep 1.2
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 10/13 action 1:  DestroyLink(Input,conveyor,c2,machine,m1) action 2:  m2 := CreateObject(Machine) action 3:   CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1:   CreateLink(Input,conveyor,X,machine,m2) dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:   UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB.  COMP.:  m2.busy =  Z action 2  dep 1.2
Lightweight Executability Analysis of Graph transformation Rules Step 2:  Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability  Step 3: Translate Feedback 10/13 FEEDBACK action 1:  DestroyLink(Input,conveyor,c2,machine,m1) action 2:  m2 := CreateObject(Machine) action 3:   CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1:   CreateLink(Input,conveyor,X,machine,m2) dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:   UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB.  COMP.:  m2.busy =  Z action 2  dep 1.2
Lightweight Executability Analysis of Graph transformation Rules Step 3:  Translate feedback Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak  Executability Translate Rule {action} FEEDBACK E xample: Rule  newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability   Step 3: Translate Feedback 11/13 FEEDBACK dep1.2:   CreateLink(Output,machine,m2,conveyor,Y) dep1.3:  UpdateAttribute(m2,busy,Z) Weak Executable GTR m1 {del} {new } c1 c2 m2 Y ATTRIB. COMPUTATION: m2.busy =  Z
C onclusions ,[object Object],[object Object],[object Object],[object Object],[object Object],Lightweight Executability Analysis of Graph transformation Rules Basic Concepts Goal Method Conclusions 12/13
T hanks for your attention! Elena Planas  [email_address] Lightweight Executability Analysis of Graph transformation Rules 13/13

More Related Content

What's hot

RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
Marco Santambrogio
 
Transportation and assignment_problem
Transportation and assignment_problemTransportation and assignment_problem
Transportation and assignment_problem
Ankit Katiyar
 
Presentation mcrl2
Presentation mcrl2Presentation mcrl2
Presentation mcrl2
matifch
 
Numerical analysis m5 l2slides
Numerical analysis  m5 l2slidesNumerical analysis  m5 l2slides
Numerical analysis m5 l2slides
SHAMJITH KM
 
Lecture 8-9 block-diagram_representation_of_control_systems
Lecture 8-9 block-diagram_representation_of_control_systemsLecture 8-9 block-diagram_representation_of_control_systems
Lecture 8-9 block-diagram_representation_of_control_systems
Saifullah Memon
 
Iaetsd low power flip flops for vlsi applications
Iaetsd low power flip flops for vlsi applicationsIaetsd low power flip flops for vlsi applications
Iaetsd low power flip flops for vlsi applications
Iaetsd Iaetsd
 

What's hot (19)

Design of multiloop controller for
Design of multiloop controller forDesign of multiloop controller for
Design of multiloop controller for
 
HDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law GraphsHDRF: Stream-Based Partitioning for Power-Law Graphs
HDRF: Stream-Based Partitioning for Power-Law Graphs
 
GASGD: Stochastic Gradient Descent for Distributed Asynchronous Matrix Comple...
GASGD: Stochastic Gradient Descent for Distributed Asynchronous Matrix Comple...GASGD: Stochastic Gradient Descent for Distributed Asynchronous Matrix Comple...
GASGD: Stochastic Gradient Descent for Distributed Asynchronous Matrix Comple...
 
My Postdoctoral Research
My Postdoctoral ResearchMy Postdoctoral Research
My Postdoctoral Research
 
RCIM 2008 - Modello Scheduling
RCIM 2008 - Modello SchedulingRCIM 2008 - Modello Scheduling
RCIM 2008 - Modello Scheduling
 
Block diagram representation of DT systems
Block diagram representation of DT systemsBlock diagram representation of DT systems
Block diagram representation of DT systems
 
Transportation and assignment_problem
Transportation and assignment_problemTransportation and assignment_problem
Transportation and assignment_problem
 
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
4 - Simulation and analysis of different DCT techniques on MATLAB (presented ...
 
Second Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentationSecond Genetic algorithm and Job-shop scheduling presentation
Second Genetic algorithm and Job-shop scheduling presentation
 
MCRL2
MCRL2MCRL2
MCRL2
 
A Brief History of Stream Processing
A Brief History of Stream ProcessingA Brief History of Stream Processing
A Brief History of Stream Processing
 
Presentation mcrl2
Presentation mcrl2Presentation mcrl2
Presentation mcrl2
 
Numerical analysis m5 l2slides
Numerical analysis  m5 l2slidesNumerical analysis  m5 l2slides
Numerical analysis m5 l2slides
 
job scheduling
job schedulingjob scheduling
job scheduling
 
Transfer Learning for Performance Analysis of Configurable Systems: A Causal ...
Transfer Learning for Performance Analysis of Configurable Systems:A Causal ...Transfer Learning for Performance Analysis of Configurable Systems:A Causal ...
Transfer Learning for Performance Analysis of Configurable Systems: A Causal ...
 
Start MPC
Start MPC Start MPC
Start MPC
 
Lecture 8-9 block-diagram_representation_of_control_systems
Lecture 8-9 block-diagram_representation_of_control_systemsLecture 8-9 block-diagram_representation_of_control_systems
Lecture 8-9 block-diagram_representation_of_control_systems
 
Contract-Based Integration of Cyber-Physical Analyses (Poster)
Contract-Based Integration of Cyber-Physical Analyses (Poster)Contract-Based Integration of Cyber-Physical Analyses (Poster)
Contract-Based Integration of Cyber-Physical Analyses (Poster)
 
Iaetsd low power flip flops for vlsi applications
Iaetsd low power flip flops for vlsi applicationsIaetsd low power flip flops for vlsi applications
Iaetsd low power flip flops for vlsi applications
 

Viewers also liked

Two Basic Correctness Properties for ATL Transformations: Executability and C...
Two Basic Correctness Properties for ATL Transformations: Executability and C...Two Basic Correctness Properties for ATL Transformations: Executability and C...
Two Basic Correctness Properties for ATL Transformations: Executability and C...
Elena Planas
 
21 V S 223 The Endocrine System
21    V S 223  The  Endocrine  System21    V S 223  The  Endocrine  System
21 V S 223 The Endocrine System
Sanjay Bhalerao
 
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
Elena Planas
 
Presentation
PresentationPresentation
Presentation
nickson
 
Programme
ProgrammeProgramme
Programme
nickson
 
Lightweight Static Verification of [UML] Executable Models (An overview)
Lightweight Static Verification of [UML] Executable Models (An overview)Lightweight Static Verification of [UML] Executable Models (An overview)
Lightweight Static Verification of [UML] Executable Models (An overview)
Elena Planas
 
Novo technologies Pvt. Ltd.
Novo technologies Pvt. Ltd.Novo technologies Pvt. Ltd.
Novo technologies Pvt. Ltd.
samarthgoyal
 
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
Elena Planas
 

Viewers also liked (17)

CISCO Investment Banking
CISCO Investment BankingCISCO Investment Banking
CISCO Investment Banking
 
Two Basic Correctness Properties for ATL Transformations: Executability and C...
Two Basic Correctness Properties for ATL Transformations: Executability and C...Two Basic Correctness Properties for ATL Transformations: Executability and C...
Two Basic Correctness Properties for ATL Transformations: Executability and C...
 
21 V S 223 The Endocrine System
21    V S 223  The  Endocrine  System21    V S 223  The  Endocrine  System
21 V S 223 The Endocrine System
 
SolomoIndia
SolomoIndiaSolomoIndia
SolomoIndia
 
LISS Ricardo Ferreira
LISS Ricardo FerreiraLISS Ricardo Ferreira
LISS Ricardo Ferreira
 
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
Verifying Action Semantics Specifications in UML Behavioral Models (CAiSE 2009)
 
Lightweight Verification of Executable Models
Lightweight Verification of Executable ModelsLightweight Verification of Executable Models
Lightweight Verification of Executable Models
 
More Than A Job Board Talent Source
More Than A Job Board Talent SourceMore Than A Job Board Talent Source
More Than A Job Board Talent Source
 
Presentation
PresentationPresentation
Presentation
 
Slidecast
SlidecastSlidecast
Slidecast
 
Programme
ProgrammeProgramme
Programme
 
Lightweight Static Verification of [UML] Executable Models (An overview)
Lightweight Static Verification of [UML] Executable Models (An overview)Lightweight Static Verification of [UML] Executable Models (An overview)
Lightweight Static Verification of [UML] Executable Models (An overview)
 
myworks-goldeni
myworks-goldenimyworks-goldeni
myworks-goldeni
 
Novo technologies Pvt. Ltd.
Novo technologies Pvt. Ltd.Novo technologies Pvt. Ltd.
Novo technologies Pvt. Ltd.
 
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
A Framework for Verifying UML Behavioral Models (CAiSE Doctoral Consortium 2009)
 
PhD Thesis defense: Lightweight and Static verification of UML Executable Models
PhD Thesis defense: Lightweight and Static verification of UML Executable ModelsPhD Thesis defense: Lightweight and Static verification of UML Executable Models
PhD Thesis defense: Lightweight and Static verification of UML Executable Models
 
Flat back Case
Flat back CaseFlat back Case
Flat back Case
 

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

M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
Dang Tuan
 
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
MauroRubieri
 
A review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementationA review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementation
ssuserfa7e73
 
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptxModelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
KadiriIbrahim2
 

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

M03 2 Behavioral Diagrams
M03 2 Behavioral DiagramsM03 2 Behavioral Diagrams
M03 2 Behavioral Diagrams
 
matlab_simulink_for_control082p.pdf
matlab_simulink_for_control082p.pdfmatlab_simulink_for_control082p.pdf
matlab_simulink_for_control082p.pdf
 
Biosight: Quantitative Methods for Policy Analysis - Introduction to GAMS, Li...
Biosight: Quantitative Methods for Policy Analysis - Introduction to GAMS, Li...Biosight: Quantitative Methods for Policy Analysis - Introduction to GAMS, Li...
Biosight: Quantitative Methods for Policy Analysis - Introduction to GAMS, Li...
 
Lecture2a algorithm
Lecture2a algorithmLecture2a algorithm
Lecture2a algorithm
 
Spark summit talk, july 2014 powered by reveal
Spark summit talk, july 2014 powered by revealSpark summit talk, july 2014 powered by reveal
Spark summit talk, july 2014 powered by reveal
 
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
Summary of “Efficient large-scale fleet management via multi-agent deep reinf...
 
PID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB ApproachPID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB Approach
 
A review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementationA review of automatic differentiationand its efficient implementation
A review of automatic differentiationand its efficient implementation
 
Google lme4
Google lme4Google lme4
Google lme4
 
Dynamic Matrix Control (DMC) on jacket tank heater - Rishikesh Bagwe
Dynamic Matrix Control (DMC) on jacket tank heater - Rishikesh BagweDynamic Matrix Control (DMC) on jacket tank heater - Rishikesh Bagwe
Dynamic Matrix Control (DMC) on jacket tank heater - Rishikesh Bagwe
 
CE150--Hongyi Huang
CE150--Hongyi HuangCE150--Hongyi Huang
CE150--Hongyi Huang
 
Final Presentation
Final PresentationFinal Presentation
Final Presentation
 
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
FPGA Implementation of 2-D DCT & DWT Engines for Vision Based Tracking of Dyn...
 
Design & Analysis of Algorithm course .pptx
Design & Analysis of Algorithm course .pptxDesign & Analysis of Algorithm course .pptx
Design & Analysis of Algorithm course .pptx
 
Oct.22nd.Presentation.Final
Oct.22nd.Presentation.FinalOct.22nd.Presentation.Final
Oct.22nd.Presentation.Final
 
The what over the how (another way on android development with kotlin)
The what over the how (another way on android development with kotlin)The what over the how (another way on android development with kotlin)
The what over the how (another way on android development with kotlin)
 
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptxModelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
Modelling using differnt metods in matlab2 (2) (2) (2) (4) (1) (1).pptx
 
Unit i
Unit iUnit i
Unit i
 
Neural Networks - How do they work?
Neural Networks - How do they work?Neural Networks - How do they work?
Neural Networks - How do they work?
 
Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...Applying Transformation Characteristics to Solve the Multi Objective Linear F...
Applying Transformation Characteristics to Solve the Multi Objective Linear F...
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

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

  • 1. Lightweight Executability Analysis of G raph T ransformation R ules Universitat Oberta de Catalunya, Spain École des Mines de Nantes, France Universitat Politècnica de Catalunya, Spain Universidad Autónoma de Madrid, Spain Universidad Autónoma de Madrid, Spain VL/HCC – Madrid, September 23, 2010 Elena Planas Jordi Cabot Cristina Gómez Esther Guerra Juan de Lara
  • 2. DSVL : D omain S pecific V isual L anguage Lightweight Executability Analysis of Graph transformation Rules DSL + VL = DSVL Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 1/13 Domain Specific Language Language specifically designed for a particular problem domain Visual Language Language where images are used to comunicate concepts Defined by… … its Syntax … its Semantic
  • 3. Part capacity: int 0..1 0..1 0..1 0..1 cin cout 0..1 * * 1..* 1..* 0..1 context Conveyor inv : self .capacity > 0 and self .part-> size ()<= self .capacity context Machine inv : if ( self .busy=false) then self .part-> size ()=0 else self .part-> size ()>0 endif {xor} busy: boolean in out out in inConv inMachine Next Input Output Conveyor Machine DSVL Syntax : M eta-model (I) Lightweight Executability Analysis of Graph transformation Rules Meta-modeling is a technique to describe the structure of a language. Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 2/13 Integrity Constraints
  • 4. DSVL Syntax : M eta-model (II) Lightweight Executability Analysis of Graph transformation Rules Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 3/13 m p Equivalent Concrete Syntax m capacity = 3 p busy = true p: Part Abstract Syntax Example : Instantiation of the meta-model concept image Piece Machine Conveyor m: Machine busy = true c: Conveyor capacity = 3
  • 5. DSVL Semantics : G raph T ransformation R ules Lightweight Executability Analysis of Graph transformation Rules Graph Transformation is a formal, declarative and rule-based technique for expressing model manipulations. Extended (declarative) notation LHS RHS Rule newMachine Compacted (operational) notation Basic Concepts Goal Method Conclusions Domain Specific Visual Language DSVL Syntax (meta-model) DSVL Semantics (GT Rules) 4/13 c1 c2 m1 c1 c2 m1 m2 equivalent {del} {new} Rule newMachine c1 c2 m1 m2
  • 6. Lightweight Executability Analysis of Graph transformation Rules G oal Graph 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 rules Contextualization The Problem Our solution Basic Concepts Goal Method Conclusions 5/13
  • 7. Lightweight Executability Analysis of Graph transformation Rules What is Weak Executability of a rule? 6/13 Basic Concepts Goal Method Conclusions A rule is weakly executable if it has a chance of being successfully executed (the rule’s execution generates a graph consistent with the system’s integrity constraints).
  • 8. Lightweight Executability Analysis of Graph transformation Rules Weak Executability: Example new Machine 7/13 Basic Concepts Goal Method Conclusions capacity: int 0..1 1..* 1..* 0..1 busy: boolean in out out in Input Output Conveyor Machine The DSVL specifies… newMachine m1 {del} {new} c1 c2 m2 newMachine is not weakly executable Target Model m1 c1 c2 c0 m2 Source Model m1 c1 c2 c0 Inconsistencies: has not any output conveyor busy attribute of has not been initialized m2 m2
  • 9. Lightweight Executability Analysis of Graph transformation Rules Step 1: Derive Actions Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 8/13 DestroyLink(Input,conveyor,c2,machine,m1) m2 := CreateObject(Machine) CreateLink(Input,conveyor,c2,machine,m2) Action-based representation Declarative GTR m1 {del} {new } c1 c2 m2
  • 10. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 9/13 Dependency Some actions require the presence of other actions in order to be executable. In order to be Weak Executable, a rule must satisfy all its dependencies.
  • 11. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions 10/13 Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback action 1: DestroyLink(Input,conveyor,c2,machine,m1) action 2: m2 := CreateObject(Machine) action 3: CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1: CreateLink(Input,conveyor,X,machine,m2) dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB. COMP.: m2.busy = Z action 2 dep 1.2
  • 12. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 10/13 action 1: DestroyLink(Input,conveyor,c2,machine,m1) action 2: m2 := CreateObject(Machine) action 3: CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1: CreateLink(Input,conveyor,X,machine,m2) dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB. COMP.: m2.busy = Z action 2 dep 1.2
  • 13. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 10/13 action 1: DestroyLink(Input,conveyor,c2,machine,m1) action 2: m2 := CreateObject(Machine) action 3: CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1: CreateLink(Input,conveyor,X,machine,m2) dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB. COMP.: m2.busy = Z action 2 dep 1.2
  • 14. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 10/13 action 1: DestroyLink(Input,conveyor,c2,machine,m1) action 2: m2 := CreateObject(Machine) action 3: CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1: CreateLink(Input,conveyor,X,machine,m2) dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB. COMP.: m2.busy = Z action 2 dep 1.2
  • 15. Lightweight Executability Analysis of Graph transformation Rules Step 2: Verify Weak Executability Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 10/13 FEEDBACK action 1: DestroyLink(Input,conveyor,c2,machine,m1) action 2: m2 := CreateObject(Machine) action 3: CreateLink(Input,conveyor,c2,machine,m2) Action-based representation dep1.1: CreateLink(Input,conveyor,X,machine,m2) dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Dependencies {new} dep 1.2 dep 1.1 dep 1.3 AND AND {new} m2 X Y m2 {new} m2 ATTRIB. COMP.: m2.busy = Z action 2 dep 1.2
  • 16. Lightweight Executability Analysis of Graph transformation Rules Step 3: Translate feedback Lightweight method Input Output Declarative GTR FEEDBACK Derive actions Verify Weak Executability Translate Rule {action} FEEDBACK E xample: Rule newMachine Basic Concepts Goal Method Conclusions Step 1: Derive Actions Step 2: Verify Weak Executability Step 3: Translate Feedback 11/13 FEEDBACK dep1.2: CreateLink(Output,machine,m2,conveyor,Y) dep1.3: UpdateAttribute(m2,busy,Z) Weak Executable GTR m1 {del} {new } c1 c2 m2 Y ATTRIB. COMPUTATION: m2.busy = Z
  • 17.
  • 18. T hanks for your attention! Elena Planas [email_address] Lightweight Executability Analysis of Graph transformation Rules 13/13