a dsl for corporate wiki initialization (caise'11)

Post on 21-Dec-2014

332 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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!

Gorka.puente@ehu.es

www.onekin.org/wsltwitter.com/GorkaPuente

twitter.com/onekin

top related