Meng Tian Extension in Domain Specific Code Generation with Ontology Based Aspect Weaving Supervisor: Julian Rathke

Slides:



Advertisements
Similar presentations
Major Influences on the Design of ODM Dan Chang (IBM) Elisa Kendall (Sandpiper) MDSW 2004.
Advertisements

Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
Higher-Order Transformation Eugene SyrianiandHans Vangheluwe.
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes,
Of 27 lecture 7: owl - introduction. of 27 ece 627, winter ‘132 OWL a glimpse OWL – Web Ontology Language describes classes, properties and relations.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
PROBLEMSOLUTION TECHNOLOGY Traceability relations between requirements and code are generally derived manually, and must be manually updated when software.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Modeling Process-Oriented Integration of Services Using Patterns and Pattern Primitives Uwe Zdun and Schahram Dustdar Distributed Systems Group Institute.
XOWL – an Executable Modeling Language for Domain Experts Laurent WOUTERS (EADS Innovation Works, France) Marie-Pierre GERVAIS (Université Paris Ouest,
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
The RDF meta model: a closer look Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations.
SMIILE Finaly COBOL! and what else is new Gordana Rakić, Zoran Budimac.
A Context-Based Mediation Approach to Compose Semantic Web Services Michael Mrissa, Chirine Ghedira, Djamal Benslimane, Zakaria Maamar, Florian Rosenberg,
KBS-HYPERBOOK An Open Hyperbook System for Education Peter Fröhlich, Wolfgang Nejdl, Martin Wolpers University of Hannover.
8.1 Classes & Inheritance Inheritance Objects are created to model ‘things’ Sometimes, ‘things’ may be different, but still have many attributes.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
A Survey of Software Refactoring Tom Mens, Tom Tourwé
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
© 2010 HCMUNS. NII-Internship program proposal: Evolution of modeling languages and models Submitted by: BUI TAN LOC NII Supervisor: Professor ZHENJIANG.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
1 Abstraction  Identify important aspects and ignore the details  Permeates software development programming languages are abstractions built on hardware.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Aspect Oriented Programming Scott Nykl CSSE 411 Senior Seminar.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
Jessica Chen-Burger A Framework for Knowledge Sharing and Integrity Checking for Multi-Perspective Models Yun-Heh (Jessica) Chen-Burger Artificial Intelligence.
Domain-Specific Software Development Terminology: Do We All Speak the Same Language? Arturo Sánchez-Ruíz, University of North Florida, USA Motoshi Saeki,
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Generative Programming. Automated Assembly Lines.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
A language to describe software texture in abstract design models and implementation.
Knowledge Representation of Statistic Domain For CBR Application Supervisor : Dr. Aslina Saad Dr. Mashitoh Hashim PM Dr. Nor Hasbiah Ubaidullah.
© Siemens AG, CT SE 2, Iris Groher, Markus Voelter C O R P O R A T E T E C H N O L O G Y XWeave – Models and Aspects in Concert 1 XWeave Models.
Improving Code Generation for Associations: Enforcing Multiplicity Constraints and Ensuring Referential Integrity SERA 2013SERA 2013 (August 7, 2013 in.
SECURE WEB APPLICATIONS VIA AUTOMATIC PARTITIONING S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, X. Zheng Cornell University.
Extensible syntax analyzers Pavel Egorov
ModelPedia Model Driven Engineering Graphical User Interfaces for Web 2.0 Sites Centro de Informática – CIn/UFPe ORCAS Group Eclipse GMF Fábio M. Pereira.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
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,
1 Model-based Aspect Weaver Construction Suman Roychoudhury Frédéric Jouault Jeff Gray {roychous, jouault, cis.uab.edu This project is supported.
Gordana Rakić, Zoran Budimac
The RDF meta model Basic ideas of the RDF Resource instance descriptions in the RDF format Application-specific RDF schemas Limitations of XML compared.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan 1 A Verification Mechanism for Weaving.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Object-Oriented Parsing and Transformation Kenneth Baclawski Northeastern University Scott A. DeLoach Air Force Institute of Technology Mieczyslaw Kokar.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
©SoftMoore ConsultingSlide 1 Structure of Compilers.
1 An AOP Implementation Framework for Extending Join Point Models Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Hidehiko Masuhara(University.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Model-Driven Analysis Frameworks for Embedded Systems
ece 720 intelligent web: ontology and beyond
Implementing Language Extensions with Model Transformations
Evaluating Compuware OptimalJ as an MDA tool
Intentional source-code views
Ontology-Based Approaches to Data Integration
AspectAda Aspect-Oriented Programming for Ada95
Implementing Language Extensions with Model Transformations
Software Architecture & Design
Presentation transcript:

Meng Tian Extension in Domain Specific Code Generation with Ontology Based Aspect Weaving Supervisor: Julian Rathke

Domain Specific Code Generation Domain Specific Code Generation (DSCG) Model Driven Engineering (MDE) Raised abstraction level, highly automated Increased productivity and reliability

Domain Specific Code Generation Domain Specific Code Generation (DSCG) Model Driven Engineering (MDE) Raised abstraction level, highly automated Increased productivity and reliability

Domain Specific Code Generation Domain Specific Code Generation (DSCG) Model Driven Engineering (MDE) Raised abstraction level, highly automated Increased productivity and reliability However, in practice…

Extensions Required e.g. to add logging facilities in the generated code.

Extensions Required e.g. to add logging facilities in the generated code. MDE orthodoxy “model change -> code re-generation”

Extensions Required e.g. to add logging facilities in the generated code. MDE orthodoxy “model change -> code re-generation” Round-trip engineering “code change -> model reverse generation”

Extensions Required e.g. to add logging facilities in the generated code. MDE orthodoxy “model change -> code re-generation” Round-trip engineering “code change -> model reverse generation” What if change not expressible?

Extensions Required e.g. to add logging facilities in the generated code. MDE orthodoxy “model change -> code re-generation” Round-trip engineering “code change -> model reverse generation” What if change not expressible? Or even worse, meta-model change is required

Evolving model-based software Is meta-model change a good thing? Yes. Now my modelling language is more expressive and powerful. 1.Is that still abstraction? 2.Is that cost effective? 3.Compatible problems?

Evolving model-based software Is meta-model change a good thing? Yes. Now my modelling language is more expressive and powerful. 1.Is that still abstraction? 2.Is that cost effective? 3.Compatible problems?

Extensions Required e.g. to add logging facilities in the generated code. MDE orthodoxy “model change -> code re-generation” Round-trip engineering “code change -> model reverse generation” What if M’=M

Modification CANNOT be reflected in the model. Where is the problem?

Modification CANNOT be reflected in the model. Where is the problem? Causes: Model and code are both maintained explicitly as core products. Forceful synchronization of artefacts of two different abstraction level is unnecessary and may break abstraction levels.

Modification CANNOT be reflected in the model. Where is the problem? Causes: Model and code are both maintained explicitly as core products. Forceful synchronization of artefacts of two different abstraction level is unnecessary and may break abstraction levels.

What makes the magic mapping? The code generator!

What makes the magic mapping? The code generator!

What makes the magic mapping? The code generator!

Our approach No “model-code” synchronization. An intermediate layer – aspect, between model and code, in which modification can be expressed flexibly. As the aspect languages are built based on the domain ontology, we call them Ontology Based Aspect languages (OBALs)

Our approach

Test with ANTLR Parser Generator Production rule in ANTLR grammar Extension for program synthesis functionalities in ANTLR grammar can be difficult, sometimes even impractical.

Test with ANTLR Parser Generator Production rule in ANTLR grammar Extension for program synthesis functionalities in ANTLR grammar can be difficult, sometimes even impractical.

Test with ANTLR Parser Generator Production rule in ANTLR grammar Extension for program synthesis functionalities in ANTLR grammar can be difficult, sometimes even impractical.

Test with ANTLR Parser Generator

Count how many if- only statements in a Java program, and how many equality check involved.

3 “if” statements without “else”.

Test with ANTLR Parser Generator Note: Rule formalParameter may also be applied in paring function declarations or invocations.

Test with ANTLR Parser Generator We modify ANTLR generator to insert our ontology tracing information inside the generated code.

Test with ANTLR Parser Generator Begin_Parse_Rule_statement_Alternative_1(); End_Parse_Rule_statement_Alternative_1(); Begin_Match_Token_ELSE(); End_Match_Token_ELSE();

Test with ANTLR Parser Generator Begin_Parse_Rule_statement_Alternative_1(); End_Parse_Rule_statement_Alternative_1(); Begin_Match_Token_ELSE(); End_Match_Token_ELSE();

Test with ANTLR Parser Generator Begin_Parse_Rule_statement_Alternative_1(); End_Parse_Rule_statement_Alternative_1(); Begin_Match_Token_ELSE(); End_Match_Token_ELSE();

Test with ANTLR Parser Generator

Evaluation Benefits It solves the “model non-reflectable” extension problem. It makes the generator extensible, instead of simply extending it. There is no model compatible problem. It allows modification to be described in a flexible way. The aspect based extension process can be fully automated. Limitations Knowledge of the code generator is required. Maintenance of ontology tracing information

Conclusions We introduced a new approach for extending the generated code in model-based software development, i.e. via ontology-based aspect. Under certain assumptions, our approach can generate the aspect language over the ontology model, and produce the corresponding weaver provided ontology tracing information.

Future Work Standardize the ontology definition schema, i.e. meta meta model. Supporting restrictions in domain ontology. E.g., access control, conflict prevention. E.g., OCL based solution.

Any Question?