Logic Programming Based Model Transformations An overview of related work.

Slides:



Advertisements
Similar presentations
Modelling with expert systems. Expert systems Modelling with expert systems Coaching modelling with expert systems Advantages and limitations of modelling.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Satisfiability Modulo Theories (An introduction)
Budapest University of Technology and EconomicsDagstuhl 2004 Department of Measurement and Information Systems 1 Towards Automated Formal Verification.
This research is supported by NSF CAREER award CCF A Demonstration-based Approach to Support Live Transformations in a Model Editor Yu SunUniversity.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
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.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CPSC 322, Lecture 23Slide 1 Logic: TD as search, Datalog (variables) Computer Science cpsc322, Lecture 23 (Textbook Chpt 5.2 & some basic concepts from.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
AOSE-2003, Melbourne July 15 th 1 Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2,1, Marco Roveri 1,
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
ANSWERING CONTROLLED NATURAL LANGUAGE QUERIES USING ANSWER SET PROGRAMMING Syeed Ibn Faiz.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
 Knowledge Acquisition  Machine Learning. The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
School of Computer Science and Technology, Tianjin University
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
M ODELING O BJECT O RIENTED S YSTEMS VIA C ONTROLLED E NGLISH V ERBALIZATION OF D ESCRIPTION L OGIC CNL2010 Paweł Kapłański Gdańsk University of Technology.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
Business Integration Technologies © 2006 IBM Corporation Zurich Research Laboratory - BIT Validation.
University of Paderborn Software Engineering Group Prof. Dr. Wilhelm Schäfer Towards Verified Model Transformations Holger Giese 1, Sabine Glesner 2, Johannes.
A language to describe software texture in abstract design models and implementation.
A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
A Logic Meta-Programming Approach to support the Co-Evolution of Object-Oriented Design and Implementation Roel Wuyts , PROG.
Hybrid Transformation Modeling Integrating a Declarative with an Imperative Model Transformation Language Pieter Van Gorp
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
MASE : Modeling & Analysis in Software Engineering School of Computing Queen’s University Kingston, Ontario, Canada Juergen Dingel CAMPAM, April 29, 2012.
Ontology-Based Computing Kenneth Baclawski Northeastern University and Jarg.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
ISBN Chapter 3 Describing Semantics.
The AI War LISP and Prolog Basic Concepts of Logic Programming
ESDI Workshop on Conceptual Schema Languages and Tools
1 Access Control Policies: Modeling and Validation Luigi Logrippo & Mahdi Mankai Université du Québec en Outaouais.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan 1 A Verification Mechanism for Weaving.
ModTransf A Simple Model to Model Transformation Engine Cédric Dumoulin.
Using Symbolic PathFinder at NASA Corina Pãsãreanu Carnegie Mellon/NASA Ames.
Invitation to Computer Science, Java Version, Second Edition 1 Logic Programming Logic programming  Various facts are asserted to be true  On the basis.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
A Portrait of the Semantic Web in Action Jeff Heflin and James Hendler IEEE Intelligent Systems December 6, 2010 Hyewon Lim.
R-Verify: Deep Checking of Embedded Code James Ezick † Donald Nguyen † Richard Lethin † Rick Pancoast* (†) Reservoir Labs (*) Lockheed Martin The Eleventh.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Transformation By Demonstration Yu Sun, Jules White, Jeff Gray This work funded in part by NSF CAREER award CCF CIS Dept. – University of.
1 Authorization Sec PAL: A Decentralized Authorization Language.
Systems Architectures System Integration & Architecture.
Computer-aided Selection of Test Models for Model Transformation Testing Sagar Sen Benoit Baudry IRISA/INRIA Campus Universitaire de Beaulieu, Rennes 35000,
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
On Combining Multi-formalism Knowledge to Select Models for Model Transformation Testing Sagar Sen (1 st year PhD student), Benoit Baudry, Jean-Marie Mottu.
What is ASP? CSCE 330 Programming Language Presentation JANICE NEIGHBOR, MICHAEL RICKABAUGH, DAVID THOMAS
Mechanisms for Requirements Driven Component Selection and Design Automation 최경석.
SysML 2.0 Formalism Requirements and Potential Language Architectures
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
SysML v2 Formalism: Requirements & Benefits
Daniel Amyot and Jun Biao Yan
Knowledge Representation
Towards Automatic Model Synchronization from Model Transformation
KNOWLEDGE REPRESENTATION
Analysis models and design models
Software Architecture & Design
Presentation transcript:

Logic Programming Based Model Transformations An overview of related work

GOAL – WHY? Exploring the reasoning techniques for querying the inconsistencies in Models and model transformations State of the art, challenges, gaps and how we can contribute Simplify transformations between ISO and CCOM

Logic programming language RELATED WORK Answer Set Programming (ASP)  Declarative  Search problems to find stable models  answer set solvers — programs for generating stable models—are used to perform search Antonio Cicchetti, Davide Ruscio, Romina Eramo, and Alfonso Pierantonio. JTL: A Bidirectional and Change Propagating Transformation Language. In SLE 2011, volume LNCS 6563, pages Springer, Johannes Schoenboeck, Angelika Kusel, Juergen Etzlstorfer, Elisabeth Kapsammer, Wieland Schwinger, Manuel Wimmer, and Martin Wischenbart. CARE - A Constraint-Based Approach for Re-Establishing Conformance Relationships. In APCCM 2014, CRPIT Vol.154, pages ACS, 2014 Alloy  lightweight formal specification language  declarative based on first-order logic  based on relational logic > effective to validate and verify object-oriented models  automatic model finding via SAT solving  Alloy model consists of Signatures, Relations, Facts and Predicates.  Alloy Analyzer (Simulation & Assertion) Anastasakis, K., Bordbar, B., & Küster, J. M. (2007, October). Analysis of model transformations via Alloy. In Proceedings of the 4th MoDeVVa workshop Model-Driven Engineering, Verification and Validation (pp ). Nuno Macedo and Alcino Cunha. Implementing QVT-R bidirectional model transformations using Alloy. In Fundamental Approaches to Software Engineering, pages Springer, Prolog  first-order logic  relations represents facts and rules. A computation is initiated by running a query over these relations Zoltan Balogh and Daniel Varro. Model transformation by example using inductive logic programming. SoSyM, 8(3): , JesusM. Almendros-Jimenez and Luis Iribarne. A model transformation language based on logic programming. In SOFSEM 2013, volume LNCS 7741, pages Springer, 2013.

CARE approach(ASP) Each metamodel elements > class, attribute and reference ASP facts. Model elements > object, value and link ASP facts. Conformance constrains have been manually defined [in pseudocode in table] and encoded in ASP. Meta-model specific Ecore/OCL constrains > ASP constrains in future version of prototype. Language semantics(object-oriented) need to be encoded as well. Ecore <> ASP transformations are implemented by Xtend (a flexible and expressive dialect of Java) A constraint solver produces an output, which is a set of facts describing which objects, values, and links are conform or not, and adds these new facts to the CARE knowledge base.

JTL approach(ASP) Modeled as Graphs composed of nodes, edges and properties – logic assertions (1)Each (meta)model elements > metanode, metaedge, and metaprop predicate symbols (1)Each model element > node, edge, property (2)JTL(QVT-R like syntax) > ASP relation and constrains by means of ATL transformation (4)Transformation (JTL) engine is based on ASP bidirectional transformation program executed by DLV solver(find stable models) Transformation process steps: 1. the execution engine induces all the possible solution candidates according to the specified relations; 2. the set of candidates is refined by means of constraints (ASP rules). (3)Target model is deducted based on ASP rules from candidate solutions.

Analysis of MT(Alloy) based on meta-modelling MOF meta-models/OCL > Alloy by means of UML2Alloy transformation tool Transformation rules > Alloy mapping relation STEPS Step 1:Translate the Model Transformation Specification to Alloy. Step 2: Analysis using the Alloy Analyzer. Alloy model of MT which can be analysed by Analyzer(Simulation)

QVT-R Bidirectional (Alloy) UML(annotated with OCL) + QVT-R > Alloy principle of least change restores consistency by simply returning target models that are at a minimal distance from the original -> the“check- before-enforce” policy (QVT-R) is satisfied. Classes and associations (including attributes) > signatures and relations in Alloy. Inheritance relationship in Alloy. For each relation R > Alloy predicates to specify R forward and R backward Predicates are used to specify the when and where clauses, and the domain patterns of each relation checkonly mode - check the consistency predicate for a pair of models

PTL approach(Prolog) Each (meta) model elements > set of classes, attributes, roles and helpers. Each model elements > set of classes, attributes, roles, helpers and objects. PTL > Prolog encoding - based on a Prolog library for handling meta- models PTL (ATL like syntax) = ATL style rules + logic Rules in Prolog(helpers). Prolog style rules serve as a query language. Prolog is used as a transformation engine for PTL. A Prolog program is automatically obtained from a PTL program. The encoding of PTL programs with Prolog is based on a Prolog library for handling meta-models

Inductive logic(Prolog) Modeled as Graphs composed of nodes, edges and properties – logic assertions Source and target models are mapped into Prolog clauses Mapping models are represented by tuples ref (ri, src1,..., srcn, trg1,..., trgm).

Conclusions Logic clause, fact, assertion = represents models and meta-models Logic rule = used to encode model transformation and constraints on models taking advantage of model finding(SAT-solver) abilities Being solver-based, the main drawback is performance - incremental solving techniques - mechanisms to infer which parts of target model can be fixed in design time Model & transformation > logic programming is manual, except in JTL approach