Model-based Analysis of Source Code Repositories

Size: px
Start display at page:

Download "Model-based Analysis of Source Code Repositories"

Transcription

1 odel-based Analysis of Source Code Repositories arkus Scheidgen artin Schmidt Joachim Fischer Humboldt Universität zu Berlin 1

2 Agenda Software Evolution, Reverse Engineering, and ining Software Repositories odel-based ining of Software Repositories srcrepo a framework for model-bases analysis of software repositories Experiments with Eclipse s software repositories Conclusions 2

3 software engineering Software Evolution software maintenance software modernization transformation requirements user {C} S problem user {C} R HEAD S reverse engineering {C} S S {C} forward engineering mining software repositories 1 R 0 quality assessment implicit dependencies OG s AD (Achitecture-Driven odernization) AST eta-odel (AST) Knowledge Discovery eta- odel (KD) Software etrics eta-odel (S) 1. H. Kagdi,.L. Collard, J.I. aletic: A survey and taxonomy of approaches for mining software repositories in the context of software evolution; Journal of Software aintenance and Evolution: Research and Practice; Vol.19/Nr.2/2007 3

4 ining Software Repositories In General The term mining software repositories (SR) has been coined to describe a broad class of investigations into the examination of software repositories. The premise of SR is that empirical and systematic investigations of repositories will shed new light on the process of software evolution. [1] Different scopes, e.g. single software projects vs. many software projects Different goals, e.g. quality assessments and implicit dependencies vs. generalizations about software evolution 1. H. Kagdi,.L. Collard, J.I. aletic: A survey and taxonomy of approaches for mining software repositories in the context of software evolution; Journal of Software aintenance and Evolution: Research and Practice; Vol.19/Nr.2/2007 4

5 odel-based ining of Software Repositories S {C} reverse engineering 1. E.J. Chikofsky, J.H. Cross: Reverse engineering and design recovery: A taxonomy; IEEE Software; Vol.7/Nr.1/ R. Lincke, J. Lundberg, W. Löwe: Comparing Software etrics Tools; 8th International Symp. on Software Testing and Analysis;

6 odel-based ining of Software Repositories S {C} reverse engineering R HEAD {C n } R 0 1. E.J. Chikofsky, J.H. Cross: Reverse engineering and design recovery: A taxonomy; IEEE Software; Vol.7/Nr.1/ R. Lincke, J. Lundberg, W. Löwe: Comparing Software etrics Tools; 8th International Symp. on Software Testing and Analysis;

7 odel-based ining of Software Repositories S {C} reverse engineering R HEAD {C n } {C R 0 n-1 } 1. E.J. Chikofsky, J.H. Cross: Reverse engineering and design recovery: A taxonomy; IEEE Software; Vol.7/Nr.1/ R. Lincke, J. Lundberg, W. Löwe: Comparing Software etrics Tools; 8th International Symp. on Software Testing and Analysis;

8 odel-based ining of Software Repositories S {C} reverse engineering R HEAD {C n } {C R 0 n-1 } {C 0 } 1. E.J. Chikofsky, J.H. Cross: Reverse engineering and design recovery: A taxonomy; IEEE Software; Vol.7/Nr.1/ R. Lincke, J. Lundberg, W. Löwe: Comparing Software etrics Tools; 8th International Symp. on Software Testing and Analysis;

9 odel-based ining of Software Repositories S {C} reverse engineering R HEAD {C n } {C R 0 n-1 } {C 0 } 1. E.J. Chikofsky, J.H. Cross: Reverse engineering and design recovery: A taxonomy; IEEE Software; Vol.7/Nr.1/ R. Lincke, J. Lundberg, W. Löwe: Comparing Software etrics Tools; 8th International Symp. on Software Testing and Analysis;

10 odel-based ining of Software Repositories Scope depends on concreter SR-application and its goals number of software projects: single repositories, large repositories, ultra-large repositories Sources as text and text based metrics, e.g. LOC Declarations only: packages, classes, methods, but no statements, expressions, etc. Full AST with or without cross-references 6

11 odel-based ining of Software Repositories Scope depends on concreter SR-application and its goals number of software projects: single repositories, large repositories, ultra-large repositories Sources as text and text based metrics, e.g. LOC Declarations only: packages, classes, methods, but no statements, expressions, etc. Full AST with or without cross-references 7

12 odel-based ining of Software Repositories SR tools are already model-based, but in a proprietary manner Idea: existing reverse engineering framework and corresponding standard meta-models and modeling frameworks instead of proprietary solutions Goals deal with heterogeneity (different version control systems, different languages) reuse of existing meta-models, transformations, and languages interoperability with existing analysis tools retaining meaningful scalability 8

