Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "The Importance of Concrete Syntax to Support End-User Abstractions Jeff Gray University of Alabama at Birmingham ICSE MiSE Workshop Minneapolis, MN May."— 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 Admin Assistants Businessman Auto Factory Worker Scientist Spreadsheet Model-Based Business Query Domain-Specific Modeling Language DSL for Physics

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 # 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

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

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


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

Similar presentations


Ads by Google