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.

A. Pattern Reuse<br />

In patterns reuse state of the art and practice, there are two<br />

complementary processes: a process for the reuse and a process<br />

by the reuse [14]. The software engineering process for re use<br />

concerns patterns engineering and aims to identify, specify and<br />

organize patterns that should be used during the process. The<br />

software engineering process by reuse is devoted to patterns<br />

engineering allowing the search, selection, adaptation and the<br />

integration of patterns for software engineering.<br />

As conclusion to the literature review that we carried out on<br />

patterns reuse, we noted that a great deal of interest is<br />

addressed to product patterns and more precisely design<br />

patterns in research as well as in industry. In addition, we<br />

derived that most of the deployed efforts to improve pattern<br />

reuse are specific to design patterns and could not be adopted<br />

or adapted for other pattern types. Among these, we cite the<br />

efforts deployed by [15] to automatically detect design<br />

patterns’ problem.<br />

On the other hand, process patterns are increasingly being<br />

described within software development communities but in<br />

different forms. In fact, in our literature review, we identified<br />

eleven process patterns’ description models that are being<br />

adopted separately and independently. In other words, every<br />

community creates and manages its own patterns’ collection or<br />

system. This would in our view, cripple patterns’ knowledge<br />

reuse especially when we find communities using different<br />

models to describe their patterns. As a consequence, patterns’<br />

users could only have access to patterns that are maintained by<br />

their own community.<br />

So, we argue that a holistic approach is required to better<br />

reuse and capitalize process patterns’ knowledge. This latter<br />

should support the two complementary processes mentioned<br />

above, namely: patterns for reuse and patterns by reuse<br />

B. Motivating Example<br />

To motivate our position, we try to state the problem of<br />

model diversity with regard to process patterns description by<br />

showing some patterns’ samples. Figure 1 illustrates this by<br />

presenting three different process patterns. Pattern A, proposed<br />

by Störrle [16], deals with requirements administration using<br />

its own vocabulary to describe patterns attributes such as Intent<br />

to express the pattern’s problem. Pattern B, described by<br />

Dittman [17], handles the technical review process using the<br />

term subproblem as a pattern’s problem. Pattern C which is<br />

created by Gnatz [18], deals with task analysis and employs<br />

another different vocabulary such as Pros and Cons Pros to<br />

express pattern’s discussion.<br />

As far as we can see, these patterns are not only informally<br />

and differently defined but also described in an unstructured<br />

manner. We believe that all of these observations conspire to<br />

create barriers to patterns share and reuse. This matter of fact<br />

leads us to think to unify and to formalize pattern descriptions<br />

in order to make them machine- processable so as to more<br />

efficiently share and capitalize them.<br />

Section III presents the unification meta-model that we<br />

created to express process patterns knowledge after the<br />

mapping efforts that we made on the different patterns<br />

description models.<br />

Figure 1.<br />

Heterogeneity of process patterns’ descriptions.<br />

III. BACKGROUND<br />

This section is intended to provide background information<br />

for the proposed approach. The first subsection is devoted to<br />

sum up results of the study that we carried out in order to<br />

assess process patterns representation and reuse within<br />

software development communities. The next subsection will<br />

exhibit the general structure of the proposed process pattern<br />

meta-model as the building block of the proposed approach.<br />

A. Process Patterns Literature: Review’s Results<br />

Different works have been carried out in the literature of<br />

patterns dealing with process patterns’ description and<br />

formalization. These are classified into description models such<br />

as Ambler [8], RHODES[19], Gnatz [18], P-Sigma [3], Störrle<br />

[16] and other as languages, such as PROMENADE [20],<br />

PPDL [5], PROPEL [21], PLMLx [22], UML-PP [6] and PPL<br />

[23].<br />

Based on eleven evaluation criteria that we fixed in a<br />

previous work [24], we assessed the aforementioned works and<br />

revealed several lacks, detailed in [12] and [24], creating<br />

barriers to patterns’ knowledge capitalization and reuse.<br />

Among these, we notice the lacks of architectural as well as<br />

terminological consent in patterns descriptions.<br />

<br />

Pattern A<br />

Pattern B<br />

Pattern C<br />

The lack of architectural consent means that different<br />

process pattern descriptions have been proposed using<br />

disparate architectures. In fact, when comparing the<br />

eleven selected works from the literature, we identified<br />

eleven different pattern description facets, namely:<br />

506

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

Saved successfully!

Ooh no, something went wrong!