Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Similar documents
Static analysis and testing of executable DSL specification

Introduction to MDE and Model Transformation

Model Transformations for Embedded System Design and Virtual Platforms

Introduction to OpenArchitectureWare

Eclipse Development Tools for Epsilon

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Sequence Diagram Generation with Model Transformation Technology

Dresden OCL2 in MOFLON

Introduction to Dependable Systems: Meta-modeling and modeldriven

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

ECLIPSE MODELING PROJECT

Eclipse technology in IFMS Interface Management System

A Metamodel independent approach for Conflict Detection to support distributed development in MDE. Mostafa Pordel A THESIS

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework

CISC836: Models in Software Development: Methods, Techniques and Tools

Model Migration Case for TTC 2010

Model Abstraction versus Model to Text Transformation

Model driven Engineering & Model driven Architecture

The Eclipse Modeling Framework and MDA Status and Opportunities

Software Language Engineering of Architectural Viewpoints

Automatic Generation of Graph Models for Model Checking

Fine-grained Software Version Control Based on a Program s Abstract Syntax Tree

Proseminar. (with Eclipse) Jun.-Prof. Dr.-Ing. Steffen Becker. Model-Driven Software Engineering. Software Engineering Group

Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra

ATL Demystified and an Introduction to the RPG2Petrinet Experiment

Towards Transformation Migration After Metamodel Evolution

MERGING BUSINESS VOCABULARIES AND RULES

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

Transformational Design with

Building Model-Driven Engineering Traceability Classifications

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

A Traceability-Driven Approach to Model Transformation Testing

Introduction to Model Driven Engineering using Eclipse. Frameworks

A Generic Framework for Realizing Semantic Model Differencing Operators

Language engineering and Domain Specific Languages

Eclipse Automotive Working Group

SCENARIO-BASED REQUIREMENTS MODELLING

Ontology-based Model Transformation

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

On the customization of model management systems for code centric IDEs

BLU AGE 2009 Edition Agile Model Transformation

Model Migration Case for TTC 2010

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

ACTA UNIVERSITATIS APULENSIS No 18/2009

Origin Tracking + Text Differencing = Textual Model Differencing

FREQUENTLY ASKED QUESTIONS

Current trends and frameworks for modeldriven approaches to software development

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment

A universal PNML Tool. Lukasz Zoglowek

Wikileaking Eclipse Modeling - Spilling the beans on how industry uses EMF based tooling successfully! Ronan Barrett, Ericsson

Experimental transformations between Business Process and SOA models

Generation of Web-based Prototypes for Business Applications

Solving the Families to Persons Case using EVL+Strace

A Domain-Specific Language for Modeling Web User Interactions with a Model Driven Approach

Towards Compositional Domain Specific Languages

Implementing the Interactive Television Applications Case Study using Epsilon

The etrice Eclipse Project Proposal

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

Comparison and merge use-cases from practice with EMF Compare

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

EATOP: An EAST-ADL Tool Platform for Eclipse

MDA Driven xuml Plug-in for JAVA

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

MEMOCenterNG A full-featured modeling environment for organization modeling and model-driven software development

Enhancing Xtext for General Purpose Languages

Re-Implementing Apache Thrift using Model-Driven Engineering Technologies: An Experience Report

Towards Tool Support For Agile Modeling: Sketching Equals Modeling

MODEL VERSIONING IN CONTEXT OF LIVING MODELS

A Formal Definition of Model Composition Traceability

Model-Based Social Networking Over Femtocell Environments

EMF Compare Galileo Simultaneous Release

Towards a Unifying Model Transformation Bus

A Model-driven approach to NLP programming with UIMA

Orccad, a Model Driven Architecture and Environment for Real-Time Control. Soraya Arias Florine Boudin Roger Pissard-Gibollet Daniel Simon

<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING

DRAFT. Consolidation of the Generator Infrastructure MDGEN Model Driven Generation

Textual, executable, translatable UML

Model-Driven Language Engineering

DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages

Generic Language Technology

with openarchitectureware

Raising the Level of Development: Models, Architectures, Programs

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

