An Ontology-based Approach to Express Software Processes

drillchinchillaInternet and Web Development

Oct 21, 2013 (3 years and 9 months ago)

92 views

A
n
O
ntology
-
based
A
pproach to
E
xpress
S
oftware
P
rocesses

Li Liao
1
, Yuzhong Qu
1
, Hareton K. N. Leung
2

1
Department of Computer Science and Engineering, Southeast University, Nanjing 210096, P. R. China

{
xobjects, yzqu
}@seu.edu.cn

2
Department of Computing, Ho
ng Kong Polytechnic University, Kowloon, Hong Kong

cshleung@comp.polyu.edu.hk



Abstract

In this paper, we present a primary research on an ontology
-
based approach to express S
oftware

P
rocesses

(SPs)

and its applications in process evaluation. An

OWL
-
base
d
ontology for
SPs
,

called
SPO (Software Process Ontology)
, is designed for expressing
SPs

at
the
concept
ual

level
. SPO can be
extended and
customized to
generate ontologies
for specific

SP

models, such as CMMI and ISO
/IEC

15504.

A

prototype of a
W
eb
-
based

process assessment tool

based on SPO and its extensions is given
to illustrate the advantages of the present approach
.

Finally, some further research in this direction is
outlined.



1


Introduction

The importance of software process
assessment

and
improveme
nt is widely recognized.

A

number
of software process

(SP)

models

have been developed
, such as the Capability Maturity Model (CMM),
and ISO/IEC 15504.
With these models, software

organizations

can

assess and
improve their processes
to become more competiti
ve

and produce
high quality
products.


But

in reality, the positive effects
of the models
have not been proven [
1
]. One
cause

of the
problem is
the
us
e of

multiple models. The differences among discipline
-
specific models, including
their
target,
architectu
re,
c
ontent,
criteria,
and approach, have limited organizations’ ability to focus
their improvements effort

[2]
. Another
reason

is

that

these

model
s
lack rigorous and formal description
of model structure and processes. Software organizations
often
collect

data by
questionnaire
s to
evaluate their processes. Problems of ambiguity, instability, subjectivity, and inaccuracy in process
assessment and application were identified in existing process models [3].

In this paper, we present a
software
p
rocess
o
ntolog
y,

called
SPO,
which defined the
structure of
the

process model
s

at

the schema level
, and its extension
s
, to suit
the needs of the CMMI model and
the
ISO/IEC 15504 model
respectively. Based on these ontologies, we
developed a prototype system

to
implement
the process assessment.

The organization of this paper is as follows. Section 2 reviews
the

background of our research work
and
previous

work on
combining
Semantic Web and Software Engineering. Section 3 illustrates
a
general
overview

of SPO and
the

protot
ype system. Section 4 concludes
the

paper and identifies some
future research directions.

2


Background

Semantic Web is a vision with a series of technologies

proposed by W3C as the next generation

of

W
eb. It extends the current
web

by giving the web content

a well
-
defined meaning, better enabling
computers

and people to work in cooperation [
4
].
One of the most popular
Semantic Web languages

is

OWL

(Web Ontology Language) [
5
].
This

latest Web ontology

language has

become

W3C
recommendation in early

2004.

There

are also several
Ontology
-
related reasoning

tools

available, such
as Jena [
6
] and Sesame

[
7
]. With these tools, Semantic Web not only can
define

terms and
concepts

precisely
, but also can
represent their hierarchy
and
support better
understand
ing of

their

logical
relationship.


Until recently
,

work on combining

Software Engineering

and Semantic Web is
scarce
.
Yet
people
have recognized that
the

Semantic Web technologies

can

provide a natural extension to

SE, and t
his
contributes not only to the betterment
of IT systems in

general, but also the future good of the Web, as
systems and Web Services containing rich Semantic Web content start to come online

[
8
]. The
W3C
organization
has
found
ed

a
new t
ask
f
orce
,
Software Engineering Task Force

(SWTF) [
9
], since

N
ov.
2004. Th
is

task force is investigating the potential uses of the Semantic Web in Software Engineering
,
and it hopes
to promote the cross
-
pollination of both new and established ideas

between these two
communities
.

SWTF has published its first editor dr
aft,


Ontology Driven Architectures and Potential Uses of the
Semantic Web in Software Engineering


[
8
], in which it brought forward a new idea, Ontology Driven
Architecture (ODA), which
semantically enrich MDA

(Model Driven Architecture)
.

MDA

[
10
]

is an
a
pproach of IT system specification previously introduced by OMG
, and its aim is to
separat
e

the
specification of the operation of a system from the details of the way

that system uses

and

the
capabilities of its platform.

ODA
combines

MDA

with

Semantic Web

technique

to mak
e

a
semantic

model. The researchers are hoping ODA can give the model contents semantics and
support automated
consistency checking
.

For Software Process Improvement, we
did

not
find

any
research work on the application of
Semantic Web
to

this domain. The existing SPI tools

can
help to improve the
process
es

by providing
many functions

such as process assessment, problem
analysis, change management, document
management, etc. Our previous study in the fall of 2003[
11
] found 38
such
tools.

S
ome problems emerged in the usage of these
SPI

tools.
M
ost of
the tools

are based on
one of the
popular
process models, and their data models lack flexibility, and so their extensibility is limited.
T
here is no tool that supports

the

mapping between the mo
dels. Another problem is that most

tool
s

store the data in
their

own format
, e.g. some tools put the result into a Word document
.

This

affects the
interoperability of the tools, and causes

