Implementing Language Extensions with Model Transformations

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Visual Model-based Software Development EUD-Net Workshop, Pisa, Italy September 23 rd, 2002 University of Paderborn Gregor Engels, Stefan Sauer University.
Architecture Representation
XML Technology in E-Commerce
Meng Tian Extension in Domain Specific Code Generation with Ontology Based Aspect Weaving Supervisor: Julian Rathke
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
The Query Compiler Varun Sud ID: 104. Agenda Parsing  Syntax analysis and Parse Trees.  Grammar for a simple subset of SQL  Base Syntactic Categories.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
6/10/2015Martin Odersky, LAMP, EPFL1 Programming Language Abstractions for Semi-Structured Data Martin Odersky Sebastian Maneth Burak Emir EPFL.
Supervised by Prof. LYU, Rung Tsong Michael Department of Computer Science & Engineering The Chinese University of Hong Kong Prepared by: Chan Pik Wah,
The Data Mining Visual Environment Motivation Major problems with existing DM systems They are based on non-extensible frameworks. They provide a non-uniform.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
The Query Compiler 16.1 Parsing and Preprocessing Meghna Jain(205) Dr. T. Y. Lin.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
Sheet 1© 2005 Lentedagen, 30 March-1 April 2005 IPA Lentedagen on Software Architecture Model Transformations in MDA Ivan Kurtev.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
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
Amarnath Gupta Univ. of California San Diego. An Abstract Question There is no concrete answer …but …
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
Huseyin Ergin and Eugene Syriani. PROBLEM (DIDN’T CHANGE) Development of model transformation is still an error-prone and hard task. One reason is the.
Model Transformations
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Session IV Chapter 9 – XML Schemas
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Grammar Variation in Compiler Design Carl Wu. Three topics Syntax Grammar vs. AST Component(?)-based grammar Aspect-oriented grammar.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
SaveUML System design. System overview Possible...
A language to describe software texture in abstract design models and implementation.
REWERSE WG I3: Composition Framework & Tool demo 5 December 2006.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Stratego Song Zhou *Include slides from language.org/Stratego/SlidesForSoftwareGeneration2001http:// language.org/Stratego/SlidesForSoftwareGeneration2001.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Devon M. Simmonds SERP’08, July-14-17, Las Vegas 1 Aspect-oriented Approaches to Model Driven Engineering Devon M. Simmonds Computer Science Department.
Issues in Ontology-based Information integration By Zhan Cui, Dean Jones and Paul O’Brien.
Dom and XSLT Dom – document object model DOM – collection of nodes in a tree.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Martin Kruliš by Martin Kruliš (v1.1)1.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
The Database and Info. Systems Lab. University of Illinois at Urbana-Champaign Understanding Web Query Interfaces: Best-Efforts Parsing with Hidden Syntax.
A Framework for Developing Compiler-like Components Jackline Ssanyu ( Software Engineering and Technology Group) Eindhoven University of Technology Supervisors:
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Using DSDL plus annotations for Netconf (+) data modeling Rohan Mahy draft-mahy-canmod-dsdl-01.
Connecting Architecture Reconstruction Frameworks Ivan Bowman, Michael Godfrey, Ric Holt Software Architecture Group University of Waterloo CoSET ‘99 May.
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
OWL Web Ontology Language Summary IHan HSIAO (Sharon)
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Sheet 1 MDAFA 2003 A Synthesis-based Approach to Transformations in an MDA Software Development Process Ivan Kurtev, Klaas van den Berg University of Twente.
Sheet 1 Forum on Specification and Design Languages (FDL), Frankfurt, September 2003 UML to XML-Schema Transformation: a Case Study in Managing Alternative.
Design Pattern Support based on principles of model driven development Zihao Zhao.
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
SysML v2 Formalism: Requirements & Benefits
Web Service Modeling Ontology (WSMO)
The Query Compiler Parsing and Preprocessing. Meghna Jain(205)
XML in Web Technologies
Model-Driven Analysis Frameworks for Embedded Systems
Design of Transmission Pipeline Modelling Language
General Adaptation Framework
Evaluating Compuware OptimalJ as an MDA tool
Compilers B V Sai Aravind (11CS10008).
Constructing MDA-based Application Using Rational XDE for .NET
Semantic Markup for Semantic Web Tools:
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Ivan Kurtev, Klaas van den Berg Software Engineering Group
Implementing Language Extensions with Model Transformations
Presentation transcript:

