27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Towards a Novel Semantic Approach for Process<br />

Patterns’ Capitalization and Reuse<br />

Nahla JLAIEL<br />

RIADI Research Laboratory<br />

National School of Computer Science<br />

La Manouba, Tunisia<br />

Nahla.Jlaiel@riadi.rnu.tn<br />

Mohamed BEN AHMED<br />

RIADI Research Laboratory<br />

National School of Computer Science<br />

La Manouba, Tunisia<br />

Mohamed.Benahmed@riadi.rnu.tn<br />

Abstract—Process patterns are widely used by the software<br />

engineering’s community as an excellent mechanism for<br />

communicating software development knowledge (experiences<br />

and best practices) that has proven to be effective in practice. As<br />

a consequence, several description languages and formats have<br />

been proposed in the literature dealing with process patterns, in<br />

which patterns are described with different terminologies and<br />

reused in informal manner. These disparities make capitalization<br />

and/or reuse of process patterns, difficult to be achieved. This is<br />

why, in this paper, we propose a new semantic approach for<br />

process patterns capitalization and reuse, named SCATTER,<br />

which aims to disseminate software process best practices by<br />

making process patterns described in a unified and formal form.<br />

The proposed approach is based on two main processes namely,<br />

process patterns warehousing and process patterns mining.<br />

Keywords-software process patterns; patterns capitalization;<br />

patterns reuse; patterns unification; patterns warehousing; patterns<br />

mining; ontologies; information extraction; text mining;<br />

ontologies’ population<br />

I. INTRODUCTION<br />

Nowadays, patterns are increasingly being recognized by<br />

software development communities, as an effective method to<br />

reuse knowledge and best practices gained during software<br />

development processes [1] [2].<br />

In fact, software patterns now exist f or a wide range of<br />

topics including process patterns, requirement, analysis, design,<br />

implementation or code patterns, test patterns and even<br />

maintenance patterns.<br />

Concerning process patterns, whose main role is to<br />

capitalize good specifications or implementations of a method<br />

to be followed to achieve a goal [3], they become commonly<br />

used by software development communities as an excellent<br />

medium to share software development knowledge that is often<br />

encapsulated in experiences and best practices [4] [5] [6].<br />

Indeed, process patterns are growingly being adopted by<br />

different development processes such as A gile processes [7],<br />

Object-oriented Software Development processes [8],<br />

Component Based Software Development processes [9],<br />

Service-Oriented Development processes [10] as well as<br />

Aspect-oriented Development processes [11]. As co nsequence<br />

to the huge proliferation of the process patterns practice, these<br />

latter are being used in an informal manner, through traditional<br />

textbooks or better with modest hypertext systems providing<br />

weak semantic relationships. In addition to the huge number of<br />

process patterns that are available in books or Web-based<br />

resources [2], they significantly differ in format, coverage,<br />

scope, architecture and terminology used [12].<br />

All of these observations conspire to create barriers to the<br />

efficient use of process patterns. In fact, patterns users are<br />

expected to investigate different patterns resources such as<br />

books, magazines, papers and Web collections to find the most<br />

appropriate patterns. This investigation really needs cognitive<br />

efforts, abilities and time to identify, understand, select, adapt<br />

and apply relevant ones.<br />

For these reasons, we argue that efforts are needed to more<br />

formally capitalize patterns knowledge in order to help<br />

software development communities use, reuse and create<br />

process patterns during any given software development<br />

process. The overall goal of our research is to build up an<br />

intelligent framework supporting process patterns capitalization<br />

and reuse. Process patterns capitalization should enable<br />

patterns’ integration, validation, evolution and/or creation<br />

through patterns’ reuse. In other words we aim to cr eate a<br />

framework for process patterns’ knowledge management<br />

In this paper, we outline the proposed approach SCATTER,<br />

acronym for “SemantiC Approach for sofTware process<br />

paTErns capitalization and Reuse” which is a new knowledge<br />

management approach [13] adapted for software process<br />

patterns.<br />

The remainder of this paper is organized as follows: section<br />

II deals with the context and motivation of our research work.<br />

Section III provides background information on the process<br />

patterns’ literature review that we carried out and the resulting<br />

meta-model forming the building block of the proposed<br />

approach. Section IV gives details on how the proposed<br />

approach is performed to better disseminate knowledge and<br />

best practices within software development communities.<br />

Section V concludes the paper by giving a discussion of our<br />

contributions as well as an overview of our work in progress.<br />

II. CONTEXT AND MOTIVATION<br />

This section is devoted to a brief description of our research<br />

context in a first subsection and then to the illustration of our<br />

research motivation as a second subsection.<br />

505

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!