TOWARDS MODEL TRANSFORMATION DESIGN PATTERNS

A Model-Driven JSON Editor

Models in Conflict Towards a Semantically Enhanced Version Control System for Models

The Case for Meta-modeling Frameworks Specialisation

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

IBM Rational Software Architect

MODEL-DRIVEN ENGINEERING FOR IMPLEMENTING THE ISO SERIES OF INTERNATIONAL STANDARDS

The Galilean Moons of Eclipse

Model-Driven Agents Development with ASEME

Abstracting Complex Languages through Transformation and Composition

EMF Compare Ganymede Simultaneous Release

Grammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary

Dr. Klaus Fischer. Multiagent Systems Group DFKI GmbH Saarbrücken, Germany ICAART

Transcription:

Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications Using SSL, and Matthias Lenk Arnd Vitzthum Bernhard Jung Technical University Freiberg, Germany University of Cooperative Education Dresden, Germany Technical University Freiberg, Germany Funded by

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

1.1 Preliminaries: Motivation Application logic and 3D content two different developer groups: 3D modelers, programmers E. g. and Traditionally: -centric and iterative development Modeling Derived domain model Software-Designer 3D Modeller Generated 1 Generated Programmer 3D Authoring Programming Edited Edited

1.1 Preliminaries: Motivation Iterative development Improvements with model-driven engineering [1] : communication aid contract generation concurrent development Modeling Software-Designer Round-trip engineering [2] Forward engineering Reverse engineering Preserve modifications 1 Derived domain model 3D Modeller Generated Generated Programmer 3D Authoring Programming Edited Edited

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

1.2 Preliminaries: Running example 3D content and application multiple target languages (TL): / OM, Example application: 2

1.2 Preliminaries: MDE for 3D applications Graphical domain specific language: SSL (Scene Structure and Integration Modeling Language) [1] Scene graph and application components at high grade of abstraction 3

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

2.1 Roundtrip3D: Requirements Different granularity of model and Heterogeneous target languages with different scope Common methods in RTE tools: Model and stored separately Model derived from source Synchronization issue between bases and model Java OM sync 4

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

2.2 Roundtrip3D: Overview RTE Approach One common intermediate representation for languages and model Managable transformations: Multi-tiered approach Domain Model Start SSL Model generic Storage Task specific transformation languages specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Modeling 3D applications with SSL Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Model-based generic storage in an intermediate model () (Merge intermediate model with persistent intermediate model from previous iterations)? Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Build abstract syntax trees (ASTs) from intermediate model Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Code generation for each target language from abstract syntax trees Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Concurrent ing of bases, i. e. 3D design and implementation of application logic Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Reverse steps: Code parsing, built abstract syntax trees Transformation of each abstract syntax tree to intermediate model Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Sequentially derived intermediate model with persistent one Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

2.2 Roundtrip3D: Overview RTE Approach Derive domain model modify Next forward iteration: Complete source re-generation from persistent intermediate model Domain Model Start SSL Model generic Storage specific Abstract Syntax Trees generation SSL Model 5 Implementation concurrent ing parsing

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

2.3 Roundtrip3D: SSL Intermediate Domain Model Generic transformations, with Java model AST M2T EMF reflective API 6 Code T2M

2.3 Roundtrip3D: SSL Intermediate Domain Model Generic transformations, with Java model AST M2T EMF reflective API 6 Code T2M

2.3 Roundtrip3D: Intermediate model AST Domain Model Rule based, hybrid transformation language External mapping model [4] + 7 AST M2T Code + T2M

2.3 Roundtrip3D: Code serialization and parsing Domain Model AST Grammar for each target language M2T Coarse granularity of grammar and meta model [8] Derive serializers and parsers skeleton skeleton 8 Code T2M

2.4 Roundtrip3D: Model merging Domain Model AST M2T Code Synchronize relevant elements between model and Preserve manually developed source 1.Comparison: Operations: Update, Insert, Delete (, Move) [5] 2.Conformance checking 3.Interactive merging: one algorithm 4.Reconciliation from from 9 T2M

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

