collaborative language engineering and language use: demo with metaedit+

13
1 Juha-Pekka Tolvanen [email protected] SLE 2016 MetaEdit+ for Collaborative Language Engineering and Language Use

Upload: juha-pekka-tolvanen

Post on 21-Mar-2017

143 views

Category:

Software


3 download

TRANSCRIPT

1

Juha-Pekka Tolvanen [email protected] SLE 2016

MetaEdit+ for Collaborative

Language Engineering and Language Use

2

Content

Collaboration schemes

– 3 ways of collaboration in SLE

Demonstration

– Typical collaborations in SLE

Discussion

– + possibility to go into details afterwards, or download MetaEdit+ from www.metacase.com/download

3

Experts define languages & generators

Team models with domain concepts & generate code

MetaEdit+ is available as a single-user and as a collaborative multi-user version

4

Collaborative Language Engineering and Language Use

Language Engineering

Language Use

Jim Mark Jill Bob Joe John Nina

5

In SLE collaboration occurs in different ways

1. Among language engineers

– to specify and manage larger DSL or several integrated DSLs

– each focus on their particular area (abstract syntax, concrete syntax, constraints, generators and transformations)

2. Among language users

– each focusing on different parts (with different DSLs?) of the system

3. Among language engineers and language users

– to specify and improve the languages along with the work already done

6

Demo scenarios

1. Several language engineers create in collaboration a language

– Edit the same abstract syntax definition

– Some edit the abstract syntax, second language engineering the constraints, third concrete syntax and fourth the generators

– Trace among shared language elements

– Trace among several integrated languages

2. Collaborative language use

– Several engineers use the language and edit the same model, and same diagram at the same time

– Trace among model elements

– Trace and integration among models in different languages

– Change history and versioning

3. Language users join and give feedback on the language

– Language users test the language and give feedback

– Language engineer updates the metamodel and language users tries it out

– Existing work (models) are updated automatically when the language changes

7

MetaEdit+ for SLE collaboration: Demo

8

Collaborative Language Engineering

Language engineers (A, B, C, D) can modify different parts of the language at the same time

Integrated language specification: changing ‘Name’ of ‘ComponentInstance’ reflects automatically to constraints (in B), notation (in C) and can be traced to generators (in D)

9

Collaborative Language Engineering and Language Use

Language engineering and use in the same environment

We can inspect how language is used and language users can provide feedback

Automated DSL version delivery

Scales well to industry use with model evolution

10

Collaborative Language(s) Use

Language users can specify the same system (with different DSLs) at the same time

Model elements can be traced, checked, reused as a whole

11

Benefits of collaborative features for SLE

Better quality languages

– Integrated DSL definitions among language engineers

Better acceptance as language users directly involved

– Early testing of metamodels

– Immediate feedback

– Avoid creating wrong language

Handle larger and more complex/integrated DSLs

– No single man can handle all

12

Remarks

The collaborative features of MetaEdit+ are been applied in industry

Repository approach scales well to large systems, large teams and using several integrated languages

Tutorials, Case studies, User Guides and downloadable evaluation version is available at: www.metacase.com

13

Thank you! Questions?

www.metacase.com