Presented by: Elena C. Ciobanu - 4187873 Mihai V. Ciobanu - 4559971 Kuntal Ghosh - 6492501.

Slides:



Advertisements
Similar presentations
GenArch: Automatic Product Derivation in Multi-agent Systems Product Line Elder Cirilo.
Advertisements

Component Development for the Component Description Framework (CDF) Training Dr.-Ing. Ulrich Dinger.
Regular Expressions BKF03 Brian Ciccolo. Agenda Definition Uses – within Aspen and beyond Matching Replacing.
Elevator Simulator DSL Project Presented by Miguel Garzón and Stéphane Leblanc 1.
1 Lecture 12 Implementing Small Languages internal vs. external DSLs, hybrid small DSLs Ras Bodik Ali and Mangpo Hack Your Language! CS164: Introduction.
Developing Domain-Specific Languages for the JVM Travis Dazell Systems Architect Digi-Key Corporation.
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
CSI5112 Software Engineering Team: Andrei Anisenia Margi Fumtiwala.
CPSC Compiler Tutorial 9 Review of Compiler.
Extensions to Svetovid students’ submission environment Doni Pracner, Ivan Pribela, Mirjana Ivanović, Zoran Budimac.
Karan Seth Rahul Dureja Salim Ali Khan.  Generate Year based timelines for celebrities.  Freely available Wikipedia datasets are being used.  Sax parser.
Interpreter for ZOOM-I Andrew Deren Initial Presentation - SE690 5/30/03
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
College of Computer Science & Technology Compiler Construction Principles & Implementation Techniques -1- Compiler Construction Principles & Implementation.
Russell Taylor Lecturer in Computing & Business Studies.
The Basic Tools Presented by: Robert E., & Jonathan Chase.
Lecture 1: Overview of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed.
Filters using Regular Expressions grep: Searching a Pattern.
ANTLR.
Type-Directed, Whitespace-Delimited Parsing for Embedded DSLs Cyrus Omar School of Computer Science Carnegie Mellon University [GlobalDSL13] Benjamin ChungAlex.
Extensible Type-Driven Parsing for Embedded DSLs in Wyvern Cyrus Omar Benjamin Chung Darya Kurilova Ligia Nistor Alex Potanin (Victoria University of Wellington)
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
1. 2 What’s New in NetBeans IDE What is NetBeans IDE?  Ready to use out of the box  Support for latest Java specifications & standards  Other.
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
Xactium xDSLs Run Models Not Code Tony Clark
Integrated Development Environments (IDEs) CS 21a: Introduction to Computing I First Semester,
1 Extending Java And Developing DSLs With Open Source Language Workbench JetBrains MPS Konstantin Solomatov JetBrains Lead Developer for JetBrains MPS.
AN IMPLEMENTATION OF A REGULAR EXPRESSION PARSER
XML A web enabled data description language 4/22/2001 By Mark Lawson & Edward Ryan L’Herault.
Vision The ultimate IDE/CASE tool should supports all steps in the software development process. Current tools perform only minimal semantic-level analysis.
Using CookCC.  Use *.l and *.y files.  Proprietary file format  Poor IDE support  Do not work well for some languages.
Jan Hatje, DESY CSS ITER March 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
A Little Language for Surveys: Constructing an Internal DSL in Ruby H. Conrad Cunningham Computer and Information Science University of Mississippi.
Applied Computing Technology Laboratory QuickStart C# Learning to Program in C# Amy Roberge & John Linehan November 7, 2005.
Scala at EDF Trading Implementing a domain-specific language for derivative pricing with Scala.
Protein Manipulation Domain Specific Language Lu Sun Shuo Wu.
Towards Multi-Paradigm Software Development Valentino Vranić Department of Computer Science and Engineering Faculty of Electrical Engineering.
Chapter 1 Introduction. Chapter 1 - Introduction 2 The Goal of Chapter 1 Introduce different forms of language translators Give a high level overview.
JDojo and Its Usage Te-Hsin Shih 04/30/2013. Dojo Dojo Toolkit is an open source JavaScript library designed to ease the rapid development of cross-platform,
Ruby on Rails Evaluation – Cognitive Dimensions Joshua Sunshine
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Lexical Analysis S. M. Farhad. Input Buffering Speedup the reading the source program Look one or more characters beyond the next lexeme There are many.
2004/12/051/27 SPARCS 04 Seminar Regular Expression By 박강현 (lightspd)
Compiler Construction (CS-636)
Implementation of a Relational Database as an Aid to Automatic Target Recognition Christopher C. Frost Computer Science Mentor: Steven Vanstone.
Domain Specific Models John D. McGregor M13S1. Tool development Eclipse is an environment intended as a basis for building software engineering tools.
Computer Science Faculty School of Software Engineering C INTERPRETER AND DEBUGGER (ISO/IEC 9899:2011) Developer: student of 203SE group: Lukyanov Dmitry.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
The Interpreter Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Jan Hatje, DESY CSS GSI Feb. 2009: Technology and Interfaces XFEL The European X-Ray Laser Project X-Ray Free-Electron Laser 1 CSS – Control.
CSC3315 (Spring 2009)1 CSC 3315 Lexical and Syntax Analysis Hamid Harroud School of Science and Engineering, Akhawayn University
Summer Project Marama2008 By Robert and Johnson. What is Marama? Marama is an Eclipses based toolset permits rapid specification of notational elements,
Inheritance of Automata Classes Using Dynamic Programming Languages (Using Ruby as an Example) Kirill Timofeev
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Integrated Development Environments (IDEs) CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila.
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
DSLs: The Good, the Bad, and the Ugly Marjan Mernik University of Maribor Faculty of Electrical Engineering and Computer Science.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
TTCN-3 Testing and Test Control Notation Version 3.
CSE 311 Foundations of Computing I Lecture 18 Recursive Definitions: Context-Free Grammars and Languages Autumn 2011 CSE 3111.
Textual Visualization Plug-in for Eclipse Gong Jun CCIS Northeastern Univ 02/2004.
Aryeh Tasher Brian Ramos Qijun Zhong Michael Li Tian Zhang.
Chapter 1 Introduction.
Chapter 1 Introduction.
Formal Language Theory
SwE 455 Tutorial.
Lec00-outline May 18, 2019 Compiler Design CS416 Compiler Design.
Review for the Midterm. Overview (Chapter 1):
Presentation transcript:

