JAVA DSLs MIT VOLLER BANDBREITE. Sebastian Zarnekow itemis AG

Size: px
Start display at page:

Download "JAVA DSLs MIT VOLLER BANDBREITE. Sebastian Zarnekow itemis AG"

Transcription

1 JAVA DSLs MIT VOLLER BANDBREITE Sebastian Zarnekow itemis AG

2

3

4 DOMAIN SPECIFIC LANGUAGE

5 DOMAIN SPECIFIC LANGUAGE A Domain-Specific Language is an executable programming language which is tailored and designed to solve a particular class of problems very well.

6

7

8

9

10 com.springsource.roo.pizzashop roo> entity --class ~.domain.topping --testautomatically ~.domain.topping roo> field string --fieldname name --notnull --sizemin 2 ~.domain.topping roo> entity --class ~.domain.base --testautomatically ~.domain.base roo> field string --fieldname name --notnull --sizemin 2 ~.domain.base roo> entity --class ~.domain.pizza --testautomatically ~.domain.pizza roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizza roo> field number --fieldname price --type java.lang.float ~.domain.pizza roo> field set --fieldname toppings --type ~.domain.topping ~.domain.pizza roo> field reference --fieldname base --type ~.domain.base ~.domain.pizza roo> entity --class ~.domain.pizzaorder --testautomatically ~.domain.pizzaorder roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizzaorder roo> field string --fieldname address --sizemax 30 ~.domain.pizzaorder roo> field number --fieldname total --type java.lang.float ~.domain.pizzaorder roo> field date --fieldname deliverydate --type java.util.date ~.domain.pizzaorder roo> field set --fieldname pizzas --type ~.domain.pizza

11 com.springsource.roo.pizzashop roo> entity --class ~.domain.topping --testautomatically ~.domain.topping roo> field string --fieldname name --notnull --sizemin 2 ~.domain.topping roo> entity --class ~.domain.base --testautomatically ~.domain.base roo> field string --fieldname name --notnull --sizemin 2 ~.domain.base roo> entity --class ~.domain.pizza --testautomatically ~.domain.pizza roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizza roo> field number --fieldname price --type java.lang.float ~.domain.pizza roo> field set --fieldname toppings --type ~.domain.topping ~.domain.pizza roo> field reference --fieldname base --type ~.domain.base ~.domain.pizza roo> entity --class ~.domain.pizzaorder --testautomatically ~.domain.pizzaorder roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizzaorder roo> field string --fieldname address --sizemax 30 ~.domain.pizzaorder roo> field number --fieldname total --type java.lang.float ~.domain.pizzaorder roo> field date --fieldname deliverydate --type java.util.date ~.domain.pizzaorder roo> field set --fieldname pizzas --type ~.domain.pizza

12 com.springsource.roo.pizzashop roo> entity --class ~.domain.topping --testautomatically ~.domain.topping roo> field string --fieldname name --notnull --sizemin 2 ~.domain.topping roo> entity --class ~.domain.base --testautomatically ~.domain.base roo> field string --fieldname name --notnull --sizemin 2 ~.domain.base roo> entity --class ~.domain.pizza --testautomatically ~.domain.pizza roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizza roo> field number --fieldname price --type java.lang.float ~.domain.pizza roo> field set --fieldname toppings --type ~.domain.topping ~.domain.pizza roo> field reference --fieldname base --type ~.domain.base ~.domain.pizza roo> entity --class ~.domain.pizzaorder --testautomatically ~.domain.pizzaorder roo> field string --fieldname name --notnull --sizemin 2 ~.domain.pizzaorder roo> field string --fieldname address --sizemax 30 ~.domain.pizzaorder roo> field number --fieldname total --type java.lang.float ~.domain.pizzaorder roo> field date --fieldname deliverydate --type java.util.date ~.domain.pizzaorder roo> field set --fieldname pizzas --type ~.domain.pizza

13 DESTILLIERT com.springsource.roo.pizzashop.domain { entity Topping { string name notnull sizemin 2 } entity Base { string name notnull sizemin 2 } entity Pizza { string name notnull sizemin 2 number price set Topping toppings reference Base base } entity PizzaOrder { string name notnull sizemin 2 string address sizemax 30 number total date deliverydate set Pizza pizzas } }

