Presentation is loading. Please wait.

Presentation is loading. Please wait.

Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.

Similar presentations


Presentation on theme: "Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages."— Presentation transcript:

1 Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages have evolved towards a higher level of abstraction. Today, domain-specific visual languages provide a viable solution for continuing to raise the level of abstraction beyond coding. In a domain-specific visual language (DSVL), the models are made up of elements representing things that are part of the domain world, not the code world. The language follows the domain abstractions and semantics, allowing developers to perceive themselves as working directly with domain concepts. The models are simultaneously the design, implementation and documentation of the system, which can be generated directly from them. Metamodeling and metaCASE tools significantly ease the implementation of domain-specific visual languages. They provide support for experimenting with the language as it is built, and remove the burden of tool creation and maintenance from the language creator.

2 Domain-Specific Visual Languages Workshop topics –Experience reports –Separation of concerns and the application of new modularity technologies –Approaches to identify constructs for DSVLs –Novel approaches for code generation –Issues of support and maintenance of DSVLs –Evolution of languages with domain –Metamodeling frameworks and languages –Tools for supporting DSVLs –Specific domains where DSVLs most productive Participants –20 submissions –36 authors –15 papers were accepted –21 participants www.isis.vanderbilt.edu/oopsla2k1/ Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen

3 Motivation Fundamental productivity improvements (3-10 times) –Shorter intervals: Fast –Lower costs: Cheap –Better quality: Good Faster change responsiveness –Manage changes in domain instead of code Allows developers to design products with domain terms –Apply familiar terminology Leverage expertise inside the team –Put expert’s knowledge in a tool –“Hide” domain complexity (DSVL includes domain rules)

4 Related Research Methods, CASE, metaCASE –50% use no method, 25% standard method, 25% customised –Visual Programming Languages Domain-specific approaches –Textual DSL, Visual DSVL –Product family engineering Code generation –Generative & template programming –Models to code: mostly structural, behaviour from state charts Components –Raise level of abstraction –Reuse by reference, not copy and paste

5 UML & Components: Background –UML tried to be generic –Practice demanded extension mechanisms What has been done –Tried to use extension mechanisms to develop DSVLs –In some cases UML extension mechanisms are insufficient Only allow subclassification Only one stereotype per element Cannot define new metaclasses Cannot define or change rules These are necessary for DSVLs –DSVLs shown to outperform components (Kieburtz, 1996)

6 Extending existing approaches towards DSVLs Current research topics –UML not designed to make 2D graph metamodels; MOF a subset of UML –MOF is too complex –UML needs a smaller metamodel core –Would more extension mechanisms dilute the value of UML as a standard Future research topics –Empirical studies comparing DSVL and UML approaches –Guidelines using extension mechanisms to create DSVLs

7 Text & Models: Background –Coding has duplicated work done in modelling –Target: generator able to create 100% code for narrow range of applications What has been done –Three architectural approaches to code generation from models: ’Push’: DSVL tool offers language for making generators Intermediate Representation: Models exported in standard form, external tool translates to code ’Pull’: Generator written in normal programming language, accesses models via DSVL tool’s API

8 Code generation, models for text processing Current research topics –Investigation of different code generation architectures Pros and cons Where should each be used –Generators generating generators –Models as generators Future Research –Relationship between tools and semantics Responsibility of underlying model semantics –Relating tracing/debugging of generated code back to model

9 DSVL Practice: Background –Visual programming 20+ years –MetaCASE tools 20+ years What has been done –Many commercial in-house DSVLs: Honeywell, NASA, Nokia, Pecunet, DuPont, Lucent, USAF, Saturn, Boeing –Some available as tools: Labview, Simulink, SDL,... –Several tools available to make DSVLs: DOME, GME, MetaEdit+,... Domain characteristics that influence DSVL success? –already established understanding –separation of concerns –concurrency, parallellism

10 Approaches for implementing DSVLs Current research topics –Support for model components & patterns –Metamodel evolution, model migration –Reflective systems Models embedded in and controlling systems –Empirical study of DSVL use Future research topics –Principles of visual language design Input from cognitive science Input from principles of programming languages –Non-graph representations Matrices, venn diagrams, etc. –How to combine code & DSVLs –Extreme modelling, generative modelling


Download ppt "Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages."

Similar presentations


Ads by Google