3.1 Conclusion: Summary Eclipse based graphical model or Forward & reverse engineering (/ OM, ) with respect to non-simultaneous development process Common intermediate representation and one algorithm to overcome synchronization issue http://elrond.informatik.tu-freiberg.de/roundtrip3d/robot 10

Table of Contents 1. Preliminaries 1.1 Motivation 1.2 MDE for 3D web-applications with example 2. Roundtrip3D 2.1 Requirements 2.2 Approach of RTE 2.3 Transformations 2.4 Merging 3. Conclusion 3.1 Summary 3.2 Outlook

3.2 Conclusion: Outlook Tree diff algorithms to avoid IDs Integrate Augmented Reality (Android devices, Java) Integrate C.A.V.E. like systems (C++) 11

Questions Thank You! mail: lenk@informatik.tu-freiberg.de References [1] VITZTHUM, A. 2008. Entwicklungsunterstützung für interaktive 3D-Anwendungen. Ein modellgetriebener Ansatz. Dissertation, LudwigsMaximilians-University München. In German. [2] VITZTHUM, A., AND JUNG, B. 2010. Iterative model driven VR and AR development with round trip engineering. In Proc. SEARIS Workshop at the IEEE Virtual Reality 2010 Conference, Shaker. [3] FIGUEROA, P., GREEN, M., AND HOOVER, H. J. 2002. Intml: a description language for vr applications. In Web3D 02: Proceedings of the seventh international conference on 3D Web technology, ACM, New York, NY, USA, 53 58. [4] MILLER, J., AND MUKERJI, J. 2003. Mda guide version 1.0.1. Tech. rep., Object Management Group (OMG). [5] CHAWATHE, S.S., RAJARAMAN, A., GARCIA-MOLINA, H., WIDOM, J.: Change detection in hierarchically structured information. SIGMOD Rec. 25, 493 504 (June 1996) [6] ROSE, L.M., PAIGE, R.F., KOLOVOS, D.S., POLACK, F.: The epsilon generation language. In: Schieferdecker, I., Hartman, A. (eds.) Model Driven Architecture - Foundations and Applications, 4th European Conference, ECMDA-FA 2008, Berlin, Germany, June 9-13, 2008. Proceedings. Lecture Notes in Computer Science, vol. 5095, pp. 1 16. Springer (2008) [7] OLDEVIK, J.: MOFScript Eclipse Plug-In: Metamodel-Based Code Generation. In: Proceedings of the Eclipse Technology exchange workshop (etx) (2006) [8] JONES, J.: Abstract syntax tree implementation idioms. Pattern Languages of Program Design (2003), proceedings of the 10th Conference on Pattern Languages of Programs (PLoP2003)

Backup: Related work Round-trip tools: Tools for high level 3D development: Exist for 'ordinary' software E. g. UML Lab, Together, Simultaneous ing; provide different views High level dev. hardly supported Simplify programming task Rapid prototyping source: http://www.uml-lab.com/de/uml-lab E. g. InTML [3] : describe different input devices, output devices, virtual objects, and 3D interaction techniques at high level, XML-based Traditionally: Active generation ( weaving, protected regions) [6, 7]

Backup: Intermediate Model Model based storage Common methods: 1.Store model and separately Redundancy Synchronization through domain model; restrictions 2.Completely derive model from (render ) Synchronize between TL Many processes Intermediate model contains data and meta data

Backup: Eclipse Framework and Editor Eclipse Modeling Tools: (Meta-) Modeling of DSLs: Eclipse Modeling Framework (EMF) Graphical DSLs: Graphical Modeling Framework (GMF) (Graphical) model or: ~120t effective lines of Model validation: Object Constraint Language (OCL) Model transformations (): ETL, (ATL, QVT) Code generation (M2T): JET, Xpand, (MOFScript) Generation of parsers and serializers (M2T, T2M): Xtext Change detection, model merging and resolving conflicts: ECL, EML, ETL

Backup: SSL (XMI) Domain Model AST M2T Code : SSL Intermediate model: Generic transformations, with Java EMF reflective API T2M