workshop 16: an upward shift in abstraction leads to a corresponding increase in productivity. in...
TRANSCRIPT
![Page 1: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/1.jpg)
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.
![Page 2: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/2.jpg)
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
![Page 3: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/3.jpg)
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)
![Page 4: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/4.jpg)
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
![Page 5: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/5.jpg)
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)
![Page 6: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/6.jpg)
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
![Page 7: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/7.jpg)
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
![Page 8: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/8.jpg)
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
![Page 9: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/9.jpg)
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
![Page 10: Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649eab5503460f94bb04c5/html5/thumbnails/10.jpg)
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