The Importance of Concrete Syntax to Support End-User Abstractions Jeff Gray University of Alabama at Birmingham ICSE MiSE Workshop Minneapolis, MN May.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
Introduction to Unix – CS 21 Lecture 11. Lecture Overview Shell Programming Variable Discussion Command line parameters Arithmetic Discussion Control.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
UML and SDL Modeling Languages.
Courtesy Costas Busch - RPI1 Positive Properties of Context-Free languages.
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.
Design Patterns for Metamodel Design Domain-Specific Modeling Workshop Portland, Oregon October 23, 2011 Hyun Cho and Jeff Gray University of Alabama Department.
CPSC Compiler Tutorial 5 Parser & Bison. Bison Concept Bison reads tokens and pushes them onto a stack along with the semantic values. The process.
Costas Busch - RPI1 Positive Properties of Context-Free languages.
The Academic Truth According to Cathie, Dave and Jeff.
1 YACC Yet Another Compiler Compiler. 2 Yacc is a parser generator: Input: A Grammar Output: A parser for the grammar (Reminder: a parser finds derivations)
Branch Admin Panel Queue Pro: Queue Management System.
1 System: Teallach Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Teallach: A Model-Based User Interface.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Chapter 3 Software Two major types of software
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Visualization By: Simon Luangsisombath. Canonical Visualization  Architectural modeling notations are ways to organize information  Canonical notation.
A university for the world real R © 2009, Chapter 23 Epilogue Wil van der Aalst Michael Adams Arthur ter Hofstede Nick Russell.
An Information Theory based Modeling of DSMLs Zekai Demirezen 1, Barrett Bryant 1, Murat M. Tanik 2 1 Department of Computer and Information Sciences,
May Distribution authorized to U.S. Government Agencies only Symmetric Multimodal Interactive Intelligent Development Environments Dramatic reduction.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Towards Human-Executable Business Process Modeling Janis Barzdins, Edgars Rencis, Agris Sostaks Institute of Mathematics and Computer Science, University.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
LEX and YACC work as a team
Implementing Design Patterns Using Java St. Louis Java Special Interest Group Eric M. Burke Object Computing, Inc. Presented on July 9, 1998 (updated July.
Co-design Environment for Secure Embedded Systems Matt Eby, Janos L. Mathe, Jan Werner, Gabor Karsai, Sandeep Neema, Janos Sztipanovits, Yuan Xue Institute.
Agenda 1. Introduction 2. Overview of SU-MoVal 3. OCL-based Model Validation 4. QVT-based Transformations 5. Demo of SU-MoVal 6. Conclusion and Future.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
Unit Testing for Domain-Specific Languages 1 Hui Wu, 1 Jeff Gray and 2 Marjan Mernik 1 University of Alabama at Birmingham, USA
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Domain-Specific Languages for Composing Signature Discovery Workflows Ferosh Jacob*, Adam Wynne+, Yan Liu+, Nathan Baker+, and Jeff Gray* *Department of.
Patterns and the UML. Patterns? Patterns are structured, packaged problem solutions in literary form Pattern languages are collections of related patterns.
SaveUML System design. System overview Possible...
Shell Programming. Introducing UNIX Shells  Shell is also a programming language and provides various features like variables, branching, looping and.
On the Combination of Domain Specific Modeling Languages Antonio Vallecillo GISUM/Atenea Research Group ECMFA, Paris, June 2010.
6 th OOPSLA Workshop on Domain-Specific Modeling /10/221 The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Contact Profile (1/2) Yu Sun, University of Alabama at Birmingham Hyun Cho, University of Alabama Jeff Gray, University of Alabama Jules White, Virginia.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,
Graphical Modeling Framework (GMF) Richard C. Gronback Project Lead.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
Transformation and Testing Group Members: Petra Brosch Jeff Gray Maribel Hudson Philip Langer Qichao Liu Matteo Risoldi Johannes Schoenboeck Yu Sun.
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,
TIP (Technology Integration Planning) Model M. D. Roblyer 1.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
LanguageLab A Meta-modelling Environment Terje Gjøsæter and Andreas Prinz, University of Agder, Norway SDL Forum 2015, Berlin, Germany.
1 Unit Testing for Domain-Specific Languages 1 Hui Wu, 1 Jeff Gray and 2 Marjan Mernik 1 University of Alabama at Birmingham, USA
Model Transformations Require Formal Semantics Yu Sun 1, Zekai Demirezen 1, Tomaz Lukman 2, Marjan Mernik 3, Jeff Gray 1 1 Department of Computer and Information.
Model Transformation for End-Users
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
Small is Beautiful Building a flexible software factory using small DSLs and Small Models 1 Jos Warmer Partner, Ordina
A Model Transformation Approach to Automated Model Construction and Evolution Yuehua Lin Jeff Gray Department of.
1 Extending the Eclipse Debug Perspective and JUnit to Support Testing and Debugging of Domain-Specific Languages August 16, 2005 Hui Wu and Jeff Gray.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
YACC (Yet Another Compiler-Compiler) Chung-Ju Wu
Generative Programming: Past, present, and future A panel at GPCE 2004 Vancouver, BC October 27, 2004 Jeff Gray, University of Alabama at Birmingham.
Exploring Excel Chapter 7 Automating Repetitive Tasks: Macros and
Chapter 5- Assembling , Linking, and Executing Programs
A Simple Syntax-Directed Translator
GO! with Microsoft Access 2016
and Executing Programs
Design of Transmission Pipeline Modelling Language
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Presentation transcript:

The Importance of Concrete Syntax to Support End-User Abstractions Jeff Gray University of Alabama at Birmingham ICSE MiSE Workshop Minneapolis, MN May 19-20,2007 Panel on “Abstraction Challenges”

Categories of End-Users Admin Assistants Businessman Auto Factory Worker Scientist Spreadsheet Model-Based Business Query Domain-Specific Modeling Language DSL for Physics

Increasing interest in DSMLs “One size fits all” approach is appearing to be inadequate for many end-user needs  Too complex and contains “kitchen sink” approach providing things most users do not need (UML) Current trend is to provide “domain-specific” modeling languages that are customized to a specific domain  Notations and abstractions are exactly what the users expect; focused on problem space, not technology solution space But, how to create such modeling languages and environments?  Expensive to create from scratch for each domain

Textual DSL and Visual DSML # To get things out of the revision control system $(SRCS): $(GET) # To make an object from source $(CC) $(CFLAGS) -c $*.c # To make an executable printenv: $(OBJS) $(CC) $(LDFLAGS) -o $(OBJS) # To install things in the right place install: printenv printenv.man $(INSTALL) -c -o $(OWNER) -g $(GROUP) -m 755 printenv $(BINDIR) $(INSTALL) -c -o $(OWNER) -g $(GROUP) -m 644 printenv.man $(MANDIR) Make File %token INTEGER %token VARIABLE %token WHILE IF PRINT %nonassoc IFX %nonassoc ELSE %left GE LE EQ NE '>' '<' %left '+' '-' %left '*' '/' %nonassoc UMINUS %type stmt expr stmt_list % program: function { exit(0); } ; function: function stmt { ex($2); freeNode($2); } | /* NULL */ ; YACC

An Example Modeling Tool Executable Model Power Tab Editor Two Views: Traditional notes Guitar tab Metamodel: Music Symbols Model: Song Conforms to

See video demo Windows Media Flash

Abstraction Challenges For the task at hand, how is the "right" level of abstraction selected?  What heuristics can be used to decide what concepts should be left out of a modeling language? How can we measure, test, and teach abstraction skills suitable for modelling? To what extent to do domain-specific modeling language approaches provide mechanisms for extending modeling languages with support for new abstractions?  How do domain-specific modeling languages offer advantages over UML; likewise, what advantages remain in using UML over customized modeling languages?

Abstraction Challenges In terms of providing the best constructs for abstraction in modeling languages, what can be learned from decades of programming language design (if anything)? What are examples of cases where the LACK of abstraction in modeling hindered a project?  What was missing in the modeling language and how can the language be extended to address new constructions for the abstractions needed for these examples?

Case Study: Crosscutting Constraints in Real-Time/Embedded Models