SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

Modeling with the ECCF SS ● UML Profile for ECCF ● UML Redefinition Semantics ● Compliance ● Consistency ● Conformance ● Validation ● Transformation ●
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
1 A UML Class Diagram Analyzer Tiago Massoni Rohit Gheyi Paulo Borba Software Productivity Group Informatics Center – UFPE October 2004.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
Automatically Extracting and Verifying Design Patterns in Java Code James Norris Ruchika Agrawal Computer Science Department Stanford University {jcn,
Sangam: A Transformation Modeling Framework Kajal T. Claypool (U Mass Lowell) and Elke A. Rundensteiner (WPI)
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
Formalizing and Analyzing Feature models in Alloy
UML - Development Process 1 Software Development Process Using UML (2)
Logic Programming Based Model Transformations An overview of related work.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Introduction to MDA (Model Driven Architecture) CYT.
Sheet 1 / 21© in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
A language to describe software texture in abstract design models and implementation.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
An Object-Z based Metamodel for Wright Joint work with M. Maouche 2, and M. Mosteghanemi 1 Presented by M. Bettaz 1 1 MESRS/ESI Algeria 2 Philadelphia.
1 Introduction to Software Engineering Lecture 1.
A Logic Meta-Programming Approach to support the Co-Evolution of Object-Oriented Design and Implementation Roel Wuyts , PROG.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
The Volcano Optimizer Generator Extensibility and Efficient Search.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Computer-aided Selection of Test Models for Model Transformation Testing Sagar Sen Benoit Baudry IRISA/INRIA Campus Universitaire de Beaulieu, Rennes 35000,
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing Sagar Sen (1 st year PhD student), Benoit Baudry, Jean-Marie Mottu.
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Modeling of Service Oriented Architecture: From Business Process to Service Realization Petr Weiss and Marek Rychlý Brno University of Technology, Faculty.
 Construction and Validation of Effective Modelling Domains A Thesis Outline Sagar Sen November 6, 2009.
Business System Development
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Case Design – Model Based Testing João Pascoal.
Software Design Patterns
Towards trustworthy refactoring in Erlang
Design Patterns with C# (and Food!)
Web Ontology Language for Service (OWL-S)
Abstract descriptions of systems whose requirements are being analysed
Daniel Amyot and Jun Biao Yan
CIS 375 Bruce R. Maxim UM-Dearborn
Implementing Language Extensions with Model Transformations
Object Oriented Design Patterns - Structural Patterns
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
IMPORTANT NOTICE TO STUDENTS:
Analysis models and design models
Software Design Lecture : 14.
An Introduction to Software Architecture
Protocols CS 4311 Wirfs Brock et al., Designing Object-Oriented Software, Prentice Hall, (Chapter 8) Meyer, B., Applying design by contract, Computer,
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Structural Patterns: Adapter and Bridge
Automated Analysis and Code Generation for Domain-Specific Models
Implementing Language Extensions with Model Transformations
Dichotomies in CSP Karl Lieberherr inspired by the paper:
Software Development Process Using UML Recap
Software Architecture & Design
Presentation transcript:

SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud Thomas Derive Laurent Pautet 2014/08/27

Context In Model Driven Development refactoring model is common Automated with model transformations Model refactoring using multiple design patterns Ex: adapter, composite patterns Design pattern are generic solutions to specific problem Can be applied multiple times in one model: multiple instances Ex : adapter pattern SEAA 2014

Model Transformations Operation on model Refinement for analysis Code generation Model fusion Model modification Advocate reusability Model transformation is a design pattern Can be applied multiple times Applying multiple patterns  applying multiple transformations Nedd to chain transformations We have to express the transformation rule in a comsume/produce semantic SEAA 2014

Chaining Model Transformations Non-commutative composition of transformations T1(T2(In)) ≠ T2(T1(In)) Problems to Identify chains: Precedence: the output model of a transformation must conforms to the application conditions of another transformation Validity: last model must verify user defined constraints Complexity: number of possible chains grows rapidly: !n A B C B C A C B A C B C A A B out out out out out out Validation SEAA 2014

Chain Identification Using Constraints Precedence Abstract chaining process as an ordered set Abstract transformations in constraints between elements Validity Post-conditions constraints on last model Complexity: Use of Satisfiability Solver to identify a chain Need to abstract involved artifacts as constraints Objective: formalize chain of transformations (models, meta-models, trasformations…) with a set of satisfiability constraints (relational algebra, binary relations, first order logic…) to identify valid chains. SEAA 2014

Involved artifacts to abstraction Input model and meta-model Oriented object semantic Constraints on elements to express the model architecture Model transformations Consumption/production semantic Chaining process and validity post-conditions Ordering Constraints on models Implementation choice: Alloy Signature and atoms Relational algebra Facts and predicates First order logic with quantifiers Objective: formalize chain of transformations (models, meta-models, trasformations…) with a set of satisfiability constraints (relational algebra, binary relations, first order logic…) to identify valid chains. SEAA 2014

Illustrative example UML subset Pattern adapter Diagram, class, interface Pattern adapter Adapter transformation Chaining process: ordered set of transformations SEAA 2014

Meta-model Typed elements : Relation between elements Type Class is a signatures Relation between elements Class inheritance is a relation Architectural constraints: Quantification is enforced with first order logic on relations abstract sig Element {} abstract sig UMLElement extends Element { composed : set UMLElement } sig Class extends UMLElement{ inherits : lone Class, implements : set Interface} SEAA 2014

Input Model Abstraction of the real model Particular instance of signatures: atoms Set of atoms with particular relations Constraints on first model of the chain Use of a predicate on first model Constraints must be sharp: avoid multiple solutions Each relation must be initialized pred init (d : one Diagram){ no d.Interface some disj A, B : d.Class { A.composed = B A.interface = none A.inherits = none B.composed = none B.interface = none B.inherits = none } } SEAA 2014

Adapter Pattern Transformation Adapter and adapter applied decorator Each decorator is a pattern instance Target elements identification Traceability Signature Adapter pre-conditions Context: Client, Adaptee Clients and Adaptee must be in relation Predicate SEAA 2014

Model transformation as constraints Transformations Implemented with matching/production rules : ATL Rule foo from A to B Relations between 2 oriented labeled graphs Arcs are relations between elements within a graph Relational algebra Matching rules are a binary relation set: mapping Output graph arcs are relation through mapping relation juncture and constraints Constraints depends on the transformation R’ = mappingt . R . mapping ╞ C SEAA 2014

Model transformation as binary relations: example The mapping relation: Client  Client’ Adaptee  Adaptee’ Adaptee  Adapter’ Adaptee  IAdapter’ AdapterPattern  AdapterPatternApplied Input model relations: Client  Adaptee Output model relations: Client’  IAdapter’ Adapter’  IAdapter’ Adapter’  Adaptee’ We have to express the transformation rule in a comsume/produce semantic SEAA 2014

Chaining Process Precedence: Pre-conditions verify applicability of next transformations Each transformation has pre-conditions To apply one transformation another must be applicable next Validity: post-conditions on last model Complexity: The solver search a chain by ordering the list Sizing of the solving universe for the chain: maximum atoms possible Ex : M0 = 5 atoms, T1 : 3, T2 : 1, 3 times T1 and 2 times T2 T1  T1  T1  T2  T2 : 5+8+11+14+15+16 = 69 T2  T2  T1  T1  T1 : 5+6+7+10+13+16 = 57 SEAA 2014

Conclusion and future works Abstract model transformations chaining using relational algebra Identify valid transformation chain using SAT solving technique Time consuming due to the number of manipulated element 2 design patterns modeled: Adapter pattern Composite pattern Future works Anticipate the number of elements generated Improve performance to treat bigger chains Automate DSL and transformation language to relational algebra transformation SEAA 2014