a dsl for corporate wiki initialization (caise'11)
DESCRIPTION
Presentation for The 23rd International Conference on Advanced Information Systems Engineering (CAiSE'11). London (UK), Jun 22th, 2011TRANSCRIPT
A DSL for Corporate Wiki Initialization
ONEKIN Research GroupUniversity of the Basque Country (Spain)
Jun 22th, 2011
CAISE 2011, London, United Kingdom
Oscar Díaz and Gorka Puente
G. Puente 2
Outline
Introduction
WSL Analysis
WSL Design
WSL Realization
Verification of WSL Maps
Enactment of WSL Maps
Conclusions
G. Puente 3
Introduction
Wiki
Domain Specific Language (DSL)
Wiki Scaffolding Language (WSL)
Introduction
G. Puente 4
The success of the wiki
Introduction
www.communitywiki.org
G. Puente 5
Corporate wikis
Introduction
G. Puente 6
Wiki scaffolding
Introduction
Structural concerns
Communication means
Permissionneeds
A wiki installation where some categories, templates, permissions, etc are initialized at the outset to mimic the corporate background
G. Puente
Wiki scaffolding requires …
…organizational knowledge• Organigrams• Internal documents• Terminology
…technical knowledge• Installing wiki engine• Installing extensions• Access control mechanisms• …
7Introduction
G. Puente 8
Problem statement
To make wiki scaffolding accessible to
non-technical people (who)
that collaboratively agree (how)
on a blueprint for the wiki (what)
Introduction
G. Puente
Which hat to wear?
9
Domain expert hat
Introduction
G. Puente
What is the rabbit in the hat?
Doman-Specific Languages
• “A programming language that offers expressive power focused on a particular problem domain” [1]
10Introduction
G. Puente
Why DSLs?
Enhance quality, productivity, maintainability and portability
Allow domain experts understand, validate and develop program themselves
11Introduction
G. Puente
Wiki Scaffolding Language (WSL)… pronounced “whistle”Aim: wiki scaffolding
Target audience: non programmers
Implementation Platform: FreeMind
12Introduction
G. Puente
WSL ANALYSIS
13
G. Puente 14
WSL Analysis
Capture the company’s work practice and setting as long as they impact the wiki operation
WSL Analysis
G. Puente 15
Documentation setting
Company terminology
Wiki Terms
Glossary Category
Content Article
Documentation guideline
Template
Event Event
WSL Analysis
G. Puente 16
Communication setting
Internal External
Discussion pages RSS feeds
Templates Email
WSL Analysis
G. Puente 17
Organigram setting
Existing hierarchy based on roles that the employees adopt in projects
WSL Analysis
G. Puente 18
Restriction setting
Two permissions: read and edit at page level
WSL Analysis
G. Puente 19
Presentation setting
WSL Wiki Terms
WikiSize and wikiEditFreq
Wiki Skin
Logo Logo
Sidebar Index Panes
WSL Analysis
G. Puente
WSL DESIGN
20
G. Puente 21
WSL Design
Abstract syntax
Concrete syntax
WSL Design
G. Puente
WSL Abstract Syntax (metamodel) Abstract syntax describes the concepts, the relationships
among them, and constraints to respect the domain rules.
22WSL Design
G. Puente
WSL concrete syntax
Mapping between the metamodel concepts and their textual or visual representation
WSL visual representation is Freemind mind map models• Easy to engage end users• Capitalize on FreeMind interface
23WSL Design
G. Puente
FreeMind
FreeMind: popular, simple, open source and scalable
24WSL Design
G. Puente
FreeMind
25WSL Design
G. Puente 26
Example: a wiki for software documentation Rationales:
the scattering of stakeholders,
the need for collaboration and tracking,
iterative manners
WSL Design
G. Puente
FreeMind example
27WSL Realization
G. Puente
WSL REALIZATION
28
G. Puente 29
Concrete Syntax
A mapping is set between elements of the abstract syntax and their counterparts in FreeMind.
WSL FreeMind MediaWiki
Scaffolding Root node Main page
Organigram Organigram bubble node n.a.
Role Child of organigram node Wiki group
Employee Grandson of organigram node Wiki user & user page
Presentation Presentation bubble node Wiki skin
Logo Logo node Wiki logo
wikiSize Wikisize node Wiki skin
WikieditFreq wikiEditFreq node with traffic light icons
Wiki skin
WSL Realization
G. Puente 30
Concrete Syntax
WSL Realization
Abstract syntax
FreeMind
G. Puente
VERIFICATION OF WSL MAPS
31Verification of WSL Maps
G. Puente 32
Verification of WSL Maps
WSL expressions are FreeMind maps
But not all FreeMind maps are WSL expressions
Some constraints need to be obeyed: abstract syntax
Verification of WSL Maps
G. Puente 33
Verifying WSL Expressions
Verification of WSL Maps
G. Puente
ENACTMENT OF WSL MAPS
34
G. Puente 35
Enactment of WSL Maps
WSL maps are turned into a wiki installation
Enactment of WSL Maps
G. Puente 36
WSL generation
Enactment of WSL Maps
G. Puente 37
Pages generated by WSL
Enactment of WSL Maps
G. Puente
CONCLUSIONS
38
G. Puente 39
Conclusions
WSL focus on “wikifolding”
It bets for FreeMind to engage end users
Conclusions
G. Puente 40
Conclusions
DSL success
right abstractions
minimum disturbance to existing practices
Evaluation needed!
G. Puente 41
Thanks for your attention!
www.onekin.org/wsltwitter.com/GorkaPuente
twitter.com/onekin