searching for strategies that verify mde toolchains
play

Searching for Strategies that Verify MDE Toolchains Simon Poulding, - PowerPoint PPT Presentation

Searching for Strategies that Verify MDE Toolchains Simon Poulding, University of York & DAASE collaboration with Louis Rose, University of York Context Approach Implementation Case Study Metamodels In Model-Driven Engineering (MDE),


  1. Searching for Strategies that Verify MDE Toolchains Simon Poulding, University of York & DAASE collaboration with Louis Rose, University of York

  2. Context Approach Implementation Case Study

  3. Metamodels In Model-Driven Engineering (MDE), model instances must comply to a metamodel Instance 1 that specifies attributes and associations B A Metamodel cost : 7 id : F45 B A C C 1..* cost : Int id : String size : 25 size : 30 0..* Instance 2 C size : Int B A cost : 3 id : J03 B cost : 18

  4. Model Transformations A common operation in MDE toolchains is the transformation of a model to another that conforms to a different metamodel B 1 Y 1 A 1 B 2 X 1 Y 2 model C 1 Y 3 transformation input output model model

  5. Testing Model Transformations To test a transformations requires a set of (possibly random) test cases in which the input data is a model instance Y 1 A 1 B 1 test case 1 X 1 Y 2 C 1 C 2 C 3 Y 3 A 2 B 3 Y 4 X 2 test case 2 B 4 Y 5 . . . . . . . . . Y 7 A 7 B 8 test case N X 6 Y 8 B 9 C 8 C 9 Y 9

  6. Motivation Our case study is motivated by a project in which model of behaviour is transformed into a form than can be embodied on a Lego Mindstorms robot http://lego.wikia.com/wiki/File:LEGO_Mindstorms_NXT.jpg.jpeg

  7. Problem Statement How can we randomly generate models for testing transformations so that a small test set of the models satisfies our testing objective?

  8. Context Approach Implementation Case Study

  9. Context-Free Grammars A Context-Free Grammar can be used to specify how to construct ‘well-formed’ test data S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ 4 + 2 * 5 3 3 * 2 - 5 / 0 / 3 -

  10. Stochastic Grammars By annotating productions rule with weights, a probability distribution is defined over the language defined by the grammar S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ 3 3 3 3 3 1

  11. Innovation: Conditional Weights Making the weights conditional on the values of other variables introduces a limited form of context-sensitivity S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ ‘+’ 2 2 2 2 2 2 ‘-’ 2 2 2 2 2 2 2 2 2 2 2 2 ‘*’ ‘/’ 3 3 3 3 3 1

  12. Innovation: Binned Scalars Adaptively ‘binning’ scalar variables enables a compact representation of distributions over large intervals S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘0’ | ‘1’ | ‘2’ | ‘3’ | ‘4’ | ‘5’ S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘[0,228]’ | ‘[229,433]’ | ‘[434,511]’

  13. Metaheuristic Search To optimise a distribution, search is applied to the weights, the conditionality between variables, and the partitioning of scalar ranges S → Expr Expr → Num | Expr Op Expr Op → ‘+’ | ‘-’ | ‘*’ | ‘/’ Num → ‘[0,228]’ | ‘[229,433]’ | ‘[434,511]’ 3 2 1

  14. Context Approach Implementation Case Study

  15. HUTN HUTN is a textual notation for model instances Model Instance Model Instance B A A { id: “F45” cost : 7 id : F45 b: B { cost: 7} c: C { size: 25}, C {size: 30} C C } size : 25 size : 30

  16. Grammar To Emit HUTN Metamodel We use a stochastic context-free grammar that emits HUTN which complies with the B A chosen metamodel 1..* cost : Int id : String 0..* C size : Int HUTN Grammar S → A A → ‘A’ ‘ { ’ ‘id:’ String ‘b:’ B1..* ‘c:’ C0..* ‘ } ’ B1..* → B | B ’,’ B1..* B → ‘ { ’ ‘cost:’ Cost ‘ } ’ Cost → ‘[0,100]’ · · · → · · ·

  17. Optimisation Process The HUTN grammar is optimised by evaluating set of models sampled from the candidate grammar (3) transform HUTN instances to model instances (2) sample instances from stochastic (1) transform HUTN instance model instance grammar metamodel to HUTN grammar HUTN instance model instance metamodel HUTN grammar HUTN instance model instance HUTN instance model instance HUTN instance model instance (5) use fitness (4) measure fitness to optimise grammar of model instances

  18. Physical Implementation Search executable optimises and samples from the grammar; in a servlet, instrumented MDE transformation converts HUTN to instances and assesses; components communicate over HTTP Instrumented Search Executable HTTP Transformation HUTN instance model instance HUTN instance model instance metamodel HUTN grammar HUTN instance model instance HUTN instance model instance HUTN instance model instance

  19. Context Approach Implementation Case Study

  20. Source Metamodel Specifies the models that are the inputs to the transformation under test http://lego.wikia.com/wiki/File:LEGO_Mindstorms_NXT.jpg.jpeg

  21. Objective: Statistical Testing Want to maximise frequency of covering every rule, guard, and condition as frequently as possible in order to minimise test set size frequency coverage element

  22. Experiments Compare efficiency of optimised and unoptimised grammar; random search as measure of ‘difficulty’ Optimised using hill-climbing (800 evaluations) v Unoptimised (‘uniform’ distribution) v Optimised using random search (800 evaluations)

  23. Results Number of test cases to cover all elements (with a 90% likelihood) - smaller is better optimised (hill-climb) unoptimised optimised (random search) 0 100 200 300 number of test cases

  24. Other Outcomes Process highlighted ambiguities and missing information in the original metamodel

  25. Future Work Automate metamodel to HUTN grammar conversion; speed up evaluation Instrumented Search Executable HTTP Transformation HUTN instance model instance HUTN instance model instance metamodel HUTN grammar HUTN instance model instance HUTN instance model instance HUTN instance model instance

  26. Further Details Simon Poulding, Robert Alexander, John A. Clark, and Mark J. Hadley The Optimisation of Stochastic Grammars to Enable Cost-Effective Probabilistic Structural Testing Proceedings of Genetic and Evolutionary Computation Conference (GECCO 2013) (to appear) Louis M. Rose and Simon Poulding Efficient Probabilistic Testing of Model Transformations using Search Proceedings of 1st International Workshop on Combining Modelling and Search- Based Software Engineering (CMBSE 2013) (to appear)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend