DSL Composition for Model- Based Test Generation (or Adding Testability to a DSL by using DSL Composition) Bruno Barroca, Vasco Amaral and Luís Pedro Levi.

Slides:



Advertisements
Similar presentations
1. Scala 2. Traffic DSL in Scala 3. Comparison AToM3 4. Conclusion & Future work.
Advertisements

Tristan Aubrey-Jones Bernd Fischer Synthesizing MPI Implementations from Functional Data-Parallel Programs.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
1 How to transform an analyzer into a verifier. 2 OUTLINE OF THE LECTURE a verification technique which combines abstract interpretation and Park’s fixpoint.
8. Introduction to Denotational Semantics. © O. Nierstrasz PS — Denotational Semantics 8.2 Roadmap Overview:  Syntax and Semantics  Semantics of Expressions.
A Technique for Automatic Validation of Model Transformations Levi Lúcio and Bruno Barroca Universidade Nova de Lisboa.
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio, Didier Buchs M-TOOS, Portland 4/30/2015.
Hüseyin Ergin University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
C SC 620 Advanced Topics in Natural Language Processing Lecture 20 4/8.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
CSCI 5582 Fall 2006 CSCI 5582 Artificial Intelligence Lecture 9 Jim Martin.
C SC 520 Principles of Programming Languages 1 C SC 520: Principles of Programming Languages Peter J. Downey Department of Computer Science Spring 2006.
SATEL Semi Automatic TEsting Language University of Geneva Levi Lúcio VALID Meeting - Besançon 10/3/06.
UNIVERSITY OF SOUTH CAROLINA Department of Computer Science and Engineering CSCE 330 Programming Language Structures Chapter 6: Type Systems Fall 2009.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 6 Type Systems I was eventually persuaded.
Describing Syntax and Semantics
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
Formalizing ODP Computational Viewpoint Specification in Maude Raúl Romero and Antonio Vallecillo EDOC 2004 Dpto. Lenguajes y Ciencias de la Computación.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Verification of Translation Model Transformations Levi Lúcio †, Bentley James Oakes, and Hans Vangheluwe †,‡ † School of Computer Science, McGill University,
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
A REFACTORING TOOL FOR DESIGN PATTERNS WITH MODEL TRANSFORMATIONS Zekai Demirezen Yasemin Topaloğlu Ege University Department of Computer Engineering
Templates. The Problem Supplier X A range on the data sheet.
Interoperability in Information Schemas Ruben Mendes Orientador: Prof. José Borbinha MEIC-Tagus Instituto Superior Técnico.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Diagram Definition A Case Study with the UML Class Diagram MoDELS 2011, Wellington, NZ By Maged Elaasar 1,2 (Presenter) and Yvan Labiche.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Automatic Test Generation from here until the end (of my Phd.) University of Geneva Levi Lúcio SMV & Les Diablerets.
1 Levi Lúcio © A Test Selection Language for CO-OPN Specifications Levi Lúcio, Luis Pedro and Didier Buchs University of Geneva.
111 Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract,
Chapter Twenty-ThreeModern Programming Languages1 Formal Semantics.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
A language to describe software texture in abstract design models and implementation.
Formal Semantics Chapter Twenty-ThreeModern Programming Languages, 2nd ed.1.
Markov Logic and Deep Networks Pedro Domingos Dept. of Computer Science & Eng. University of Washington.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
Generating Correct EPCs from Configured C-EPCs* Jan MendlingVienna University of Economics Jan ReckerQueensland University of Technology Michael RosemannQueensland.
1 Programming Languages Fundamentals Cao Hoaøng Truï Khoa Coâng Ngheä Thoâng Tin Ñaïi Hoïc Baùch Khoa TP. HCM.
Parse & Syntax Trees Syntax & Semantic Errors Mini-Lecture.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Reusable Specification of Non-functional Properties in DSLs Francisco Durán, Steffen Zschaler, and Javier Troya 28 September, 2012.
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
CS6133 Software Specification and Verification
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Formal Semantics of Programming Languages 虞慧群 Topic 2: Operational Semantics.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs Ulyana Tikhonova St. Petersburg State Polytechnical University,
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 8 Semantic Interpretation To understand a.
A Methodology and a Framework for Test Case Generation
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
State Digrams in UML: A Formal Senmatics using Graph Transformations
Design of Transmission Pipeline Modelling Language
Generic Language Technology (2IS15) Dynamic Semantics
Defining A Formal Semantics For The Rosetta Specification Language
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Semantic Markup for Semantic Web Tools:
If there is any case in which true premises lead to a false conclusion, the argument is invalid. Therefore this argument is INVALID.
If there is any case in which true premises lead to a false conclusion, the argument is invalid. Therefore this argument is INVALID.
Presentation transcript:

DSL Composition for Model- Based Test Generation (or Adding Testability to a DSL by using DSL Composition) Bruno Barroca, Vasco Amaral and Luís Pedro Levi Lúcio, Didier Buchs

Merge of SATEL and HALL 2

What is SATEL? Template language for test generation Depends on the – Syntax of the target DSL: input and output types of the target DSL and data type signatures – Semantics of the target DSL: step and type semantics of the target DSL 3

Semantics of the Merged Language HALL model Instantiated Test Intention ? ⊨, true … Valid tests for TestMark, false … Invalid tests for TestMark 4

Starting point: merge of SATEL and HALL in Prolog 5

Motivation We merged, using Prolog, a test specification language and a DSL to add testability to that DSL. Can we formalize that merge in terms of language composition? Can we use the formalization to add testability to any DSL? 6

Road Map Starting point: merge of SATEL and HALL in Prolog CoPsy: a DSL composition framework SATEL + HALL composition formalization Extrapolation of the approach Conclusions and future work 7

CoPsy: Syntactic Composition parametric metamodel effective parameter metamodel Φ={(B fp,C ep )} 8

CoPsy: Semantic Composition Syntactic Composition 9 Ψ={(tr2 fp,tr2 ep )}

Road Map Starting point: merge of SATEL and HALL in Prolog CoPsy: a DSL composition framework SATEL + HALL composition formalization Extrapolation of the approach Conclusions and future work 10

Composition Map Syntactic Composition 11

Syntactic Composition Input and Output signatures Abstract syntax of operational part of the target DSL Abstract syntax of the data types of the target DSL Φ= {(a,j), (b,i), (c,k), (d,l), (e,m), (g,n), (f,g)} 12

Composition Map Inference Rules For Building Semantics 13

Inference Rules for Building Semantics 14

Inference Rule Example (acc t. in TestMark; HALLStepSemantics ValidTestsIntentions HALLTypes HALLInit 15

Composition Map Transformation Composition 16

Transformation Composition (partial) Ψ= {(tr4 fp,tr4 ep ), (tr5 fp,tr5 ep ), (tr6 fp,tr6 ep ), (tr7 fp,tr7 ep )} 17

Road Map Starting point: merge of SATEL and HALL in Prolog CoPsy: a DSL composition framework SATEL + HALL composition formalization Extrapolation of the approach Conclusions and future work 18

Extrapolation of the approach Using CoPsy, we need to identify, in the target DSL, the abstract syntax for: – Inputs/outputs – Operational behaviour specification – Data types specification And the transformation rules to generate the inference rules to compute for the target DSL: – The step semantics – The semantics of types 19

Conclusions / Future Work Can we formalize a SATEL + HALL merge in terms of language composition? Yes! 20

Conclusions / Future Work Can we use that formalization to add testability to any DSL? – We are now implementing the composition approach; – In order to validate the extrapolation we will apply it to another DSL (APN). 21

Questions? 22