1 / 10

Workshop 16:

Workshop 16:.

tomlinsonm
Download Presentation

Workshop 16:

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. 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 • 15papers 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

More Related