14 DESTILLIERT com.springsource.roo.pizzashop.domain { entity Topping { string name } entity Base { string name } entity Pizza { string name number price set Topping toppings reference Base base } entity PizzaOrder { string name string address nullable sizemax 30 number total date deliverydate set Pizza pizzas } }

15 DESTILLIERT com.springsource.roo.pizzashop.domain { entity Topping { string name } entity Base { string name } entity Pizza { string name number price set Topping toppings reference Base base } entity PizzaOrder { string name string address nullable sizemax 30 number total date deliverydate set Pizza pizzas } }

16 Eclipse

17 Eclipse Sprache Definieren

18 Eclipse Sprache Definieren IDE Generieren

19 Eclipse Sprache Definieren IDE Generieren Codieren

20 IDE Framework

21 (DOMAIN SPECIFIC ) LANGUAGE FRAMEWORK

22

23

24 Eclipse Platform (JFace Text, etc.)

25 Java Development Tools (JDT) Eclipse Platform (JFace Text, etc.)

26 Java Development Tools (JDT) Eclipse Platform (JFace Text, etc.)

27 Java Development Tools (JDT) Eclipse Platform (JFace Text, etc.) Eclipse Modeling Framework (EMF)

28 Java Development Tools (JDT) Eclipse Platform (JFace Text, etc.) Antlr Parser Generator Eclipse Modeling Framework (EMF)

29 Advanced Language-Specific Editing Features by Default Refactoring Template Proposals Go To Declaration Global Indexing Content Assist Quick Fixes Outline View Find References Incremental Builders Validation Syntax Coloring Wizards Rich Hovers Auto Editing Code Folding Bracket Matching

30 DSLs für Java Entwickler?

31 DSLs für Java Entwickler? import java.util.* package hello.world { entity Person { firstname: String lastname: String friends: List<Person> op getfullname() : String { DEMO firstname + ' ' + lastname } } } op sortedfriends() : List<Person> { friends.sortby [p p.fullname] }

32 DSLs für Java Entwickler! Java Typsystem (Arrays, Generics,...) Java Bibliotheken, Frameworks und Code DSL Java DSL Code in die Java Applikation integrieren DSL auf JVM ausführen

33 DSL AST

34 .class AST DSL.java

35 .class AST DSL Typ-Modell.java

36 .class AST DSL Typ-Modell (referenziert).java

37 .class AST DSL Typ-Modell (referenziert).java Infrastruktur

38 .class AST DSL Typ-Modell (referenziert).java für Infrastruktur

39 .class AST DSL (referenziert).java

40 .class AST DSL.java

41 .class AST Abgeleitete Java Klassen DSL.java

42 .class AST Abgeleitete Java Klassen DSL.java

43 .class AST Abgeleitete Java Klassen DSL.java

44 .class AST Abgeleitete Java Klassen DSL.java

45 .class DSL.java.java

46 .class DSL.java.java

47 7 AUF EINEN STREICH Scripting Language DSL für MongoDB Http Routing Definition Templates Language DSL für Google Guice Build Language Tortoise

48 DEMO

49 WRAP UP

50 WRAP UP

51 WRAP UP Seit Xtext 2.4.3

Grab one of the USB keys. Choose File > New > Example... > Eclipse Con 2012 - Xtext Tutorial

Grab one of the USB keys. Choose File > New > Example... > Eclipse Con 2012 - Xtext Tutorial How To Install 2.3M6? Grab one of the USB keys Install the Eclipse SDK for your platform Choose > New > Example... > Eclipse Con 2012 - Xtext Tutorial S FOR JAVA DEVELOPERS Sebastian Zarnekow - Jan Köhnlein

More information

Xtext Documentation. September 26, 2014

Xtext Documentation. September 26, 2014 Xtext Documentation September 26, 2014 Contents I. Getting Started 9 1. 5 Minutes Tutorial 10 1.1. Creating A New Xtext Project........................ 10 1.2. Generating The Language Infrastructure...................

More information

Rich Web Applications in Server-side Java without Plug-ins or JavaScript

