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.

and reusable components. This approach can promote the<br />

reuse of software components. We can construct the<br />

target ontology model by analyzing requirement<br />

specification and then calculate the s imilarity between<br />

target ontology and source ontology using ontology<br />

mapping techniques. Therefore, we can identify the<br />

matched source ontology nodes and the c orresponding<br />

sets of reusable components and then construct the<br />

mapping between the target ontology nodes and t he<br />

reusable components. We assume that the mapping<br />

between source ontology nodes and reusable components<br />

has been realized, so every source ontology node has<br />

matched several reusable components. After the ontology<br />

mapping, the target ontology nodes also have matched the<br />

reusable components through the “ bridge” of the source<br />

ontology nodes.<br />

Even though function description of customer<br />

requirement is the same, the attributes are often different,<br />

so it is difficult for each software component to<br />

completely meet different requirements of different<br />

ontology node. We need to calculate the matching degree<br />

between software component and ontology node. We<br />

consider the matching degree betw een a concept of the<br />

ontology node C and a reusable software component S to<br />

be a number P(C, S) between 0 and 1, with 0 representing<br />

unmatched and 1 rep resenting completely matched. The<br />

formula is: P(C, S) = f (S) / f (C), with f (S) representing<br />

the matched functional points nu mber of the curr ent<br />

reusable software component, and f (C) representing the<br />

total functional points number of the current ontology<br />

node.<br />

Figure 3. Software component reuse approach based on ontology<br />

mapping.<br />

CROM Algorithm: Through the above analysis, we find<br />

that the mapping between ontology nodes and reusable<br />

components is the key to realize the CROM (Component<br />

Reuse through Ontology Mapping) algorithm. We can<br />

construct the mapping by using requirement engineering.<br />

With requirement engineering, we will decompose<br />

requirement specification into several fragments and<br />

every fragment of requirement contains several functional<br />

points. Each functional point contains the input and<br />

output, which are designed to match the requirement. The<br />

requirement and the corresponding input/output are the<br />

basis for the design and i mplementation of software<br />

components. Each node of ontology model is related to<br />

each fragment of requirement specification, and each<br />

fragment is related to several functional points so th at<br />

each node of ontology model is al so related to several<br />

functional points. This unique approach to construct the<br />

mapping between ontology node and reusable<br />

components by the functional point is th e heart o f the<br />

CROM algorithm. In gen eral, the mapping operation is<br />

illustrated in Figure 4.<br />

Ontology nodes and reusable components have N:N<br />

relationship. Every ontology node may correspond to<br />

several reusable components, and every reusable<br />

component may correspond to several ontology nodes.<br />

Figure 4. The mapping between ontology node and reusable<br />

components.<br />

Experimental Design: The experiment is divided into<br />

two parts. The first part is to construct t he application<br />

domain ontology model and th e mapping between the<br />

application domain ontology nodes and the reusabl e<br />

software components. The dat a source is th e application<br />

domain requirement specification and several sets o f<br />

reusable software components. In order to make the<br />

experiment data more reasonable, we choose three groups<br />

ontology model, which are from very similar to th e<br />

general ontology to very dissimilar. Firstly, we n eed to<br />

construct the application domain ontology model. We<br />

adopt the ontological concept to divide the ap plication<br />

domain requirement specification into different<br />

application fragments. For exa mple, the general<br />

equipment application may contain four fragments:<br />

equipment, purchase, storage and organization. Every<br />

fragment of the requirement contains the co mpletely<br />

functional points and input/output and then w e will<br />

construct the ontology on th e application domain by<br />

processing different fragments describing the application<br />

domain and by mining them into common vocabularies as<br />

domain-specific concepts. Therefore, every application<br />

domain ontology node has several corresponding<br />

functional points an d input/output. For exa mple,<br />

185

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

Saved successfully!

Ooh no, something went wrong!