difficult
y in integrating these tools together

to

provide all the
n
eeded
SPI functions
to

the organizations.

3
. Our research work

With the capability of OWL,
w
e designed an ontology to express the common framework of
software process models
,

called

SPO (S
oftware Process Ontology
)
. Then we extended the
ontology

to
fit with

the CMMI model and
the
ISO/IEC 15504 model
respectively,
and developed a prototype
system for process assessment.

In SPO,

we define
d

some classes
to
represent component
s

in a
SP
model
, and properties
to
represent the relationship between the
se

components.

The RDF Graph of SPO is shown in Figure 1.


Fig. 1 RDF Graph of SPO

The class hierarchy is used to represent the subclass relationship among classes.

For example,
“Process”
is a class representing the super class of all

kinds of the

processes
in
the mode
ls
; it

has two
sub
-
classes, “CompositeProcess” and “BasicProcess”
;

the former represents the super class of the
P
rocess
A
reas in CMMI or the
P
rocesses in ISO/IEC 15504, and the latter represents the super class of
the Specific Goals in each
P
rocess
A
rea or

the
S
ub
-
P
rocesses in each
P
rocess.

Similarly, we designed
the
“Practice” class,
as

a super class of all the practices in the models
; its subclass,

“BasicPractice”
represents the super class of the
P
ractices in the models, and “AtomicPractice” represents t
he atomic
practices that buildup the practices.

The
relationship
s between these
concept
s are explicitly
represent
ed by p
roperties
. For example, the
property

has
Practice”

has a
domain

of

“Process”

and a range of
“Practice”
.

Using this we can express
that
a process has one or several practices.

That is to say
if an organization adopt a particular process, it
must implement its practices.

Based on SPO
, we create
CMMI_Onto and ISO15504_
Onto

separately. They are
two

extension
s

of
the SPO

designed to fit with t
he
CMMI
model
and
the
ISO
/IEC

15504

model, respectively
.
As

discussed above,
the
P
rocess
A
reas
, S
pecific
G
oals
,

S
pecific
P
ractices in CMMI are defined
respectively

as the sub
-
classes of “CompositeProcess”, “BasicProcess”, “BasicPractice”
. This
represents t
hat a Process Area has one or several Specific Goals, and to achieve a goal, the
organizations must finish related practices.

Under the ontology groundwork,

we implement
ed

a prototype of a web
-
based process assessment
tool
1
. Our tool

can
evaluate organizat
ions’ process capability based on different reference models.

U
sing the
mechanism

of
inheritance

and restriction in OWL
,
it will be easy to extend the core
ontolog
ies
to match the
revision of the reference models
.

Further
, as the
collected
data
are stored
in
XML

format,
they

could

be
re
used by other SPI tools in the future.

4
. Conclusion and Future work




1

http://cse.seu.edu.cn:8080/spo/index.jsp

W
e have briefly introduced

the current state of
combining

Semantic Web and Software
Engineering. We also introduced our research work on using Web
Ontology
Language

to express
software processes, the design of SPO
,
an
OWL
-
based
ontology for software processes.
W
e presented
how to extend SPO and get

CMMI_
Onto

and ISO15504_
Onto
,
and a
prototype of a web
-
based process
assessment tool.

This
is
just a start

towar
ds
semantic
d
escription for software processes. The next step of our study
involves consummating

our process

ontologies
, developing a matching
algorithm for

the
mapping
between the models,

and extending the functions of the tool. Our work will start with s
ome empirical
studies, in order to
improve

the tool. With the data collected by the assessment tool, we will be able to
develop a benchmark of software processes in some areas.

Some other process models should also be studied to consummate
SPO

and extend t
he reference
ontologies.

5
. Reference

[1]
R
.

Conradi, A
.

Fuggetta, Improving software process improvement, IEEE Software, Jul/Aug 2002,
pp 92
-
99

[
2
]
M. Lopez, the Software Process: Evaluation and Improvement, in Proceedings of
World Multi

conference on Syst
emics, Cybernetics and Informatics,

ISAS
-
SCIs 2001, Orlando, Florida, USA, 22
-
25

Jul
.
, 2001, Vol
.

I
, pp
255
-
260

[3]Y.X.
Wang, G. King
, Software Engineering Processes
-

Principles and Applications, 2000, CRC
Press LLC

[4]
T. Berners
-
Lee, J. Hendler, and O. Las
sila
,

The semantic web
,

Scientific American, May 2001

[
5
]OWL Web Ontology Language Reference
,

W3C Recommendation

Feb. 2004,
http://www.w3.org

/TR/2004/REC
-
owl
-
ref
-
20040210/

[
6
]Jena
,
http://sourceforge.net/projects/jena/

[
7
]Sesame,
http://sesame.aidministrator.nl/

[
8
]
http://www.w3.org/2001/sw/BestPractices/SE/ODA/

[
9
]http://w
ww.w3.org/2001/sw/BestPractices/SE

[
10
]
J.
Miller,

J.
Mukerji
,
MDA Guide Version 1.0.1[EB/OL]
,

http://www.omg.org/docs/omg/
03
-
06
-
01.pdf,

200
3
-

06
-
12

[1
1
]L
.

Liao, H
.

K. N. Leung, Y
. Z.

Qu, A
utomated

S
upport

of

Q
uality

I
mprovement,

Proceedings of
The 8th I
ASTED International Conference on

SOFTWARE ENGINEERING AND APPLICATIONS

(
SEA 2004
)

,
9
-
11
Nov.

200
4