a dsl for corporate wiki initialization (caise'11)

41
A DSL for Corporate Wiki Initialization ONEKIN Research Group University of the Basque Country (Spain) Jun 22th, 2011 CAISE 2011, London, United Kingdom Oscar Díaz and Gorka Puente

Upload: gorka-puente

Post on 21-Dec-2014

332 views

Category:

Technology


1 download

DESCRIPTION

Presentation for The 23rd International Conference on Advanced Information Systems Engineering (CAiSE'11). London (UK), Jun 22th, 2011

TRANSCRIPT

Page 1: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 2: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 2

Outline

Introduction

WSL Analysis

WSL Design

WSL Realization

Verification of WSL Maps

Enactment of WSL Maps

Conclusions

Page 3: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 3

Introduction

Wiki

Domain Specific Language (DSL)

Wiki Scaffolding Language (WSL)

Introduction

Page 4: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 4

The success of the wiki

Introduction

www.communitywiki.org

Page 5: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 5

Corporate wikis

Introduction

Page 6: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 7: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

Wiki scaffolding requires …

…organizational knowledge• Organigrams• Internal documents• Terminology

…technical knowledge• Installing wiki engine• Installing extensions• Access control mechanisms• …

7Introduction

Page 8: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 9: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

Which hat to wear?

9

Domain expert hat

Introduction

Page 10: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 11: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

Why DSLs?

Enhance quality, productivity, maintainability and portability

Allow domain experts understand, validate and develop program themselves

11Introduction

Page 12: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

Wiki Scaffolding Language (WSL)… pronounced “whistle”Aim: wiki scaffolding

Target audience: non programmers

Implementation Platform: FreeMind

12Introduction

Page 13: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

WSL ANALYSIS

13

Page 14: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 14

WSL Analysis

Capture the company’s work practice and setting as long as they impact the wiki operation

WSL Analysis

Page 15: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 15

Documentation setting

Company terminology

Wiki Terms

Glossary Category

Content Article

Documentation guideline

Template

Event Event

WSL Analysis

Page 16: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 16

Communication setting

Internal External

Discussion pages RSS feeds

Templates Email

WSL Analysis

Page 17: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 17

Organigram setting

Existing hierarchy based on roles that the employees adopt in projects

WSL Analysis

Page 18: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 18

Restriction setting

Two permissions: read and edit at page level

WSL Analysis

Page 19: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 19

Presentation setting

WSL Wiki Terms

WikiSize and wikiEditFreq

Wiki Skin

Logo Logo

Sidebar Index Panes

WSL Analysis

Page 20: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

WSL DESIGN

20

Page 21: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 21

WSL Design

Abstract syntax

Concrete syntax

WSL Design

Page 22: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

WSL Abstract Syntax (metamodel) Abstract syntax describes the concepts, the relationships

among them, and constraints to respect the domain rules.

22WSL Design

Page 23: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 24: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

FreeMind

FreeMind: popular, simple, open source and scalable

24WSL Design

Page 25: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

FreeMind

25WSL Design

Page 26: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 26

Example: a wiki for software documentation Rationales:

the scattering of stakeholders,

the need for collaboration and tracking,

iterative manners

WSL Design

Page 27: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

FreeMind example

27WSL Realization

Page 28: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

WSL REALIZATION

28

Page 29: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 30: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 30

Concrete Syntax

WSL Realization

Abstract syntax

FreeMind

Page 31: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

VERIFICATION OF WSL MAPS

31Verification of WSL Maps

Page 32: A DSL for Corporate Wiki Initialization (CAiSE'11)

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

Page 33: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 33

Verifying WSL Expressions

Verification of WSL Maps

Page 34: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

ENACTMENT OF WSL MAPS

34

Page 35: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 35

Enactment of WSL Maps

WSL maps are turned into a wiki installation

Enactment of WSL Maps

Page 36: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 36

WSL generation

Enactment of WSL Maps

Page 37: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 37

Pages generated by WSL

Enactment of WSL Maps

Page 38: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente

CONCLUSIONS

38

Page 39: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 39

Conclusions

WSL focus on “wikifolding”

It bets for FreeMind to engage end users

Conclusions

Page 40: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 40

Conclusions

DSL success

right abstractions

minimum disturbance to existing practices

Evaluation needed!

Page 41: A DSL for Corporate Wiki Initialization (CAiSE'11)

G. Puente 41

Thanks for your attention!

[email protected]

www.onekin.org/wsltwitter.com/GorkaPuente

twitter.com/onekin