Presented by: Elena C. Ciobanu Mihai V. Ciobanu Kuntal Ghosh

 Goals of DSL  Scope of tool support for the DSL  DSL definition overview  DSL creation technology selected  Editor design and sample usage  Foreseen impact of language evolution  Potential for analysis and/or code generation  Conclusions

 A programming language with minimal features and functionality for a particular area of interest or domain.  Our DSL ◦ Generate and create data charts (pie, bar etc.) ◦ Very easy to use ◦ No prior programming knowledge needed ◦ Easy to learn and remember

 DSLs can be implemented either by ◦ Interpretation or code generation ◦ A specific parser to process it  We have taken the first approach

 Internal DSLs ◦ Active Record Query Interface in Ruby on Rails ◦ Example  client = Client.find(10)  External DSLs. ◦ CSS

 Xtext ◦ Grammar definition using regular expressions  Xtend ◦ Mapping from Xtext to Java  Eclipse ◦ Running environment

KeywordsOptional chartNo typeNo dataNo sizeNo legendYes rowkeyYes columnkeyYes axislabelsYes colorYes

 Regular Expressions ◦ “In computing, a regular expression provides a concise and flexible means to "match" (specify and recognize) strings of text, such as particular characters, words, or patterns of characters.” (Wikipedia)  Syntax Examples ◦ * (zero to many): a* “” “aaa” “aaaaaa” “ab” ◦ ? (zero or one): b?“bb”“b”“ab” “” ◦ + (one to many): a+ “” “aaa” “aaaaaa” “ab”

 Xtend ◦ Mapping from DSL grammar to Java code  Mapping ◦ Template based ◦ Java code entered in template is not parsed ◦ Xtend code maps Xtext to Java

 JFreeCharts ◦ Swing ◦ Awt  Jcommon  Advantages ◦ Extensible ◦ Pre-built libraries

 Java code evolution ◦ Xtend template adjustments  Grammar evolution ◦ Xtext file adjustments

Chart DSL  easy to use  extendable  Eclipse IDE advantages  Auto-completion