13 odel-based SR Strategies version control system - -B 3 9

14 odel-based SR Strategies Checkout(r) version control system - -B 3 9

15 odel-based SR Strategies Checkout(r) version control system - -B 3 9

16 odel-based SR Strategies B 3 Checkout(r) version control system - -B 3 9

17 odel-based SR Strategies B 3 d2cus(r) Checkout(r) version control system - -B 3 9

18 odel-based SR Strategies B 3 d2cus(r) Checkout(r) version control system - -B 3 9

19 odel-based SR Strategies B 3 d2cus(r) Checkout(r) version control system - -B 3 9

20 odel-based SR Strategies B 3 d2cus(r) Analysis(r) 1 Checkout(r) version control system - -B 3 9

21 odel-based SR Strategies B 3 d2cus(r) Analysis(r) 2 1 Checkout(r) version control system - -B 3 9

22 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) version control system - -B 3 9

23 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) version control system - -B 3 R Checkout + CUs Parse + Analysis!! 9

24 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) version control system - -B 3 10

25 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) f B.f -B 3 version control system - B.f f 10

26 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) B.f f erge(r) -B 3 version control system - B.f f 10

27 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) B.f f erge(r) -B 3 version control system - R B.f f Checkout +! Parse + Analysis CUs Checkout +! + erge)+analysis CUs(Parse R 10!

28 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) B.f f erge(r) -B 3 version control system - B.f f 11

29 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) B.f f erge(r) -B 3 version control system - Save(r) B.f f Load(r) 11

30 R R R B 3 CUs odel-based SR Strategies Checkout + CUs Parse + Analysis Checkout + CUs(Parse + erge)+analysis (Load + erge)+analysis 0 d2cus(r)!!! Analysis(r) Checkout(r) d2 CUs(r) B.f f erge(r) -B 3 version control system - Save(r) B.f f Load(r) 11

31 R R R B 3 CUs odel-based SR Strategies Checkout + CUs Parse + Analysis Checkout + CUs(Parse + erge)+analysis (Load + erge)+analysis 0 d2cus(r)!!! Analysis(r) Checkout(r) d2 CUs(r) B.f f erge(r) version control system - -B 3 Save(r) B.f f Load(r) Analysis 0 (r) 12

32 R R R R B 3 B CUs 1 odel-based SR Strategies Checkout + CUs Parse + Analysis Checkout + CUs(Parse + erge)+analysis! (Load + erge)+analysis CUs (Load + Analysis 0 ) d2cus(r)!! Analysis(r) Checkout(r) d2 CUs(r) B.f f erge(r) version control system - -B 3 Save(r) B.f f Load(r) Analysis 0 (r) 12

33 odel-based SR Strategies B 3 3 d2cus(r) Analysis(r) 2 1 Checkout(r) d2 CUs(r) B.f f erge(r) version control system - -B 3 Save(r) B.f f Load(r) Analysis 0 (r) 13

34 Research Questions Assumptions Development of SR-applications based on models, transformation languages and standardized meta-models is favorable Some SR-applications need to analyze source code on a deep (AST) level SR-analysis is performed iteratively Hypotheses odels of source code repositories can be created and persisted Traversing existing persistent models of source code repositories is much faster than traversing transient models that are created from version control system on the fly 14

35 srcrepo A Framework for odel-based SR Eclipse s odisco as reverse engineering framework reverse engineering for Java, based on EF Support for many JRE-ased languages: Java, xtext, JSP, L creates instances of a Java EF meta-model that corresponds to the handwritten JDT AST-model provides transformation to language independent artifacts, e.g. KD EF-Fragments 1 to store very large-models uses No-SQL databases and stores larger model fragments within database entries in contrast to object-by-object stores such as OR-based CDO or No-SQL-based orsa or Neo4J tend programming with higher order functions to mimic OCL-style definition of software metrics 2 1..Scheidgen, A.Zubow,J.Fischer,T.H.Kolbe: Automated and Transparent odel Fragmentation for Persisting Large odels; AC/IEEE 15th International Conference on odel Driven Engineering Languages & Systems (ODELS); Innsbruck; Scheidgen, J.Fischer: odel-based ining of Software Repositories; 8th Systems and odeling Conference, Valencia, Spain, September 29th,

36 OCL to Calculate etrics of AST-odels // Weighted number of methods per class. def wmc(abstracttypedeclaration type,(block) int weight) { } type.bodydeclarations.sum[if (body!= null) weight.apply(it.body) else 1] 16

37 Experiments Eclipse Foundation sources, i.e. Eclipse platform and plugins (large scale software repository) Organized in different (couple hundred) projects: jdt, cdt, emf,... Available via GITHub GIT repositories can be gathered automated via GITHub s REST-ful API 200 largest Eclipse repositories that actually contained Java code: 6.6 GB Git, 400 LOC, 250 GB model with 4 billion objects. 17

38 Example Plot: Halstead-length for each Revision; Eclipse CDT WC with Halstead length (x 10 6 ) time (years)

39 odel Create v Analysis Times time (hours) udf merge/increment load save parse checkout avg time per revision (ms) jdt.ui xtext eclipselink jdt.core swt cdt ocl ptp org.aspectj cdo checkout parse save load merge/ increment udf 19

40 Diskspace GIT repository vs model size 15 GIT size odel size 10 jdt.core cdt jdt.ui cdo in GB 5 0 f.emfstore.core 20 emf jdt.debug emf.compare emf.texo.diffmerge.core

41 Delta-Compression 1 Named element matching eta-class matching Line matching delta-models initial revisions uncompressed detla-models initial revisions uncompressed delta-lines initial revisions uncompressed GB GB Lines cdt webtools gmf tooling rap jdt.core cdt webtools gmf tooling rap jdt.core cdt webtools gmf tooling rap jdt.core Compressed relative to full size Avg. execution times Avg. execution times (logarithmic) (%) avg. time per revision (ms) avg. time per revision (ms) initial revisions delta models for named elements delta models for meta-class delta lines parse compress named elements compress decompr. meta-class named elements decompr. meta-class parse compress named elements compress decompr. meta-class named elements decompr. meta-class 1..Scheidgen: Evaluation of odel Comparison for Delta-Compression in odel Persistence; BigDE 2016 (at STAF 2016),Vienna, Austria, July 6-7,

42 odel Creation v Analysis with Delta-Compression without compression with compression udf merge/increment load save parse checkout time (hours) udf merge/increment load save compress parse checkout jdt.ui xtext eclipselink jdt.core swt cdt ocl ptp jdt.ui xtext eclipselink jdt.core swt cdt ocl ptp org.aspectj cdo org.aspectj cdo time (hours)

43 Conclusions SR can support software evolution and helps to understand software evolution Traversing a source code repository to gather information (SR) is very time consuming, especially with iterative analysis It is possible to save most of this time via saving data in its model state, at the cost of comparably large models that need to be persisted The SR analysis execution time savings are considerable 23

Model-based Mining of Software Repositories. Markus Scheidgen

Model-based Mining of Software Repositories. Markus Scheidgen Model-based Mining of Software Repositories Markus Scheidgen Agenda Mining Software Repositories (MSR) and current approaches srcrepo a model-based MSR system srcrepo components and analysis process a

More information

Eclipse Modeling Framework (EMF) Paweł Żalejko

Eclipse Modeling Framework (EMF) Paweł Żalejko Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating

More information

The etrice Eclipse Project Proposal

The etrice Eclipse Project Proposal The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization

More information

The Galilean Moons of Eclipse

The Galilean Moons of Eclipse The Galilean Moons of Eclipse Wayne Beaton The Eclipse Foundation Evangelist Director, Committer Community Agenda Ganymede New and Noteworthy Components/Equinox/OSGi Demo Questions What is Galileo? Simultaneous

More information

When Modeling meets Productivity. Sven Efftinge - itemis

When Modeling meets Productivity. Sven Efftinge - itemis When Modeling meets Productivity Sven Efftinge - itemis I Eclipse JDT I GIT So what s the Problem? It s the Language not the Tooling! Level of Abstraction Reuse existing, proven technology and apply

More information

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK

Extracting Executable Architecture from Legacy Code using Static Reverse Engineering. REHMAN ARSHAD The University of Manchester, UK Extracting Executable Architecture from Legacy Code using Static Reverse Engineering REHMAN ARSHAD The University of Manchester, UK Research Context Research Product Line Engineering Reverse Engineering

More information

SANER 17. Klagenfurt, Austria

SANER 17. Klagenfurt, Austria SANER 17 Klagenfurt, Austria Carol V. Alexandru, Sebastiano Panichella, Harald C. Gall Software Evolution and Architecture Lab University of Zurich, Switzerland {alexandru,panichella,gall}@ifi.uzh.ch 22.02.2017

More information

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation

The Next Generation of Eclipse: e4. Mike Milinkovich Executive Director Eclipse Foundation The Next Generation of Eclipse: e4 Mike Milinkovich Executive Director Eclipse Foundation 1 Changing Environment New Technologies: RIA Applications and Cloud Computing AJAX, Flash, Silverlight Amazon E2

More information

Model-based Mining of Source Code Repositories

Model-based Mining of Source Code Repositories Model-based Mining of Source Code Repositories Markus Scheidgen and Joachim Fischer Humboldt-Universität zu Berlin, Unter den Linden 6, 10099 Berlin, Germany {scheidge,fischer}@informatik.hu-berlin.de

More information

Framework for Constructing Context- Specific Migration Methods for Test Cases

Framework for Constructing Context- Specific Migration Methods for Test Cases for Constructing Context- Specific s for Cases Presented by Ivan Jovanovikj All rights reserved Agenda 1 Challenges in Case Reuse in Projects 2 Construction of Context- Specific s 3 Outlook and Conclusion

More information

An Eclipse Plug-In for Generating Database Access Documentation in Java Code

An Eclipse Plug-In for Generating Database Access Documentation in Java Code An Eclipse Plug-In for Generating Database Access Documentation in Java Code Paul L. Bergstein and Aditya Gade Dept. of Computer and Information Science, University of Massachusetts Dartmouth, Dartmouth,

More information

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

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript 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

More information

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect How to Harvest Reusable Components in Existing Software Nikolai Mansurov Chief Scientist & Architect Overview Introduction Reuse, Architecture and MDA Option Analysis for Reengineering (OAR) Architecture

More information

Introduction to OpenArchitectureWare

Introduction to OpenArchitectureWare Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare

More information

International Journal for Management Science And Technology (IJMST)

International Journal for Management Science And Technology (IJMST) Volume 4; Issue 03 Manuscript- 1 ISSN: 2320-8848 (Online) ISSN: 2321-0362 (Print) International Journal for Management Science And Technology (IJMST) GENERATION OF SOURCE CODE SUMMARY BY AUTOMATIC IDENTIFICATION

More information

Neo4EMF, a Scalable Persistence Layer for EMF Models

