Your SlideShare is downloading. ×
  • Like
Domain-specific model refactoring - a case study with executable gestural interaction models
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Domain-specific model refactoring - a case study with executable gestural interaction models

  • 71 views
Published

In this presentation we present the challenge of providing generic support for domain-specific model refactoring. We explain the need and present a solution to this problem by means of a case study. …

In this presentation we present the challenge of providing generic support for domain-specific model refactoring. We explain the need and present a solution to this problem by means of a case study. The case study uses a domain-specific modelling language for specifying and refactoring executable models of applications that use gestural interactions (hand movements) to control virtual objects in a 3D environment.

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
71
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Challenges  in   so,ware  refactoring   Tom  Mens  and  Romuald  Deshayes   Faculty  of  Sciences,  University  of  Mons,  Belgium   Dagstuhl  Seminar  14211  “The  Future  of  Refactoring”     19-­‐23  May  2014,  Germany  
  • 2. Challenge     Domain-­‐specific  model  refactoring   •  Context   –  Executable  so,ware  models  are  expressed  in  a  domain-­‐ specific  modeling  language   •  Goal   –  Facilitate  model  development  by  providing  model   refactoring  support   –  Verify  behaviour  preservaPon   •  Challenge   –  Provide  generic  support  for  domain-­‐specific  model   refactoring     •  Case  study   –  Develop  executable  models  of  HMI  applicaPons   using  gestural  interac5on  with  virtual  3D  objects  
  • 3. Case  study:  gestural  interacPon   •  ManipulaPng  books  on  a  virtual  bookshelf   PUT  SCREENSHOT  HERE  
  • 4. Case  study:  gestural  interacPon   •  ManipulaPng  books  on  a  virtual  bookshelf   – Executable  model  is  expressed  in  GISMO  DSML  
  • 5. Case  study:  gestural  interacPon   ShooPng  arrows  with  a  virtual  bow  
  • 6. Domain-­‐specific  model  refactoring   •  Expressed  as  graph  transformaPons  (in  AtoMPM)   •  Refactoring  examples   1.  Add  reflexive  gesture   2.  Switch  le,  and  right  hand  gestures   R_RightToLe,  
  • 7. Domain-­‐specific  model  refactoring   Behavior  preservaPon   •  First  approach:  using  model  tesPng   – Specify  an  input  model,  run  the  applicaPon  using  the   input  model  and  verify  if  the  expected  output  is   reached   – Example:  if  we  run  the  following  input  model  from   acPve  state  Sheathed  we  should  reach  state  Drawn  
  • 8. Domain-­‐specific  model  refactoring   Behavior  preservaPon   •  First  approach:  using  model  tesPng   if  we  run  the  input  model  from  state   “Sheathed”  we  should  reach  state   “Drawn”  
  • 9. Domain-­‐specific  model  refactoring   Behavior  preservaPon   •  Second  approach:  by  verifying  properPes  on  the  model   1.  Express  a  temporal  or  structural  properPes  using  the   concrete  DSML  syntax   2.  AutomaPcally  convert  the  property  in  an  appropriate   formalism   •  E.g.  express  temporal  properPes  as  LTL  constraints  in  the   PROMELA  verificaPon  modeling  language   •  E.g.  express  structural  constraints  using  OCL   3.  Use  model  checkers  to  verify  preservaPon  of  properPes   before  and  a,er  the  model  refactoring   •  E.g.  SPIN  model  checker  for  temporal  constraints  in  PROMELA   •  E.g.  OCL  model  checker  for  structural  constraints  
  • 10. Domain-­‐specific  model  refactoring   Behavior  preservaPon   •  Examples  of  temporal  proper5es   – (Specific)  A  bow  cannot  be  bent    before  having  placed  an  arrow  on  it   – (Specific)  It  should  always  be  possible   to  return  to  the  “sheathed”  state   – (Generic)  Every  gesture  in  the  model   should  eventually  be  able  to  be  triggered   – (Generic)  Every  state  should  be   reachable  from  every  other  state  
  • 11. Domain-­‐specific  model  refactoring   Behavior  preservaPon   •  Examples  of  structural  proper5es     – If  a  bow  is  in  the  bending  state,  the  number  of   available  arrows  must  be  >0     – A  bow  cannot  be  manipulated  by  more  than  one  hand  
  • 12. Domain-­‐specific  model  refactoring   Model  improvement   •  Apply  model  refactorings  to  resolve  model  smells   – Model  smells  =   desired  properPes   that  are  not  saPsfied   by  the  model   •  E.g.  It  should  always  be   possible  to  return  to   the  Sheathed  state   •  This  property  is  not   verified  in  the   following  model  è  
  • 13. Domain-­‐specific  model  refactoring   Model  improvement   •  Apply  model  refactorings  to  resolve  model  smells   – Model  smells  =   desired  properPes   that  are  not  saPsfied   by  the  model   •  E.g.  It  should  always  be   possible  to  return  to   the  Sheathed  state   •  Adding  a  gestural   transiPon  from  Drawn   to  Sheathed  makes   the  property  verified  è  
  • 14. Further  Reading   •  J.  Zhang,  Y.  Lin,  J.  Gray.  Generic  and  Domain-­‐Specific  Model   Refactoring  Using  a  Model  TransformaPon  Engine.  In  Model-­‐Driven   So,ware  Development,  Springer  (2005)   •  T.  Mens.  On  the  use  of  graph  transformaPons  for  model   refactoring.  GTTSE  (2006)   •  R.Deshayes,  Ph.  Palanque,  T.  Mens.  A  generic  framework  for   executable  gestural  interacPon  models.  VL/HCC:  35-­‐38  (2013)   •  R.  Deshayes:  A  domain-­‐specific  modeling  approach  for  gestural   interacPon.  VL/HCC:  181-­‐182  (2013)   •  R.  Deshayes,  T.  Mens,  Ph.  Palanque.  PetriNect.  A  tool  for   executable  modeling  of  gestural  interacPon.  VL/HCC:  197-­‐198   (2013)   •  B.  Meyers,  M.  Wimmer,  H.  Vangheluwe.  Towards  domain-­‐specific   property  languages:  The  ProMoBox  approach.  Proc.  ACM  workshop   Domain-­‐Specific  Modeling  (2013)