Challenges	
  in	
  
so,ware	
  refactoring	
  
Tom	
  Mens	
  and	
  Romuald	
  Deshayes	
  
Faculty	
  of	
  Sciences,	
...
Challenge	
  	
  
Domain-­‐specific	
  model	
  refactoring	
  
•  Context	
  
–  Executable	
  so,ware	
  models	
  are	
 ...
Case	
  study:	
  gestural	
  interacPon	
  
•  ManipulaPng	
  books	
  on	
  a	
  virtual	
  bookshelf	
  
PUT	
  SCREENS...
Case	
  study:	
  gestural	
  interacPon	
  
•  ManipulaPng	
  books	
  on	
  a	
  virtual	
  bookshelf	
  
– Executable	
...
Case	
  study:	
  gestural	
  interacPon	
  
ShooPng	
  arrows	
  with	
  a	
  virtual	
  bow	
  
Domain-­‐specific	
  model	
  refactoring	
  
•  Expressed	
  as	
  graph	
  transformaPons	
  (in	
  AtoMPM)	
  
•  Refact...
Domain-­‐specific	
  model	
  refactoring	
  
Behavior	
  preservaPon	
  
•  First	
  approach:	
  using	
  model	
  tesPng...
Domain-­‐specific	
  model	
  refactoring	
  
Behavior	
  preservaPon	
  
•  First	
  approach:	
  using	
  model	
  tesPng...
Domain-­‐specific	
  model	
  refactoring	
  
Behavior	
  preservaPon	
  
•  Second	
  approach:	
  by	
  verifying	
  prop...
Domain-­‐specific	
  model	
  refactoring	
  
Behavior	
  preservaPon	
  
•  Examples	
  of	
  temporal	
  proper5es	
  
– ...
Domain-­‐specific	
  model	
  refactoring	
  
Behavior	
  preservaPon	
  
•  Examples	
  of	
  structural	
  proper5es	
  	...
Domain-­‐specific	
  model	
  refactoring	
  
Model	
  improvement	
  
•  Apply	
  model	
  refactorings	
  to	
  resolve	
...
Domain-­‐specific	
  model	
  refactoring	
  
Model	
  improvement	
  
•  Apply	
  model	
  refactorings	
  to	
  resolve	
...
Further	
  Reading	
  
•  J.	
  Zhang,	
  Y.	
  Lin,	
  J.	
  Gray.	
  Generic	
  and	
  Domain-­‐Specific	
  Model	
  
Ref...
Upcoming SlideShare
Loading in …5
×

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

291 views
197 views

Published on

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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
291
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 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. 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. 3. Case  study:  gestural  interacPon   •  ManipulaPng  books  on  a  virtual  bookshelf   PUT  SCREENSHOT  HERE  
  4. 4. Case  study:  gestural  interacPon   •  ManipulaPng  books  on  a  virtual  bookshelf   – Executable  model  is  expressed  in  GISMO  DSML  
  5. 5. Case  study:  gestural  interacPon   ShooPng  arrows  with  a  virtual  bow  
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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)  

×