Rich Web Applications in Server-side Java without Plug-ins or JavaScript Rich Web Applications in Server-side Java without Plug-ins or JavaScript Joonas Lehtinen, PhD Vaadin Ltd - CEO vaadin.com/vaadin @joonaslehtinen Rich Web Applications in Server-side Java without Plug-ins

More information

VClipse Xtext-based IDE for the SAP Variant Configurator

VClipse Xtext-based IDE for the SAP Variant Configurator VClipse Xtext-based IDE for the SAP Variant Configurator Tim Geisler webxcerpt Software GmbH tg@webxcerpt.com Eclipse DemoCamp Juno 2012, Walldorf 2012-06-20 Configurable Products SAP Variant Configurator

More information

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Quick Guide For Using Spring Roo and Spring Security In Rapid Web Application Development:

Quick Guide For Using Spring Roo and Spring Security In Rapid Web Application Development: Quick Guide For Using Spring Roo and Spring Security In Rapid Web Application Development: Examples For Basic Access Control Mecahnisms Implmentation By Using Spring Technologies Keywords: Authentication;

More information

Eclipse. Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen

Eclipse. Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen Eclipse Software Engineering with an Integrated Development Environment (IDE) Markus Scheidgen Agenda What is eclipse and why bother? - An introduction to eclipse. eclipse fundamentals (Java) development

More information

e(fx)clipse - JavaFX Tooling

e(fx)clipse - JavaFX Tooling e(fx)clipse - JavaFX Tooling Tom Schindl - BestSolution Systemhaus GmbH EclipseCon October 2012 About Tom CTO BestSolution Systemhaus GmbH Eclipse Committer e4 Platform UI EMF Main developer of e(fx)clipse

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

More information

JSR-303 Bean Validation

JSR-303 Bean Validation JSR-303 Bean Validation Emmanuel Bernard JBoss, by Red Hat http://in.relation.to/bloggers/emmanuel Copyright 2007-2010 Emmanuel Bernard and Red Hat Inc. Enable declarative validation in your applications

More information

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1

Programmers rejoice: QML makes business people understand. Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 Programmers rejoice: QML makes business people understand Qt Developer Days 2014 Hinrich Specht 2. September 2014 Folie 1 About me My company What I do at work Where I live What is it all about? Agenda

More information

Xbase: Implementing Domain-Specific Languages for Java

Xbase: Implementing Domain-Specific Languages for Java Xbase: Implementing Domain-Specific Languages for Java Sven Efftinge itemis AG D-4143 Kiel, Germany sven.efftinge@itemis.de Sebastian Zarnekow itemis AG D-4143 Kiel, Germany sebastian.zarnekow@ itemis.de

More information

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)

How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) How to Improve Database Connectivity With the Data Tools Platform John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) 1 Agenda DTP Overview Creating a Driver Template Creating a

More information

Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse

Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse Philippe Charles, Robert M. Fuhrer, Stanley M. Sutton Jr., Evelyn Duesterwald IBM T. J. Watson Research Center P.O. Box 704, Yorktown

More information

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. www.mwea.de. Kai Wähner

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. www.mwea.de. Kai Wähner Spoilt for Choice Which Integration Framework to choose? Integration vs. Mule ESB vs. Main Tasks Evaluation of Technologies and Products Requirements Engineering Enterprise Architecture Management Business

More information

CSE 308. Coding Conventions. Reference

CSE 308. Coding Conventions. Reference CSE 308 Coding Conventions Reference Java Coding Conventions googlestyleguide.googlecode.com/svn/trunk/javaguide.html Java Naming Conventions www.ibm.com/developerworks/library/ws-tipnamingconv.html 2

More information

Implementation and Integration of a Domain Specific Language with oaw and Xtext

Implementation and Integration of a Domain Specific Language with oaw and Xtext Implementation and Integration of a Domain Specific Language with oaw and Xtext by Volker Koster MT AG, Okt. 2007 www.mt-ag.com info@mt-ag.com Implementation and Integration of a Domain Specific Language

More information

Web Development with the Eclipse Platform

Web Development with the Eclipse Platform Web Development with the Eclipse Platform Open Source & Commercial tools for J2EE development Jochen Krause 2004-02-04 Innoopract Agenda Currently available Tools for web development Enhancements in Eclipse

More information

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Domain Specific Languages for Business Users Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern

More information

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software Luigi Pomante Sante Candia Emilio Incerto Università degli Studi dell Aquila Center of Excellence DEWS - ITALY luigi.pomante@univaq.it

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

Using DSLs for Developing Enterprise Systems

Using DSLs for Developing Enterprise Systems Using DSLs for Developing Enterprise Systems Margus Freudenthal Cybernetica AS/University of Tartu Tartu, Estonia Abstract This paper investigates the suitability of contemporary DSL tools in the context

More information

Java Application Development using Eclipse. Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom

Java Application Development using Eclipse. Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom 8358 Java Application Development using Eclipse Jezz Kelway kelwayj@uk.ibm.com Java Technology Centre, z/os Service IBM Hursley Park Labs, United Kingdom Abstract Learn how to use the powerful features

More information

DSL Contest - Evaluation and Benchmarking of DSL Technologies. Kim David Hagedorn, Kamil Erhard Advisor: Tom Dinkelaker

DSL Contest - Evaluation and Benchmarking of DSL Technologies. Kim David Hagedorn, Kamil Erhard Advisor: Tom Dinkelaker DSL Contest - Evaluation and Benchmarking of DSL Technologies Kim David Hagedorn, Kamil Erhard Advisor: Tom Dinkelaker September 30, 2009 Contents 1 Introduction 2 1.1 Domain Specific Languages.....................

More information

Introduction to Generative Software Development

Introduction to Generative Software Development Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo czarnecki@acm.org www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative

More information

Introduction to Object-Oriented Programming

Introduction to Object-Oriented Programming Introduction to Object-Oriented Programming Programs and Methods Christopher Simpkins chris.simpkins@gatech.edu CS 1331 (Georgia Tech) Programs and Methods 1 / 8 The Anatomy of a Java Program It is customary

More information

Eclipse for Smalltalkers

Eclipse for Smalltalkers Eclipse for Smalltalkers What a difference a year makes! Eric Clayberg Sr. Vice President of Product Development Instantiations, Inc. July 14, 2003 clayberg@instantiations.com http://www.instantiations.com

More information

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications Murali Iyengar, Principal Sales Consultant,

More information

Teaching Pragmatic Model-Driven Software Development

Teaching Pragmatic Model-Driven Software Development Computer Science and Information Systems 12(2):683 705 DOI: 10.2298/CSIS140107022P Teaching Pragmatic Model-Driven Software Development Jaroslav Porubän, Michaela Bačíková, Sergej Chodarev and Milan Nosál

More information

Model-driven Testing of RESTful APIs

Model-driven Testing of RESTful APIs Model-driven Testing of RESTful APIs Tobias Fertig tobias.fertig@t-online.de Peter Braun peter.braun@fhws.de Faculty of Computer Science, University of Applied Science Würzburg-Schweinfurt, Sanderheinrichsleitenweg

More information

Designing, Implementing and Using Domain-Specific Languages

Designing, Implementing and Using Domain-Specific Languages DSL Engineering Designing, Implementing and Using Domain-Specific Languages Intentional Software s Excerpt: Ch. 22, Business DSLs Health Workbench Markus Voelter with Sebastian Benz, Christian Dietrich,

More information

X-ABNF: Name-Bindings of ABNF specifications for custom code generation

X-ABNF: Name-Bindings of ABNF specifications for custom code generation X-ABNF: Name-Bindings of ABNF specifications for custom code generation Thomas Kistel and Ralf Vandenhouten University of Applied Sciences Wildau Institute of Telematics Bahnhofstrasse, 15745 Wildau, Germany

More information

Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework

Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Concepts for the model-driven generation of graphical editors in Eclipse by using the Graphiti framework Fabio Filippelli 1, Steffen Kollosche 1, Michael Bauer 1, Markus Gerhart 1, Marko Boger 1, Karsten

More information

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of

More information

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment

Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu

More information

Gajaba: Dynamic Rule Based Load Balancing Framework

Gajaba: Dynamic Rule Based Load Balancing Framework International Journal of Computer and Communication Engineering, Vol. 2, No. 5, September 2013 Gajaba: Dynamic Rule Based Load Balancing Framework Y. Pandithawattha, K. Perera, M. Perera, M. Miniruwan,

More information

Generative Software Product Line Development using Variability-Aware Design Patterns

Generative Software Product Line Development using Variability-Aware Design Patterns Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Generative Software Product Line Development using Variability-Aware Design Patterns Christoph Seidl, Sven Schuster, Ina Schaefer May

More information

Modeling Cloud Messaging with a Domain-Specific Modeling Language

Modeling Cloud Messaging with a Domain-Specific Modeling Language Modeling Cloud Messaging with a Domain-Specific Modeling Language Gábor Kövesdán, Márk Asztalos and László Lengyel Budapest University of Technology and Economics, Budapest, Hungary {gabor.kovesdan, asztalos,

More information

Embarcadero Rapid SQL Developer 2.0 User Guide

Embarcadero Rapid SQL Developer 2.0 User Guide Embarcadero Rapid SQL Developer 2.0 User Guide Copyright 1994-2009 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights

More information

Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala

Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala Implementing a Bidirectional Model Transformation Language as an Internal DSL in Scala BX 14: 3rd International Workshop on Bidirectional Transformations @EDBT/ICDT 14, Athens, Greece Arif Wider Humboldt-University

More information

Overview of Generative Software Development

Overview of Generative Software Development Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo Overview Motivation Generative Software Development Examples Summary & Outlook 2 Scaling Up Software Development New

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

Continuous Integration

Continuous Integration Présentation IUT Agile Mai 2014 #iutagile http://iutagile.com Continuous Integration arnaud.nauwynck@gmail.com This document: http://arnaud.nauwynck.free.fr/iut-agile-2014continuousint.pdf Summary What

More information

Static Analyzers. Context. Learning Objectives

Static Analyzers. Context. Learning Objectives Static Analyzers Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design

More information

Metamodels and Modeling Multiple Kinds of Information Systems

Metamodels and Modeling Multiple Kinds of Information Systems Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix

More information

Eclipse Rich Client Platform. Kai Tödter Karsten Becker et al. Organized by:

Eclipse Rich Client Platform. Kai Tödter Karsten Becker et al. Organized by: Mo 4 January 22 th -26 th, 2007, Munich/Germany Eclipse Rich Client Platform Kai Tödter Karsten Becker et al. Organized by: Lindlaustr. 2c, 53842 Troisdorf, Tel.: +49 (0)2241 2341-100, Fax.: +49 (0)2241

More information

Integrate your tools to help integrate your stakeholders

Integrate your tools to help integrate your stakeholders Integrate your tools to help integrate your stakeholders Stephan Herrmann EclipseCon Europe 2013 Stephan Herrmann: Integrate your Tools... - EclipseCon Europe 2013 3 Why, exactly, develop DSLs? Remember

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

Modern PL/SQL Code Checking and Dependency Analysis

Modern PL/SQL Code Checking and Dependency Analysis Modern PL/SQL Code Checking and Dependency Analysis Philipp Salvisberg Senior Principal Consultant BASEL BERN BRUGG LAUSANNE ZÜRICH DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. HAMBURG MUNICH STUTTGART VIENNA

More information

SSRS Reporting Using Report Builder 3.0. By Laura Rogers Senior SharePoint Consultant Rackspace Hosting

SSRS Reporting Using Report Builder 3.0. By Laura Rogers Senior SharePoint Consultant Rackspace Hosting SSRS Reporting Using Report Builder 3.0 By Laura Rogers Senior SharePoint Consultant Rackspace Hosting About Me Laura Rogers, Microsoft MVP I live in Birmingham, Alabama Company: Rackspace Hosting Author

More information

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead

Eclipse Web Tools Platform. Naci Dai (Eteration), WTP JST Lead Eclipse Web Tools Platform Naci Dai (Eteration), WTP JST Lead 2007 by Naci Dai and Eteration A.S. ; made available under the EPL v1.0 Istanbul April 30, 2007 Outline WTP Organization JSF Overview and Demo

More information

Efficient Editor Generation for Compositional DSLs in Eclipse

Efficient Editor Generation for Compositional DSLs in Eclipse Efficient Editor Generation for Compositional DSLs in Eclipse Holger Krahn, Bernhard Rumpe, and Steven Völkel Institute for Software Systems Engineering Niedersächsische Technische Hochschule, Standort

More information

Compilation 2012 Domain-Specific Languages and Syntax Extensions

Compilation 2012 Domain-Specific Languages and Syntax Extensions Compilation 2012 and Syntax Extensions Jan Midtgaard Michael I. Schwartzbach Aarhus University GPL Problem Solving The General Purpose Language (GPL) approach: analyze the problem domain express the conceptual

More information

GContracts Programming by Contract with Groovy. Andre Steingress

GContracts Programming by Contract with Groovy. Andre Steingress FÕ Ò ŃÔ PŎ ÑŇÒ P ÌM Œ PÑǾ PÒ PÕ Ñ Œ PŘÕ Ñ GContracts Programming by Contract with Groovy Andre Steingress Andre FÕ Ò ŃÔ PŎ ÑŇÒ P ÌM Œ PSteingress ÑǾ PÒ PÕ Ñ Œ PŘÕ Ñ Independent Software Dev @sternegross,

More information

Embracing Eclipse Orion

Embracing Eclipse Orion Embracing Eclipse Orion Andy Clement, Staff Engineer, aclement@vmware.com @andy_clement Re-distribution allowed with author s consent. 2012 SpringSource, A division of VMware. All rights reserved Who am

More information

Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html

Install Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install

More information

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies

DSL Design. Model Transformations. Model Transformations. Language g Implementation Strategies DSL Design Generic Language g Technology 2IS15 Model Transformations Language g Implementation Strategies Stand-alone Marcel van Amstel Embedding Translation / Software Engineering and Technology 9-1-2012

More information

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical

More information

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,

More information

Workshop 2: Empowering a Self-Service Organization through Forms & Workflows Jennifer Ann Mason

Workshop 2: Empowering a Self-Service Organization through Forms & Workflows Jennifer Ann Mason Workshop 2: Empowering a Self-Service Organization through Forms & Workflows Jennifer Ann Mason Rackspace Hosting Produced by: Supported by: What I ll Cover Getting Started! The Basics of Forms Automating

More information

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can

More information

ADT: Bug Tracker. Version 1.0

ADT: Bug Tracker. Version 1.0 ADT: Bug Tracker Version 1.0 Functional Specification Author Jason Version 1.0 Printed 2001-10-2212:23 PM Document Revisions ADT: Bug Tracker Version 1.0 Functional Specification Revisions on this document

More information

JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems

JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution Share Alike 3.0 United

More information

Today. Generic Language g Technology (2IS15)

Today. Generic Language g Technology (2IS15) Today Generic Lanuae Technoloy (2IS15) Domain Specific Lanuae Desin Prof.dr. Mark van den Brand Tools for software analysis and manipulation Prorammin lanuae independent (parametric) The story is from

More information

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant. Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.com Topics Covered What is Groovy? What is Grails? What are the

More information

Modellrepository @ T-Mobile Umsetzung und Einsatz

Modellrepository @ T-Mobile Umsetzung und Einsatz 1 Modellrepository @ T-Mobile Umsetzung und Einsatz ix CeBIT Forum 2009 Carsten Sensler, T-Mobile Deutschland GmbH 3/9/09 1 Table of Contents!! SOA Backplane overview!! Model repository @ T-Mobile!! Domain

More information

Yet Another DSL for Cross-platforms Mobile Development

Yet Another DSL for Cross-platforms Mobile Development Yet Another DSL for Cross-platforms Mobile Development GlobalDSL 2013 # Sessi 2 Mtpellier, 2013 Olivier Le Goaer and Sacha Waltham olivier.legoaer@univ-pau.fr Agenda Ctext of work A survey of existing

More information

DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner

DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner DSLs to fully generate Business Applications Daniel Stieger, Matthias Farwick, Berthold Agreiter, Wolfgang Messner Introduction One of our customers, a major Austrian retailer, approached us with specific

More information

Preparing for Automated Derivation of Products in a Software Product Line

Preparing for Automated Derivation of Products in a Software Product Line Preparing for Automated Derivation of Products in a Software Product Line John D. McGregor September 2005 TECHNICAL REPORT CMU/SEI-2005-TR-017 ESC-TR-2005-017 Pittsburgh, PA 15213-3890 Preparing for Automated

More information

EAI and Xtext DSLs. Dietmar Stoll (itemis), André Lehner (Zürcher Kantonalbank) XtextCon Kiel, May 20, 2015

EAI and Xtext DSLs. Dietmar Stoll (itemis), André Lehner (Zürcher Kantonalbank) XtextCon Kiel, May 20, 2015 EAI and Xtext DSLs Dietmar Stoll (itemis), André Lehner (Zürcher Kantonalbank) XtextCon Kiel, May 20, 2015 Agenda integration at Zürcher Kantonalbank (ZKB) EAI before EAI reloaded with domain specific

More information

White Paper. An Introduction to Fabasoft app.ducx. 2013 Spring Release

White Paper. An Introduction to Fabasoft app.ducx. 2013 Spring Release White Paper An Introduction to Fabasoft app.ducx 2013 Spring Release Copyright Fabasoft R&D GmbH, Linz, Austria, 2013. All rights reserved. All hardware and software names used are registered trade names

More information

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team

The Java EE 6 Platform. Alexis Moussine-Pouchkine GlassFish Team The Java EE 6 Platform Alexis Moussine-Pouchkine GlassFish Team This is no science fiction Java EE 6 and GlassFish v3 shipped final releases on December 10 th 2009 A brief History Project JPE Enterprise

More information

22b.1. Software Platforms and Software Ecosystems. 22b Software Ecosystems. Plattform Leadership. Platforms and Ecosystems. Prof. Dr. U.

22b.1. Software Platforms and Software Ecosystems. 22b Software Ecosystems. Plattform Leadership. Platforms and Ecosystems. Prof. Dr. U. Fakultät für Informatik Institut für Software- und Multimediatechnik Fakultät für Informatik Institut für Software- und Multimediatechnik 22b 22b.1. Software s and Prof. Dr. Uwe Aßmann Version 11-0.5-17.12.11

More information

Model-driven Development for a Treasure Hunt Android application

Model-driven Development for a Treasure Hunt Android application Model-driven Development for a Treasure Hunt Android application Muram Faiz Ul Subramani Uma Shankar Marinescu Raluca Eduard Paul Enoiu Mälardalen University, Västerås, Sweden {faizulmuram, shanumas, ralukutza,

More information

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

PULP Scription: A DSL for Mobile HTML5 Game Applications

PULP Scription: A DSL for Mobile HTML5 Game Applications PULP Scription: A DSL for Mobile HTML5 Game Applications Mathias Funk and Matthias Rauterberg Department of Industrial Design, Eindhoven University of Technology, Den Dolech 2, 5600MB Eindhoven, The Netherlands

More information

Adobe ColdFusion Builder

Adobe ColdFusion Builder Adobe Adobe ColdFusion Builder A professional tool for ColdFusion development Table of contents 1: CFEclipse 1: ColdFusion Builder 2: Code editing features 5: SQL editing features 7: Code refactoring and

More information

Cedalion A Language Oriented Programming Language (Extended Abstract)

Cedalion A Language Oriented Programming Language (Extended Abstract) Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically

More information

Eindhoven University of Technology

Eindhoven University of Technology Eindhoven University of Technology Department of Mathematics and Computer Science Software Engineering and Technology Group Master Thesis mlbnf A Syntax Formalism for Domain Specific Languages M.W. Manders

More information

How to Integrate Domain-Specific Languages into the Game Development Process

How to Integrate Domain-Specific Languages into the Game Development Process How to Integrate Domain-Specific Languages into the Game Development Process ABSTRACT Robert Walter University of Duisburg-Essen Forsthausweg 2 Duisburg, Germany robert.walter@uni-due.de Domain-specific

More information

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA

Smooks Dev Tools Reference Guide. Version: 1.1.0.GA Smooks Dev Tools Reference Guide Version: 1.1.0.GA Smooks Dev Tools Reference Guide 1. Introduction... 1 1.1. Key Features of Smooks Tools... 1 1.2. What is Smooks?... 1 1.3. What is Smooks Tools?... 2

More information

OpenCV on Android Platforms

OpenCV on Android Platforms OpenCV on Android Platforms Marco Moltisanti Image Processing Lab http://iplab.dmi.unict.it moltisanti@dmi.unict.it http://www.dmi.unict.it/~moltisanti Outline Intro System setup Write and build an Android

More information

A DOMAIN SPECIFIC LANGUAGE FOR THE AUTOMATIC GENERATION OF PARSER CLASSES FOR TEXT PROTOCOLS

A DOMAIN SPECIFIC LANGUAGE FOR THE AUTOMATIC GENERATION OF PARSER CLASSES FOR TEXT PROTOCOLS A DOMAIN SPECIFIC LANGUAGE FOR THE AUTOMATIC GENERATION OF PARSER CLASSES FOR TEXT PROTOCOLS Thomas Kistel, Ralf Vandenhouten Abstract Zusammenfassung ABNF is a language for the definition of the formal

More information

Integrating Prose as First-Class Citizens with Models and Code

Integrating Prose as First-Class Citizens with Models and Code Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, voelter@acm.org Abstract. In programming and modeling we strive to express structures and behaviors as

More information

SSELab: A Plug-In-Based Framework for Web-Based Project Portals

SSELab: A Plug-In-Based Framework for Web-Based Project Portals SSELab: A Plug-In-Based Framework for Web-Based Project Portals Christoph Herrmann, Thomas Kurpick, Bernhard Rumpe Software Engineering RWTH Aachen University Aachen, Germany http://www.se-rwth.de/ Abstract

More information

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

Refactoring (in) Eclipse

Refactoring (in) Eclipse Refactoring (in) Eclipse J. van den Bos Master s thesis August 15, 2008 Master Software Engineering Universiteit van Amsterdam Thesis Supervisor: Prof. Dr. P. Klint Internship Supervisor: Drs. H.J.S. Basten

More information

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Implementing reusable software components for SNOMED CT diagram and expression concept representations 1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed

More information

Mbeddr and Software Documentation

Mbeddr and Software Documentation Integrating Prose as First-Class Citizens with Models and Code Markus Voelter independent/itemis, voelter@acm.org Abstract. In programming and modeling we strive to express structures and behaviors as

More information

ORACLE APPLICATION EXPRESS 5.0

ORACLE APPLICATION EXPRESS 5.0 ORACLE APPLICATION EXPRESS 5.0 Key Features Fully supported nocost feature of the Oracle Database Simple 2-Tier Architecture Develop desktop and mobile applications 100% Browserbased Development and Runtime

More information

An approach for the systematic development of domain-specific languages

An approach for the systematic development of domain-specific languages SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2009; 39:1253 1292 Published online 28 August 2009 in Wiley InterScience (www.interscience.wiley.com)..936 An approach for the systematic development

More information

JastEMF: Reference Attribute Grammars for EMF-based DSLs

JastEMF: Reference Attribute Grammars for EMF-based DSLs Fakultät Informatik Institut Software- und Multimediatechnik, Lehrstuhl Softwaretechnologie JastEMF: Reference Attribute Grammars for EMF-based DSLs Sven Karol, Christoff Bürger ACSE 17.12.2012 What s

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost

More information

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012 Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow

More information

Quality Assurance of Software Models within Eclipse using Java and OCL

Quality Assurance of Software Models within Eclipse using Java and OCL Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why

More information

Metamorphic Testing and DSL for Test Cases & Checker Generators

Metamorphic Testing and DSL for Test Cases & Checker Generators Olympiads in Informatics, 2015, Vol. 9, 75 88 2015 Vilnius University, IOI DOI: http://dx.doi.org/10.15388/ioi.2015.07 75 Metamorphic Testing and DSL for Test Cases & Checker Generators Ryan Ignatius HADIWIJAYA,

More information

Building Web Applications, Servlets, JSP and JDBC

Building Web Applications, Servlets, JSP and JDBC Building Web Applications, Servlets, JSP and JDBC Overview Java 2 Enterprise Edition (JEE) is a powerful platform for building web applications. The JEE platform offers all the advantages of developing

More information

How To Write A Free Software Program In Java.Org (For Free)

How To Write A Free Software Program In Java.Org (For Free) für Java Entwickler und Architekten - Schema Evolution und Maintenance { } "name" : "Timmo Freudl-Gierke", "twitter" : "@timmo_gierke", "blog" : "http://blog-it.hypoport.de/" humongous enorm gigantisch

More information