Implementing Language Extensions with Model Transformations Ivan Kurtev Software Engineering Group University of Twente the Netherlands

Outline The Role of Languages in MDE; Language Elements; Language Extensions; Examples: Language composition; Abstract syntax extension; Conclusions;

Use of Languages in MDE Languages for expressing models: Meta-modeling: modeling of languages; Transformation languages: Can we use MDE techniques to solve language design problems?

Language Elements Concrete Syntax Abstract Syntax (L) Semantics: Related to parsing; Textual, visual; Abstract Syntax (L) Defines the structures represented by the concrete syntax; Semantics: Semantic Domain (D); Semantic Mapping (M) M: L -> D

Language Extensions Syntax Extensions: Semantic Extensions: Extensible grammars; Extensible parsers; Macro definitions; Semantic Extensions: Modular attribute grammars; Monads; Action semantics; Language Composition: Involves syntax and semantic extensions;

Language Elements in MDA Terms (1) Concrete Syntax: ? Abstract Syntax (L) Defined as a meta-model; Semantics: Semantic Domain (D): a model Semantic Mapping (M): a model transformation; M: L -> D

Language Elements in MDA Terms (2) How can MDA techniques be used for language design tasks? What do we gain (do we do better than the current techniques) ? How are traditional problems solved in MDA? Language reuse; Language composition; Language extension;

Example 1: Composing XML Languages Application-specific XML processing: XML Document DOM Parser Processing Code DOM Tree Application Objects Transformation Transformation from XML document to application objects; XML Language Composition: Concrete syntax composition is solved; Semantic mapping: composition of transformations; Semantic domain: software composition; Application: hybrid XML languages and compound documents;

Transformation Pattern for XML Processing Schema-less processing: based on DOM; Schema-based processing: an XML schema and DOM are available;

Structure of XML Applications Separation of concerns: Syntax (schema); Processing logic (transformation specification); Application classes (semantic domain);

Example (1) Processing of a subset of SMIL timing module; Source schema: <attribute name=’begin’ type=’string’/> <attribute name=’end’ type=’string’/> <attribute name=’dur’ type=’string’/> <attribute name=’timeContainer’ type=’string’/> Example of a timed document: <a timeContainer=’seq’ begin=’1’ dur=’20’> <b timeContainer=’par’ dur=’10’> <c timeContainer=’none’ dur=’10’/> <d timeContainer=’none’ dur=’10’/> </b> <e timeContainer=’none’ dur=’10’/> </a> SMIL – Synchronized Multimedia Integration Language

Example (2) Target Application Classes:

Composition of XML Languages A new language may be composed with the timing module: New processor is obtained via: Composing target application classes (software composition); Composing transformation definitions (based on the transformation language constructs);

Example 2: Abstract Syntax Extensions Problem: what if a transformation language does not support required compositional operators? Possible Solutions: Compose transformation definitions by applying a transformation; Extend the transformation language with new constructs; Example: Extending the abstract syntax of a language;

Example 2: Implementation Extended syntax is transformed to the initial syntax:

Sequential Composition of Extensions

Conclusions Examples of applicability of MDA techniques: Composition of XML languages; Abstract syntax extension; Open Questions: Are model transformations suitable for defining semantic mappings? For which type of languages? Scalability in case of language composition? Comparison to other techniques (attribute grammars, action semantics,…)