Neo4EMF, a Scalable Persistence Layer for EMF Models Neo4EMF, a Scalable Persistence Layer for EMF Models Amine Benelallam 1, Abel Gómez 1, Gerson Sunyé 1, Massimo Tisi 1, and David Launay 2 1 AtlanMod, INRIA, Mines de Nantes, & LINA, France {amine.benelallam

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

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

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

Comparison and merge use-cases from practice with EMF Compare

Comparison and merge use-cases from practice with EMF Compare Comparison and merge use-cases from practice with EMF Compare Laurent Delaigue Philip Langer EMF Compare Working with models Comparing text files EMF Compare Working with models Comparing models EMF Compare

More information

EATOP: An EAST-ADL Tool Platform for Eclipse

EATOP: An EAST-ADL Tool Platform for Eclipse Grant Agreement 260057 Model-based Analysis & Engineering of Novel Architectures for Dependable Electric Vehicles Report type Report name Deliverable D5.3.1 EATOP: An EAST-ADL Tool Platform for Eclipse

More information

Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis

Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Towards Better Understanding of Software Quality Evolution Through Commit Impact Analysis Sponsor: DASD(SE) By Mr. Pooyan Behnamghader 5 th Annual SERC Doctoral Students Forum November 7, 2017 FHI 360

More information

Using Eclipse in MIS Research

Using Eclipse in MIS Research Using Eclipse in MIS Research GENERAL REMARK ECLIPSE and ECLIPSE PLUG- INS are very useful and powerful in the context of RESEARCH and EDUCATION but are probably not suited for developing commercial tools.

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs

What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316

More information

Software Factories Application within the ASE5 project

Software Factories Application within the ASE5 project 22 nd - 24 th October 2013 Software Factories Application within the ASE5 project Nieves Salor Moral (n.salor_moral@vitrocisetbelgium.com) ESTEC, Noordwijk, The Netherlands Agenda Software Factories Decision

More information

Generation of Large Random Models for Benchmarking

Generation of Large Random Models for Benchmarking Generation of Large Random Models for Benchmarking Markus Scheidgen 1 Humboldt Universität zu Berlin, Department of Computer Science, Unter den Linden 6, 10099 Berlin, Germany {scheidge}@informatik.hu-berlin.de

More information

project in an industrial context

project in an industrial context Anatomy of a domain-specific language project in an industrial context Development and examination of a DSL demonstrator for elevator controllers Software Engineering, Architecture and Platform Technologies

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Lessons learned from building Eclipse-based add-ons for commercial modeling tools Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

FREQUENTLY ASKED QUESTIONS

FREQUENTLY ASKED QUESTIONS Borland Together FREQUENTLY ASKED QUESTIONS GENERAL QUESTIONS What is Borland Together? Borland Together is a visual modeling platform that enables software teams to consistently deliver on-time, high

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

Analyzing the Product Line Adequacy of Existing Components

Analyzing the Product Line Adequacy of Existing Components Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany

More information

A Meta-Model for Fact Extraction from Delphi Source Code

A Meta-Model for Fact Extraction from Delphi Source Code Electronic Notes in Theoretical Computer Science 94 (2004) 9 28 www.elsevier.com/locate/entcs A Meta-Model for Fact Extraction from Delphi Source Code Jens Knodel and G. Calderon-Meza 2 Fraunhofer Institute

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

EERQI Innovative Indicators and Test Results

EERQI Innovative Indicators and Test Results This project is funded by the Socioeconomic Sciences and Humanities Section. EERQI Final Conference, Brussels, 15-16 March 2011 EERQI Innovative Indicators and Test Results Prof. Dr. Stefan Gradmann /

More information

ECLIPSE MODELING PROJECT

ECLIPSE MODELING PROJECT ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid

More information

BIG MODELS AN ALTERNATIVE APPROACH

BIG MODELS AN ALTERNATIVE APPROACH 2. BIG MODELS AN ALTERNATIVE APPROACH Whitepaper Eclipse Summit 2008 Modeling Symposium Jos Warmer, Ordina (jos.warmer@ordina.nl) Abstract Scaling up modeling within project runs into many practical problems.

More information

Perfect for the Enterprise

Perfect for the Enterprise Eike Stepper stepper@esc-net.de http://www.esc-net.de http://thegordian.blogspot.com Berlin, Germany The CDO Model Repository Perfect for the Enterprise Enterprise Modeling Day, Zurich, October 28, 2010

More information

Eclipse 4 Eclipse Day Toulouse 24 mai 2012

Eclipse 4 Eclipse Day Toulouse 24 mai 2012 Eclipse 4 Eclipse Day Toulouse 24 mai 2012 OPC 12 ECD PRE E4A 01 A OPCOACH 2012 Table of contents I - Eclipse 4 5 A. Application Model... 10 B. E4 injection and annotations... 14 C. CSS Styling... 17

More information

Enabling PHP Software Engineering Research in Rascal

Enabling PHP Software Engineering Research in Rascal Enabling PHP Software Engineering Research in Rascal Mark Hills and Paul Klint WASDeTT July 1, 2013 Montpellier, France http://www.rascal-mpl.org Why look at PHP applications? 2 Why look at PHP applications?

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Continuous Integration and Deployment (CI/CD)

Continuous Integration and Deployment (CI/CD) WHITEPAPER OCT 2015 Table of contents Chapter 1. Introduction... 3 Chapter 2. Continuous Integration... 4 Chapter 3. Continuous Deployment... 6 2 Chapter 1: Introduction Apcera Support Team October 2015

More information

From a lot of Boxes to a lot of Words

From a lot of Boxes to a lot of Words From a lot of Boxes to a lot of Words Migrating to Xtext Jochen Schmich, Fiducia & GAD IT AG / Hendrik Bünder itemis AG Ludwigsburg, 26.10.2017 Agenda 1. Introduction 2. Our Goals 3. How to get there 4.

More information

Domain-Specific Languages Language Workbenches

Domain-Specific Languages Language Workbenches Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang

More information

Transformational Abstraction for Java (TAJ)

Transformational Abstraction for Java (TAJ) Transformational Abstraction for Java (TAJ) Advisor: Student: Dr. Spencer Rugaber Sergio Berzosa González Motivation A major problem in software maintenance and reverse engineering is the lack of documentation

More information

Employing Query Technologies for Crosscutting Concern Comprehension

Employing Query Technologies for Crosscutting Concern Comprehension Employing Query Technologies for Crosscutting Concern Comprehension Marius Marin Accenture The Netherlands Marius.Marin@accenture.com Abstract Common techniques for improving comprehensibility of software

More information

DIGIT.B4 Big Data PoC

DIGIT.B4 Big Data PoC DIGIT.B4 Big Data PoC DIGIT 01 Social Media D02.01 PoC Requirements Table of contents 1 Introduction... 5 1.1 Context... 5 1.2 Objective... 5 2 Data SOURCES... 6 2.1 Data sources... 6 2.2 Data fields...

More information

Taxonomy Dimensions of Complexity Metrics

Taxonomy Dimensions of Complexity Metrics 96 Int'l Conf. Software Eng. Research and Practice SERP'15 Taxonomy Dimensions of Complexity Metrics Bouchaib Falah 1, Kenneth Magel 2 1 Al Akhawayn University, Ifrane, Morocco, 2 North Dakota State University,

More information

MODEL VERSIONING IN CONTEXT OF LIVING MODELS

MODEL VERSIONING IN CONTEXT OF LIVING MODELS MODEL VERSIONING IN CONTEXT OF LIVING MODELS Waqar Mehmood and Arshad Ali Department of Computer Science, COMSATS Institute of Information Technology, Wah Campus. ABSTRACT In this paper we present an approach

More information

Schema Repository Database Evolution And Metamodeling

Schema Repository Database Evolution And Metamodeling Schema Repository Database Evolution And Metamodeling Evolving XML schemas and documents using UML class diagrams. E Domínguez, J 31, 2005. MeDEA: A database evolution architecture with traceability 21,

More information

Introduction to Model Driven Engineering using Eclipse. Frameworks

Introduction to Model Driven Engineering using Eclipse. Frameworks Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Documenting Java Database Access with Type Annotations

Documenting Java Database Access with Type Annotations Documenting Java Database Access with Type Annotations Paul L. Bergstein Dept. of Computer and Information Science, University of Massachusetts Dartmouth 285 Old Westport Rd., Dartmouth, MA 02747 pbergstein@umassd.edu

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

Towards a Taxonomy of Approaches for Mining of Source Code Repositories

Towards a Taxonomy of Approaches for Mining of Source Code Repositories Towards a Taxonomy of Approaches for Mining of Source Code Repositories Huzefa Kagdi, Michael L. Collard, Jonathan I. Maletic Department of Computer Science Kent State University Kent Ohio 44242 {hkagdi,

More information

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso College of Computing Georgia Institute of Technology a.c.seesing@ewi.tudelft.nl,

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Getting started with Eclipse 05/02/2010 Prepared by Chris Panayiotou for EPL 233 1 What is Eclipse? o Eclipse is an open source project http://www.eclipse.org Consortium of companies,

More information

Mining Ultra-Large-Scale Software Repositories with. Boa

Mining Ultra-Large-Scale Software Repositories with. Boa Mining Ultra-Large-Scale Software Repositories with Boa Robert Dyer, Hoan Nguyen, Hridesh Rajan, and Tien Nguyen {rdyer,hoan,hridesh,tien}@iastate.edu Iowa State University The research and educational

More information

Extending the JavaScript Development Toolkit

Extending the JavaScript Development Toolkit Extending the JavaScript Development Toolkit Bradley Childs IBM Software Group childsb@us.ibm.com 3/19/2008 Agenda Overview JSDT Feature Highlights Benefit of Extending JSDT JSDT Platform What can you

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

ECSEL Research and Innovation actions (RIA) AMASS

ECSEL Research and Innovation actions (RIA) AMASS ECSEL Research and Innovation actions (RIA) AMASS Architecture-driven, Multi-concern and Seamless Assurance and Certification of Cyber-Physical Systems Prototype for seamless interoperability (a) D5.4

More information

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

EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework EMF Refactor: Specification and Application of Model Refactorings within the Eclipse Modeling Framework Thorsten Arendt a, Florian Mantz b, Gabriele Taentzer a a Philipps-Universität Marburg, FB12 - Mathematics

More information

IBM WebSphere Studio Asset Analyzer, Version 5.1

IBM WebSphere Studio Asset Analyzer, Version 5.1 Helping you quickly understand, enhance and maintain enterprise applications IBM, Version 5.1 Highlights n Provides interactive textual n Helps shorten the learning curve and graphic reports that help

More information

Mining Source Code Repositories with. Boa. Robert Dyer, Hoan Nguyen, Hridesh Rajan, and Tien Nguyen

Mining Source Code Repositories with. Boa. Robert Dyer, Hoan Nguyen, Hridesh Rajan, and Tien Nguyen Mining Source Code Repositories with Boa Robert Dyer, Hoan Nguyen, Hridesh Rajan, and Tien Nguyen {rdyer,hoan,hridesh,tien}@iastate.edu Iowa State University The research and educational activities described

More information

Refactoring Practice: How it is and How it Should be Supported

Refactoring Practice: How it is and How it Should be Supported Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case

More information

Web Application Development Using Spring, Hibernate and JPA

Web Application Development Using Spring, Hibernate and JPA Web Application Development Using Spring, Hibernate and JPA Duration: 5 Days Price: 1,995 + VAT Course Description: This course provides a comprehensive introduction to JPA (the Java Persistence API),

More information

Collaborative Repositories in Model Driven Engineering

Collaborative Repositories in Model Driven Engineering IEEE Copyright Notice. Juri Di Rocco, Davide Di Ruscio, Ludovico Iovino, Alfonso Pierantonio. Collaborative Repositories in Model Driven Engineering. IEEE Software. Published version are available at http://ieeexplore.ieee.org/document/7093036/references

More information

High performance model queries

High performance model queries High performance model queries and their novel applications Benedek Izsó Zoltán Szatmári István Ráth Budapest University of Technology and Economics Fault Tolerant Systems Research Group Workshop on Eclipse

More information

Oracle APEX 18.1 New Features

Oracle APEX 18.1 New Features Oracle APEX 18.1 New Features May, 2018 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Making EMF Intelligent with AI

Making EMF Intelligent with AI Interpreting the world on a different plane Making EMF Intelligent with AI Robert Bosch Engineering and Business Solutions 14/06/2018 Niranjan Babu.H.S Robert Bosch Engineering and Business Solutions-EMT

More information

Application Discovery and Enterprise Metadata Repository solution Questions PRIEVIEW COPY ONLY 1-1

Application Discovery and Enterprise Metadata Repository solution Questions PRIEVIEW COPY ONLY 1-1 Application Discovery and Enterprise Metadata Repository solution Questions 1-1 Table of Contents SECTION 1 ENTERPRISE METADATA ENVIRONMENT...1-1 1.1 TECHNICAL ENVIRONMENT...1-1 1.2 METADATA CAPTURE...1-1

More information

JIVE: Dynamic Analysis for Java

JIVE: Dynamic Analysis for Java JIVE: Dynamic Analysis for Java Overview, Architecture, and Implementation Demian Lessa Computer Science and Engineering State University of New York, Buffalo Dec. 01, 2010 Outline 1 Overview 2 Architecture

More information

Visualizing the evolution of software using softchange

Visualizing the evolution of software using softchange Visualizing the evolution of software using softchange Daniel M. German, Abram Hindle and Norman Jordan Software Engineering Group Department of Computer Science University of Victoria dmgerman,abez,njordan

More information

Building JavaServer Faces Applications

Building JavaServer Faces Applications IBM Software Group St. Louis Java User Group Tim Saunders ITS Rational Software tim.saunders@us.ibm.com 2005 IBM Corporation Agenda JSF Vision JSF Overview IBM Rational Application Developer v6.0 Build

More information

Design Document CDT Remote Search/Index Framework. Chris Recoskie Vivian Kong Mike Kucera Jason Montojo. IBM Corporation

Design Document CDT Remote Search/Index Framework. Chris Recoskie Vivian Kong Mike Kucera Jason Montojo. IBM Corporation Design Document CDT Remote Search/Index Framework Chris Recoskie Vivian Kong Mike Kucera Jason Montojo IBM Corporation Page 1 of 26 1 Introduction 1.1 Purpose The purpose of this document is to describe

More information

Experimental Responsiveness Evaluation of Decentralized Service Discovery

Experimental Responsiveness Evaluation of Decentralized Service Discovery Experimental Responsiveness Evaluation of Decentralized Service Discovery Andreas Dittrich and Felix Salfner Institut für Informatik, Humboldt-Universität zu Berlin {dittrich,salfner}@informatik.hu-berlin.de

More information

JetBrains TeamCity Comparison

JetBrains TeamCity Comparison JetBrains TeamCity Comparison TeamCity is a continuous integration and continuous delivery server developed by JetBrains. It provides out-of-the-box continuous unit testing, code quality analysis, and

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Papyrus: Advent of an Open Source IME at Eclipse (Redux)

Papyrus: Advent of an Open Source IME at Eclipse (Redux) Papyrus: Advent of an Open Source IME at Eclipse (Redux) Kenn Hussey Eclipse Modeling Day, Toronto November 18, 2009 A Perfect Storm for Tools Core technologies like MOF and UML are evolving Microsoft

More information

Scaling Xtext. Lieven Lemiengre

Scaling Xtext. Lieven Lemiengre Scaling Xtext Lieven Lemiengre Sigasi IDE for Hardware Description Languages VHDL, (System)Verilog Using Xtext for 4 years Large user base (commercial, free, students) Our company goal Assist hardware

More information

D2K Support for Standard Content Repositories: Design Notes. Request For Comments

D2K Support for Standard Content Repositories: Design Notes. Request For Comments D2K Support for Standard Content Repositories: Design Notes Request For Comments Abstract This note discusses software developments to integrate D2K [1] with Tupelo [6] and other similar repositories.

More information

System Optimization & Migration

System Optimization & Migration System Optimization & Migration Agenda 1. Overview 2. Migration Process 3. Gathering / Analyzing 4. Parsing 5. 6. Recovery 7. Result & Document 2 2011-01-17 Demonstration Overview Worldwide IT marketplace

More information

Towards A Common Build Infrastructure: Designing For Reusability

Towards A Common Build Infrastructure: Designing For Reusability Towards A Common Build Infrastructure: Designing For Reusability Nick Boldt, Release Engineer Eclipse Modeling Project IBM Rational Software Toronto, Canada 1 Agenda History of EMFT / Modeling Project

More information

Let's Treat the Eclipse IDE More Like a Product. Productizing open source Eclipse IDEs

Let's Treat the Eclipse IDE More Like a Product. Productizing open source Eclipse IDEs Let's Treat the Eclipse IDE More Like a Product Productizing open source Eclipse IDEs What is a Product? a thing produced by labor a person or thing produced by or resulting from a process an article or

More information

JBPM Course Content. Module-1 JBPM overview, Drools overview

JBPM Course Content. Module-1 JBPM overview, Drools overview JBPM Course Content Module-1 JBPM overview, Drools overview JBPM overview Drools overview Community projects Vs Enterprise projects Eclipse integration JBPM console JBPM components Getting started Downloads

More information

Appending Variable-Structure to Modelica Models (WIP)

Appending Variable-Structure to Modelica Models (WIP) Appending Variable-Structure to Modelica Models (WIP) Daniel Gomez Esperon, Alexandra Mehlhase, Thomas Karbe Technische Universität Berlin Ernst-Reuter-Platz 7, 10587 Berlin, Germany {gomezesperon, a.mehlhase,

More information

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright Classes and Objects Object Orientated Analysis and Design Benjamin Kenwright Outline Review Previous Weeks Object Model, Complexity,.. What do we mean by Classes and Objects? Summary/Discussion Review

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

Specification and Automated Detection of Code Smells using OCL

Specification and Automated Detection of Code Smells using OCL Specification and Automated Detection of Code Smells using OCL Tae-Woong Kim 1, Tae-Gong Kim 2 and Jai-Hyun Seu 3 School of Computer Engineering, Inje University, Obang-dong 607, Gimhae, Gyeong-Nam, Korea

More information

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

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

A model-driven approach for REST compliant services

A model-driven approach for REST compliant services A model-driven approach for REST compliant services University of Stuttgart Universitätsstr. 38 70569 Stuttgart Germany Florian Haupt Institute of Architecture of Application Systems florian.haupt@iaas.uni-stuttgart.de

More information

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java

TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java TRIREME Commander: Managing Simulink Simulations And Large Datasets In Java Andrew Newell Electronic Warfare & Radar Division, Defence Science and Technology Organisation andrew.newell@dsto.defence.gov.au

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Lecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim

Lecture 21. Regression Testing Path Spectra. EE 382V Spring 2009 Software Evolution - Instructor Miryung Kim Lecture 21 Regression Testing Path Spectra Today s Agenda (1) Regression Test Selection Path Spectra Presentation by David (skeptic) Presentation by Sidd (advocate) Presentation by Srinivas (skeptic) Today

More information

Deliverable: D 1.2 Specification of Traceability concepts

Deliverable: D 1.2 Specification of Traceability concepts (ITEA 2 13017) Enabling of Results from AMALTHEA and others for Transfer into Application and building Community around Deliverable: D 1.2 Specification of Traceability concepts Work Package: 1 Continuous

More information

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE

METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE UDC:681.324 Review paper METADATA INTERCHANGE IN SERVICE BASED ARCHITECTURE Alma Butkovi Tomac Nagravision Kudelski group, Cheseaux / Lausanne alma.butkovictomac@nagra.com Dražen Tomac Cambridge Technology

More information

Automatic Generation of Graph Models for Model Checking

Automatic Generation of Graph Models for Model Checking Automatic Generation of Graph Models for Model Checking E.J. Smulders University of Twente edwin.smulders@gmail.com ABSTRACT There exist many methods to prove the correctness of applications and verify

More information