Upload
juha-pekka-tolvanen
View
144
Download
3
Embed Size (px)
Citation preview
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
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