1 / 21

Our experience of DSL creation and usage based on Q R eal metatechnology

Our experience of DSL creation and usage based on Q R eal metatechnology. prof. Andrey Terekhov Head of Software Engineering Chair, SPbSU CEO, Lanit-Tercom. June, 26 th , 2012. Saint-Petersburg. CASE-approach. Visibility Different points of view to the system Reliability

nia
Download Presentation

Our experience of DSL creation and usage based on Q R eal metatechnology

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. Our experience of DSL creation and usage based on QReal metatechnology prof. Andrey TerekhovHead of Software Engineering Chair, SPbSU CEO, Lanit-Tercom June, 26th, 2012. Saint-Petersburg

  2. CASE-approach • Visibility • Different points of view to the system • Reliability • Additional syntactic and semantic checks • Automation of the key actions

  3. Domain Specific Modeling • Problem-orientedvisual languages and editors • Narrow scope • Higher level of abstraction • Full automatic code generation • Applicability • Lots of similar problems  • Product lines • Large projects • Programming for non-programmers

  4. Productivity boost in 3-10 times • Higher level of abstraction • Full automatic source code generation • Full support of tools • Nokia (1000%) • Kelly, S., Tolvanen, J.-P., Visual domain-specific modeling: benefits and experiences of using metaCASE tools, in: Bezivin, J., Ernst, J. (Eds.), Proceedings of International workshop on Model Engineering, ECOOP 2000. • USAF (300%) • Kieburtz, R., et al. A software engineering experiment in software component generation, Proceedings of 18th International Conference on Software Engineering, Berlin, IEEE Computer Society Press, March, 1996 • Lucent (400-1000%) • Weiss, D., Lai, C. T. R., Software Product-line Engineering, Addison Wesley Longman, 1999.

  5. Our goal • Visual IDE • Use of graphical languages • Tools for rapid language development • Cross-platform • Multi-user access • Collaborative development • Version control • Visual debugging support • Easy-to-use user interface

  6. QReal features • Generic kernel + editor plug-ins • Version control support • Graphical and logical models • Build-in and stand-alone generators • Visual debugging and Visual interpreter • Metamodelling

  7. Metamodelling • Two ways to create tools for a new language • Textual • Graphical • Metaeditor • Form editor • Abstract kernel, modular architecture • Code generation of specific editor based on metamodel

  8. Metamodel • Describes language syntax • Diagram – tab in the palette • Elements: nodes and links • Imported elements • Relations between elements • Example, Class diagram • Element“Class" • Attributes“Name", “Abstract" • Element“Method" • Attributes“Name", “Return value type" • Element“Inheritance"

  9. Metamodel QReal:Robots KernelMetaModel import Diagramа Node Command to motor Command to sensor The same node Wait for touch Wait for Sonar Go Stop Distance link ForwardBackward Enumeration elements

  10. Metamodel QReal:Robots, explanations • Block of “Commands to motor“ • Property“Ports" – ports having connection with motors • Inherited blocks“Stop motors" and“Movement command" • Inherited from " Movement command " blocks“Motors forward" and“Motors backward"

  11. Visual Debugging • Visual diagram interpreter • Visual debugging of generated code

  12. Usability improvement • Mouse gestures recognition

  13. Current research • Interpretation of generators • new DSL to describe generators • interpreter of this language • Language evolution support tools • Interpretable metamodels  • Touch screens and multitouch devices support  • Visual diff for models • Multi-stroke gesture recognition • Usability issues • ...

  14. Activity diagramm

  15. HaSCoL:Arbiter 4to1

  16. Queue: Activity Diagramm

  17. Example: chip Queue

  18. Requirement diagram

  19. QReal:Robots

  20. QReal:Ubiq

  21. QReal • CASE and metaCASE tool • Visual debugging • Multi-user access • Metamodelling • Visual editor fir chip description • Lego NXT robots programming tool • Ubiq Mobile programming tool • Set of UML 2.2 diagrams • Visual requirement editor • ... • https://github.com/qreal/qreal/wiki

More Related