150 likes | 283 Views
Validation of Model Transformations - First Experiences using a White Box Approach. Jochen K üster 1 , Mohamed Abd-El-Razik 2 1 IBM Research , 2 IBM Cairo Technology Development Center. Outline of the talk. Model Transformations for Business Process Models
E N D
Validation of Model Transformations- First Experiences using a White Box Approach Jochen Küster1, Mohamed Abd-El-Razik2 1IBM Research, 2IBM Cairo Technology Development Center Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Outline of the talk • Model Transformations for Business Process Models • Testing Techniques for Model Transformations • Conclusions Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Business Requirements Background: Business-Driven Development business process monitoring, change of strategy Business Model Model refinement Business Process Model Model transformation Technology BPEL, WSDL, J2EE, WebSphere IT Solution Business-driven development comprises: • Modeling of business processes • Transformation and refinement of business process models • Mapping of processes to Service-oriented Architecture Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Model Transformations on Business Process Models • Cycle Removal Transformation • Transformations for Abstraction and Refinement • Transformations into a Normal Form (Control Action To Pinset) Control Action To Pinset transformation Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Conceptual Rules for Transformation Design A B1 B1 Abstract node type: A A • Conceptual rules capture the main concepts of the transformation • Conceptual rules are refined into concrete rules by: • Replacing abstract node types with concrete ones • Replacing abstract edges with possible instantiations • Replacing abstract pin sets with possible instantiations • large meta model and elaborate OCL constraints • model transformation is implemented in Java using a transformation framework Abstract pinset: .. .. Abstract edge: Bn Bn Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Outline of the talk • Model Transformations for Business Process Models • Testing Techniques for Model Transformations • Conclusions Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Motivation for Testing Model Transformations Statement: “Model Transformations are software too.” • need to be properly tested in order to ensure their quality • have specific characteristics that require special test case generation approaches Testing challenges: • Generation of test cases from model transformation specifications • Generation of test oracles for determining expected result of test Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Fault Model for Model Transformations Fault Model: what errors are we looking for? • Meta model coverage: Some input models are not transformed because conceptual rule has not been refined completely • Syntactically incorrect models: Output model is not syntactically correct (e.g. OCL constraint violated) • Semantically incorrect models: Output model is not semantically correct (e.g. Fork has been replaced by an implicit decision) • Confluence errors: Transformation produces different outputs on the same (or equivalent) input model • Correctness of transformation semantics: Transformation does not preserve a desired property Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
B1 B1 A A Conceptual rule: .. .. Bn Bn X={StartNode, Fork, Join, Decision, Merge, Task, Subprocess, LoopNode, Broadcast, AcceptSignal} Y X Template(X,Y,Z): Y={FinalNode, Fork, Join, Decision, Merge, Task, Subprocess, LoopNode, Broadcast, AcceptSignal, Map} Z Z={FinalNode, Fork, Join, Decision, Merge, Task, Subprocess, LoopNode, Broadcast, AcceptSignal, Map} Meta model coverage testing (1) Goal: Ensure meta model coverage of a conceptual rule Approach: Convert conceptual rule into a template • Make selected abstract elements concrete • Parameterize remaining abstract elements by meta classes Abstract pins and pin sets Concrete elements Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Meta model coverage testing (2) • Template can be used to generate test cases automatically • Test cases can be used for automated testing Benefits: • can be used for ensuring meta model coverage of implemented rules • can be used for finding selected syntactic and semantic errors Drawbacks: • properties that are not restricted to one rule cannot be validated Test Cases: Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Constraint-based testing Goal: Ensure that the model transformation does not violate constraints (e.g. OCL constraints) Approach: • Identify model elements changed by the transformation (automatable) • Identify constraints that may be violated (automatable) • Construct a test case for each constraint (manually) Constraint: A Loopnode has one regular output pin set Test case: Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Rule Pair Testing (1) Goal: Find confluence errors by testing Background: • confluence requires that application of rules on the same model always yields the same result • rules can be analysed and verified whether they are confluent or not (see J. Küster, Definition and Validation of Model Transformations, SOSYM 5(3), September 2006) • absence of complete specification of rules: Testing for confluence using suitable test cases Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
B1 A .. Bn C1 A2 .. Cn Rule Pair Testing (2) Approach: • test cases obtained by constructing models by overlapping the left sides of two rules • throw away incorrect models Rule r1 Rule r3 Possible test case obtained by overlapping: A2 = Fork, B1 = Decision Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
Conclusions and Future Work • Model transformations need appropriate testing techniques in order to ensure their quality • Testing techniques need to take into account fault model and implementation environment • Meta model coverage, constraint-based and rule pairs for test cases proposed Future work: • Automatic generation of test cases for constraints • Tool support Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com
The Business Integration Technologies group is part of a world-wide research initiative on Model-Driven Business Transformation. BIT focuses on technologies for business-driven development. Model Transform Manage Integrate Monitor Business Integration Technologies @ Zurich Research Process modeling methodologies Reference model customization Process model quality assurance Flow-driven and state-driven modeling Process Model Refinement Top-down and Bottom-up transformations - Analysis to Design model transformations - Capturing of IT requirements & architectural mismatches Zurich Research Laboratory - BIT http://bpia.zurich.ibm.com