1 / 9

The Importance of Concrete Syntax to Support End-User Abstractions

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. Spreadsheet. Admin Assistants. Model-Based Business Query.

deliz
Download Presentation

The Importance of Concrete Syntax to Support End-User Abstractions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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”

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

  3. 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

  4. Textual DSL and Visual DSML Make File # 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) YACC %token <iValue> INTEGER %token <sIndex> VARIABLE %token WHILE IF PRINT %nonassoc IFX %nonassoc ELSE %left GE LE EQ NE '>' '<' %left '+' '-' %left '*' '/' %nonassoc UMINUS %type <nPtr> stmt expr stmt_list %% program: function { exit(0); } ; function: function stmt { ex($2); freeNode($2); } | /* NULL */ ;

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

  6. See video demo • Windows Media • Flash

  7. 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?

  8. 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?

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

More Related