TOWARDS A SEMIOTIC QUALITY FRAMEWORK OF
SOFTWARE MEASURES
Erki Eessaar
Department of Informatics, Tallinn University of Technology, Raja 15,12618 Tallinn, Estonia
Keywords: Metrics, Measures, Semiotics, Quality, Metamodel, Database design, SQL.
Abstract: Each software entity should have as high quality as possible in the context of limited resources. A software
quality measure is a kind of software entity. Existing studies about the evaluation of software measures do
not pay enough attention to the quality of specifications of measures. Semiotics has been used as a basis in
order to evaluate the quality of different types of software entities. In this paper, we propose a
multidimensional, semiotic quality framework of software quality measures. We apply this framework in
order to evaluate the syntactic and semantic quality of two sets of database design measures. The evaluation
shows that these measures have some quality problems.
1 INTRODUCTION
Values of software quality measures (software
measures) allow developers to evaluate the quality
of software entities and improve them if necessary.
Measures themselves are also software entities and
must have as high quality as possible.
A part of the development of each measure is
formal and empirical evaluation of the measure
(Piattini et al., 2001b). Existing evaluation methods
of measures do not pay enough attention to the
quality of specifications of measures. If the quality
of a specification is low, then it is difficult to
understand and apply the measure. Therefore, we
need a method for evaluating the quality of
specifications of measures. On the other hand, there
is already quite a lot of studies about how to use
semiotics (the theory of signs) in order to evaluate
the quality of software entities. In this paper, we
extend this research to the domain of measures.
The first goal of the paper is to introduce a
semiotic quality framework for evaluating
specifications of software measures. This framework
is created based on the semiotic quality framework
of conceptual modeling SEQUAL that was proposed
by Lindland et al. (1994) and has been improved
since then. The second goal of the paper is to show
the usefulness of the proposed framework by
presenting the results of a study about the syntactic
and semantic quality of two sets of specifications of
database design measures.
We follow the guidelines of García et al. (2006)
and use the term "measure" instead of the term
"metric". In this paper the word "measure" denotes
"software measure", if not stated otherwise. We use
analogy (Maiden & Sutcliffe, 1992) as the research
method in order to work out the framework and new
measures based on the results of existing research.
The rest of the paper is organised as follows. In
Section 2, we specify a semiotic quality framework
for evaluating specifications of measures. In Section
3, we use the framework in order to evaluate two
sets of specifications of database design measures.
Section 4 summarizes the paper and points to the
future work with the current topic.
2 A SEMIOTIC QUALITY
FRAMEWORK
Many authors have investigated how to evaluate
measures and have proposed frameworks that
involve empirical and formal validation of measures
(Schneidewind, 1992; Kitchenham et al., 1995;
IEEE Std. 1061-1998, 1998; Kaner & Bond, 2004).
Jacquet and Abner (1998) investigate the state of
the art of validation of measures and describe a
detailed model of measurement process. They claim,
based on the literature review, that existing
validation frameworks of measures do not pay
enough attention to the validation of the design of a
41
Eessaar E. (2008).
TOWARDS A SEMIOTIC QUALITY FRAMEWORK OF SOFTWARE MEASURES.
In Proceedings of the Tenth International Conference on Enterprise Information Systems - DISI, pages 41-48
DOI: 10.5220/0001703400410048
Copyright
c
SciTePress
measurement method. McQuillan and Power (2006)
write that many measures "are incomplete,
ambiguous and open to a variety of different
interpretations."
Some researchers have used semiotics as the
basis in order to work out evaluation frameworks of
different kinds of software entities. According to
Merriam-Webster dictionary <http://www.m-
w.com/> semiotics is "a general philosophical theory
of signs and symbols that deals especially with their
function in both artificially constructed and natural
languages and comprises syntactics, semantics, and
pragmatics." Belle (2006) writes that any
informational object has a syntactic, semantic, and
pragmatic aspect. Syntax, semantics, and pragmatics
relate an informational object to specification
language, specified domain, and audience of the
object, respectively (Lindland et al., 1994).
Semiotics has been used as the basis in order to
evaluate the quality of conceptual models (Lindland
et al., 1994), specifications of requirements
(Krogstie, 2001), ontologies (Burton-Jones et al.,
2005), enterprise models (Belle, 2006), and process
models (Krogstie et al., 2006). A software measure
is a kind of software entity. In this paper, we
propose that semiotics can be successfully used in
order to evaluate specifications of measures.
2.1 Specification of the Framework
In this section, we present a multidimensional,
semiotic evaluation framework of the quality of
specifications of measures. A model is a kind of
software entity. A measure is a kind of software
entity. Each software entity can be characterized in
terms of different quality levels (physical, empirical,
syntactic etc.). Each quality level has one or more
quality goals. Each quality goal has zero or more
associated measures that allow us to measure the
quality of a software entity in terms of the goal.
The framework comprises physical, empirical,
syntactic, semantic, perceived semantic, pragmatic,
and social quality. We adapt the semiotic quality
framework SEQUAL in order to use it in a new
context – the evaluation of measures. The
framework has to enhance the existing validation
frameworks of measures. In addition, we present
three candidate measures for evaluating the
syntactic and semantic quality of specifications of
measures. A candidate measure is a measure that has
not yet been accepted or rejected by experts. We
demonstrate the use of these measures in Section 3.
These measures do not form a complete suite for
evaluating measures. Future studies must work out a
suite of measures that covers all the aspects of the
framework.
We propose to use metamodels, mapping of
elements of models, and model-management
operations in order to check the quality of some
aspects of a specification of a measure. The novelty
is in the combined use of them.
The use of metamodels and ontologies in order to
specify and evaluate measures is not a new method.
Baroni et al. (2005) define some database design
measures in terms of SQL:2003 ontology and use
Object Constraint Language (OCL) in order to
specify measures as precisely as possible. McQuillan
and Power (2006) propose to extend the metamodel
of Unified Modeling Language (UML) with a
separate package that contains specifications of
measures as OCL queries. It allows us to find
measurement results based on a software entity e
that is created by using a language L. The
precondition of the use of the method is the
existence of a metamodel of L and the existence of a
UML model that represents e.
The use of a mapping of model elements has
been used, for instance, in order to evaluate UML
metamodel (Opdahl & Henderson-Sellers, 2002) in
terms of Bunge–Wand–Weber (BWW) model of
information systems. In the proposed method and
examples we assume that the relevant models are
UML class models.
2.1.1 Syntactic Quality
Syntactic correctness is the only syntactic goal
(Krogstie et al., 2006). The syntactic correctness has
two subgoals in the context of measures because we
have to use two different types of languages in order
to specify measures.
Firstly, the content of each specification of a
measure is written by using one more languages. For
instance, these languages could be natural languages
like English, generic formal textual languages like
OCL, domain-specific formal textual languages like
Performance Metrics Specification Language
(Wismüller et al., 2004), or generic visual languages
like UML. For example, Baroni et al. (2005) specify
database design measures by using English and
OCL. Therefore, the first subgoal of the syntactic
correctness is to ensure that all specifications of
measures follow the syntax rules of languages that
are used in order to write the content of these
specifications.
Next, we use an analogy with the database
domain in order to illustrate additional aspects of the
syntactic quality of specifications of measures. Each
specification of a measure consists of one or more
ICEIS 2008 - International Conference on Enterprise Information Systems
42
user-visible components. The Third Manifesto (Date
& Darwen, 2006) is a specification of future
database systems. According to the manifest each
appearance of a value of a scalar type T has exactly
one physical representation and one or more possible
representations. Specification of each possible
representation for values of type T is part of the
specification of T. We could conceptually think
about measures as values that belong to the scalar
type Measure. In this case, each measure has one or
more possible representations of its specification.
Therefore, the second subgoal of the syntactic
correctness is to ensure that all appearances of
specifications of measures conform to the rules of
one the possible representations of type Measure.
There is more than one specification that can be
used as a basis in order to work out a possible
representation of a measure. IEEE Standard for a
Software Quality Metrics Methodology ("IEEE,"
1998) prescribes how to document software metrics
(measures) and Common Information Model
("DMTF CIM Metrics schema," 2006) provides
specification of metrics (measures) schema.
Each possible representation has one or more
associated constraints that a correctly structured
specification of a measure must follow. A problem
with the IEEE Standard for a Software Quality
Metrics Methodology is that it does not clearly
describe constraints that must be present in the
possible representation of a measure. For example, if
we want to specify this possible representation by
using UML class model, then we do not have precise
information in order to specify minimum and
maximum cardinality at the ends of associations.
If we want to check whether a specification of a
measure m conforms to the second subgoal, then we
have to do the following. Firstly, we have to create a
model of the structure of m. After that we have to
create a mapping between the model of the structure
of m and the model that specifies a possible
representation of the type Measure. There is a pair
of model elements in the mapping if the constructs
behind these elements are semantically similar or
equivalent.
Let us assume that we create these models as
UML class models. The elements of these models
are classes, properties, and relationships. If X is the
set of all the elements of the model of the structure
of m and Y is the set of all the elements of the model
of possible representation, then ideally there must be
a bijective function f: XY. The amount of
discrepancies between the models characterizes the
amount of syntactic problems of m.
The creator of a UML class model can often
choose whether to model something as a class or as
a property (attribute) of a class. Larman (2002)
suggests about the construction of conceptual class
model: "If in doubt, define something as a separate
conceptual class rather than as an attribute." Based
on this suggestion, we can simplify the use of the
method by considering only classes and not
considering properties/relationships that are present
in the class models (see Figure 1). It is in line with
the example that is provided by Opdahl and
Henderson-Sellers (2002). They evaluate a language
based on classes of a metamodel (and not based on
properties or relationships). We note that Figure 1
illustrates bijective functions and Y does not contain
all the possible model elements.
name
costs
benefits
X
Y
name
costs
benefits
Figure 1: A bijective function.
Next, we present a candidate measure for
evaluating the syntactic richness of a specification of
a measure m.
SR(m): Let Y be the set of all the classes in a
model of possible representation of measures. Let y
be the cardinality of Y. Let X be the set of all the
classes in a model of the structure of a specification
of a measure m. Let Z be the set of all the classes in
Y that have a corresponding class in X. There exists
a pair of (corresponding) classes if the constructs
behind these classes are semantically similar or
equivalent. Let z be the cardinality of Z. Then
SR(m) = z/y.
The possible value of SR(m) is between 0 and 1.
0 and 1 denote minimal and maximal syntactic
richness, respectively.
2.1.2 Semantic Quality
Each measure has one or more associated domains.
For instances, Choinzon and Ueda (2006) present 40
measures that belong to the domain of object-
oriented design. Piattini et al. (2001b) present twelve
measures that belong to the domain of object-
relational database design.
Let us assume that we have a specification of a
measure m that is created in order to measure a
domain d. The feasible validity and feasible
completeness are the only two semantic goals
according to SEQUAL framework (Krogstie et al.,
TOWARDS A SEMIOTIC QUALITY FRAMEWORK OF SOFTWARE MEASURES
43
2006). Validity means that each statement about d
that is made by m must be correct and relevant.
Completeness means that m must contain all the
statements about d that are correct and relevant. On
the other hand, it is often impossible to achieve the
highest possible semantic quality due to limited
resources. Therefore, the goal is to achieve feasible
validity and feasible completeness. In this case, there
does not exist an improvement of the semantic
quality that satisfies the rule: its additional benefit to
m exceeds the drawbacks of using it.
Each measure considers only some aspect of the
domain and not the entire domain. Therefore, we
have to consider completeness in terms of sets of
related measures. Measures, which belong to a set of
measures about some domain, must together contain
all the statements about the domain that are correct
and relevant.
How can we evaluate the validity and
completeness of measures? Krogstie et al. (2006)
writes about models that it is only possible to
objectively measure the syntactic quality of models.
Krogstie et al. (2006) think that objective
measurement of other quality levels (including
semantic quality) of models is not possible because
"both the problem domain and the minds of the
stakeholders are unavailable for formal inspection."
We claim that the situation is partially different in
case of measures. The minds of the stakeholders are
still unavailable for formal inspection. On the other
hand, each measure can be used in order to measure
the quality of one or more software entities. Each
software entity is created by using one or more
languages. Many of these languages are formal
languages. Examples of these languages are UML
and the underlying data model of SQL:2003. The
abstract syntax of a formal language can be specified
by using a metamodel (Greenfield et al., 2004). In
the context of measures, the metamodels of these
languages are specifications of the domains. We can
use the metamodels as a basis in order to evaluate
the semantic quality of specifications of measures.
Let us assume that we use UML class models for
creating metamodels. In this case classes specify
language elements and properties/ relationships
specify relationships between the language elements
(Greenfield et al., 2004). Let us assume that we want
to evaluate the validity of a specification of a
measure m that is used for evaluating software
entities that are created by using a language L. The
procedure:
1. Identification of L-specific concepts from m.
For instance, Piattini et al. (2001b) specify the
measure "Referential Degree of a table T" as
"the number of foreign keys in the table T." In
this case, L is SQL and L-specific concepts are
foreign key and table.
2. Construction of a UML class model based on
the concepts that are found during step 1.
3. If X is the set of all the model elements from
step 2 and Y is the set of all the elements of a
metamodel of L, then ideally there must exist a
total injective function f: XY.
We can simplify the evaluation of validity by
considering only classes (see Figure 2) and not
considering properties/relationships that are present
in the class models (see previous section). Model
elements in Y in Figure 2 are from a metamodel of
the underlying data model of SQL:2003 (Melton,
2003). We note than Figure 2 illustrates total
injective functions and Y does not contain all the
possible model elements.
table
foreign key
X
Y
base table
referential integrity constraint
viewed table
Figure 2: A total injective function.
One of the object-relational database design
measures (Piattini et al., 2001b) is "Percentage of
complex columns of a table T." The SQL standard
(Melton, 2003) does not specify the concept
"complex column". Therefore, in this case the
function f is a partial injective function. Next, we
present a candidate measure EV(m) for evaluating
the validity of a specification of a measure m.
EV(m): Let X be the set of all the classes in a
class model that is constructed based on the L-
specific concepts that are present in a specification
of a measure m. Let x be the cardinality of X. Let Y
be the set of all the classes in a metamodel of a
language L. Let Z be the set of all the classes in X
that have a corresponding class in Y. There exists a
pair of (corresponding) classes if the constructs
behind these classes are semantically similar or
equivalent. Let z be the cardinality of Z. Then
EV(m) = z/x.
The possible value of EV(m) is between 0 and 1.
0 and 1 denote minimal and maximal semantic
validity, respectively. For instance, x=2, z=2, and
z/x=1 in case of the example in Figure 2.
Next, we present a candidate measure EC(M) for
evaluating the completeness of a set of specifications
of measures (we denote this set as M). We assume
that all these measures allow us to evaluate software
entities that are created by using a language L. For
ICEIS 2008 - International Conference on Enterprise Information Systems
44
simplicity, the calculation procedure considers only
classes and does not consider properties and
relationships. The calculation of EC(M) starts with
the preparative phase that contains three steps:
1. For each specification in M perform step 1 from
the validity evaluation procedure.
2. For each specification in M, construct a
simplified class model that specifies only
classes (based on the result of step 1).
3. Merge all the models that are constructed during
the step 2 by using the generic model
management operator merge (Bernstein, 2003).
EC(M): Let X be the set of all the classes in the
merged model that is produced as the result of step
3. Let Y be the set of all the classes in a metamodel
of a language L. Let y be the cardinality of Y. Let Z
be the set of all the classes in Y that have a
corresponding class in X. There exists a pair of
(corresponding) classes if the constructs behind
these classes are semantically similar or equivalent.
Let Z' be the set that contains all classes from Z
together with all their direct and indirect subclasses.
Let z' be the cardinality of Z'. Then EC(M) = z'/y.
The possible value of EC(M) is between 0 and 1.
0 and 1 denote minimal and maximal semantic
completeness, respectively.
Why we have to construct the set Z'? Value
substitutability in case of a parameter of a read only
operator (that has the declared type T) means that
"wherever a value of type T is permitted, a value of
any subtype of T shall also be permitted" (Date &
Darwen, 2006). Similarly, for instance, base table is
a kind of table. In a metamodel of SQL, base table
can be specified as a subclass of table. If we have a
measure that allows us to measure tables in general,
then it is possible to use this measure in order to
measure base tables in particular.
For example, if X = {table} and Y = {table, base
table}, then Z = {table}, Z' = {table, base table},
y = 2, z' = 2, and z'/y = 1.
2.1.3 Other Quality Levels
We use the works of Krogstie et al. (2001; 2006) as
the basis in order to introduce the other quality
levels.
Physical quality has the goals: externalisation
and internalisability (Krogstie et al., 2006).
Externalisation means that each measure must be
available as a physical artefact that uses statements
of one or more languages. Each measure must
represent the knowledge of one or more software
development specialists. Internalisability means that
each measure must be accessible so that interested
parties can make sense of it.
Minimal error frequency is the only empirical
quality goal (Krogsie et al., 2001). Each externalised
measure has one or more possible specifications that
a human user can read and use. The layout and
readability of each specification must allow users to
correctly interpret the measure.
Feasible perceived validity and feasible
perceived completeness are the only two perceived
semantic quality goals (Krogstie et al., 2001). The
perceived semantic quality of measures considers
how the audience of measures interprets measures
and their domains. For instance, if we want to
evaluate the perceived validity of a specification of a
measure, then we have to construct a model that
specifies how some interested parties understand the
specification. We also have to construct a model that
specifies how the parties understand the domain of
the measure. After that we have to compare these
models (see Section 2.1.2).
Comprehension is the only pragmatic quality
goal (Krogstie et al., 2006). Each specification of a
measure must be understandable to its audience. For
instance, Kaner and Bond (2004) present ten
evaluation questions about measures. If a
specification of a measure has high pragmatic
quality, then an interested party should be able to
answer these questions based on the specification.
Feasible agreement is the only goal of social
quality (Krogstie et al., 2006). The social quality
considers how well different parties have accepted a
measure (how widely a measure is used), how much
they agree on interpretation of a measure, and how
well they resolve the conflicts that arise from
different interpretations.
2.2 Discussion
Next, we discuss the advantages and possible
problems of the proposed approach.
2.2.1 Advantages
The use of the semiotic framework has already been
tested in case of different types of software entities.
The proposed framework allows us to organize the
knowledge about the evaluation of specifications of
measures. We can use the existing studies about
semiotic frameworks in order to find new means of
improving the quality of specifications of measures
and candidate measures for evaluating the quality of
these specifications. For instance, Burton-Jones et al.
(2005) present a suite of measures for evaluating
ontologies. The suite consists of ten measures that
TOWARDS A SEMIOTIC QUALITY FRAMEWORK OF SOFTWARE MEASURES
45
allow us to measure the syntactic, semantic,
pragmatic, and social quality.
The measure SR(m) (see Section 2.1.1) is
analogous to the measure for evaluating syntactic
richness of an ontology. The measure EV(m) is
similar to the measure EI for evaluating semantic
interpretability of an ontology: "Let C be the total
number of terms used to define classes and
properties in ontology. Let W be the number of
terms that have a sense listed in WordNet. Then EI =
W/C" (Burton-Jones et al., 2005). Instead of
WordNet, the measure EV(m) uses a metamodel of
the language that is the domain of m. The measure
EC(M) does not have a corresponding measure in
the suite of measures for evaluating ontologies.
2.2.2 Challenges
Firstly, the construction of a model based on a
specification of a measure, and the creation of a
mapping between different models requires
somewhat subjective decisions. Therefore, it is
possible that two different parties who use the same
measure in case of the same set of specifications of
measures will get different results.
For instance, in our view Piattini et al. (2001a;
2001b) use the concept table in order to denote base
tables. Base table is not the only possible type of
tables. A human user can find this kind of
inconsistent use of terminology by studying the
context of specification. On the other hand, it makes
the automation of the evaluation process more
difficult. Another example is that if we simplify the
calculation of syntactic richness, validity, and
completeness by considering only classes, then the
result depends on whether the designers of models
prefer to use attributes or classes in UML class
models.
Secondly, the use of EV(m) and EC(M) requires
the existence of metamodels of languages. If the
required metamodels do not exist, then the use of the
measures will be time consuming because a
developer has firstly to acquire the metamodels.
Thirdly, there could exist more than one
specification of the same measure. These
specifications could refer to different language
elements. For instance, informal specification of the
measure "Referential Degree of a table T" that is
proposed by Baroni et al. (2005) refers to the
language (SQL) elements foreign key and table. On
the other hand, formal specification of the same
measure in OCL (Baroni et al., 2005) refers to the
language (SQL) elements foreign key and base table.
Therefore, each evaluation must be accompanied
with the information about the specification of the
measure that is used as the basis of this evaluation.
Finally, it is possible that a language has more
than one metamodel. These metamodels could be
created by different parties. For instance, DMTF
Common Information Model database specification
of SQL Schema ("DMTF CIM Database," 2006),
relational package of OMG Common Warehouse
Metamodel ("OMG," 2003), and the ontology of
SQL:2003 (Baroni et al., 2005) are variants of
metamodel of SQL. These models contain 8, 24, and
38 classes, respectively. It is also possible that there
are differences between the different versions of the
same metamodel. The values that characterize the
quality of a specification of a SQL-database design
measure will be different depending on the used
metamodel (see Section 3). Therefore, each
metamodel-based evaluation of a specification of a
measure must be accompanied with the information
about the version of the metamodel that is used in
the evaluation. If we want to compare two sets of
measures based on the values of the proposed
measures, then these values must be calculated
based on the same metamodel version.
3 EVALUATION OF DATABASE
DESIGN MEASURES
Next, we illustrate the use of the proposed
framework. In this paper, we investigate the quality
of specifications of database design measures. The
work of Blaha (1997) shows us that many databases
do not have the highest possible quality. Blaha
(1997) writes that about 50% of databases, which his
team has reverse engineered, have major design
errors. Therefore, it is clearly necessary to evaluate
and improve the design of databases. We can use
database design measures for this purpose.
Unfortunately there exist few database design
measures. Piattini et al. (2001a) present three table
oriented measures for relational databases. Piattini et
al. (2001b) present twelve measures that help us to
evaluate the design of object-relational databases.
The measures allow us to evaluate databases that are
created by using SQL. We call the set of informal
specifications of these measures as M
SQL
and
M
ORSQL
, respectively. We investigated M
SQL
and
M
ORSQL
by using the proposed measures (see Section
2). For recording the evaluation results and
performing the calculations, we constructed a
software system (based on the database system MS
Access).
ICEIS 2008 - International Conference on Enterprise Information Systems
46
For each specification of a measure, we
calculated the value of SR(m) based on the
specification of possible representation of measures
that is proposed in IEEE Std. 1061-1998 ("IEEE,"
1998). We assumed that all the components of the
possible representation are modelled as separate
classes. In Table 1, we summarize the results. For
each set of specifications (M), we present the lowest
value, the mean value, and the highest value of
SR(m) among all the specifications that belong to M.
Table 1: Syntactic richness of measures.
lowes
t
mean highes
t
M
S
Q
L
0.31 0.36 0.38
M
ORS
Q
L
0.19 0.24 0.31
The only components that are in our view present
in all the evaluated specifications are name, data
items, and computation.
For each specification of a measure, we
calculated the values of EV(m) based on the
following specifications of the domain (SQL):
Relational package of OMG Common Warehouse
Metamodel (v1.1), DMTF CIM database
specification (v2.16), and the ontology of SQL:2003
(Baroni et al., 2005). In Table 2, we summarize the
results. For each pair of a set of specifications (M)
and a specification of the domain, we present the
lowest value, the mean value, and the highest value
of EV(m) among all the specifications in M.
We also calculated EC(M
SQL
) and EC(M
ORSQL
)
based on the same specifications that we used in
case of calculating EV(m). Table 3 summarizes the
results. For each pair of a set of specifications (M)
and a specification of the domain (d), we present the
value of EC(M) that is calculated in terms of d.
The results in Table 2 and Table 3 demonstrate
that the values of measures EV(m) and EC(M)
depend on the metamodel that is used in the
calculation. The CIM database specification
specifies fewer classes (8) compared to the CWM
(24) and the SQL:2003 otnology (38). Therefore,
EC(M
SQL
) has relatively high value in case of the
CIM database specification.
The specifications that belong to M
SQL
have
bigger completeness problems compared to the
specifications that belong to M
ORSQL
. However,
M
ORSQL
is also not complete. For instance, the
measures in M
ORSQL
do not consider type
constructors, domains, triggers, SQL-invoked
procedures, and sequence generators.
Table 2: Validity of measures.
lowes
t
mean hi
g
hes
t
OMG Common Warehouse Metamodel (v1.1)
M
S
Q
L
0.33 0.61 1
M
ORS
Q
L
0.12 0.63 1
DMTF CIM database speci
f
ication (v2.16)
M
S
Q
L
0.33 0.44 0.50
M
ORS
Q
L
0.12 0.54 1
The ontolo
gy
o
f
SQL:2003
M
S
Q
L
0.33 0.61 1
M
ORS
Q
L
0.25 0.64 1
Table 3: Completeness of sets of measures.
CWM CIM SQL:2003
M
S
Q
L
0.08 0.12 0.05
M
ORS
Q
L
0.21 0.38 0.18
On the other hand, the specifications of measures
refer to elements that in our view do not have a
corresponding element in the used metamodels:
aggregation, arc, attribute of a table, class, complex
attribute, complex column, generalization, hierarchy,
involved class, referential path, shared class, simple
attribute, simple column, and type of complex
column.
4 CONCLUSIONS
In this paper, we proposed a new framework for
evaluating the quality of specifications of software
measures (measures in short). The novelty of this
framework (in the context of development of
measures) is that it is based on semiotics – the theory
of signs. We developed this framework by adapting
an existing semiotic framework. The existing
framework is used in order to investigate the quality
of different kinds of software entities. We proposed
how to use this framework in order to evaluate
specifications of measures. We proposed three
candidate measures for evaluating the syntactic and
semantic quality of specifications of measures.
The proposed evaluation framework has to
enhance the existing evaluation methods of
measures, which do not pay enough attention to the
quality of specifications of measures.
We also investigated two sets of specifications of
database design measures in terms of the proposed
framework as an example. These measures allow
designers to measure the design of relational and
object-relational databases that are created by using
SQL language. We evaluated the semantic quality of
these specifications in terms of different metamodels
that specify the domain of the measures (SQL). The
TOWARDS A SEMIOTIC QUALITY FRAMEWORK OF SOFTWARE MEASURES
47
results demonstrate that the selection of a metamodel
affects the results of the evaluation. We found that
the syntactic and semantic quality of the
specifications is quite low.
The future work must include improvement of
the quality of measures that were proposed in the
paper. We also have to improve of the quality of
existing database design measures, develop more
database design measures, and evaluate these
measures in terms of the proposed framework.
REFERENCES
Baroni, A.L, Calero, C., Piattini, M., & Abreu, F.B., 2005.
A Formal Definition for Object-Relational Database
Metrics. In 7th International Conference on Enterprise
Information Systems.
Belle, J. P., 2006. A Framework for the Evaluation of
Business Models and its Empirical Validation.
Electronic journal of information systems evaluation,
Vol 9, Issue 1, 31-44.
Bernstein, A. P., 2003. Applying Model Management to
Classical Meta Data Problems. In Conf. on Innovative
Database Research (CIDR).
Blaha, M., 1997. Dimensions of Database Reverse
Engineering. In Fourth Working Conference on
Reverse Engineering, 176-183.
Burton-Jones, A., Storey, V.C., Sugumaran, V. &
Ahluwalia, P., 2005. A Semiotic Metrics Suite for
Assessing the Quality of Ontologies. Data &
Knowledge Engineering, Vol. 55, No. 1, 84-102
Choinzon, M.,& Ueda, Y., 2006. Design Defects in Object
Oriented Designs Using Design Metrics. In 7th Joint
Conference on Knowledge-Based Software
Engineering. IOS Press, 61-72.
Date, C. J. & Darwen, H., 2006. Databases, Types and the
Relational Model, Addison Wesley. USA, 3rd edn.
DMTF Common Information Model Standards, 2006.
CIM Schema Ver. 2.16. Database specification.
DMTF Common Information Model Standards, 2006.
CIM Schema Ver. 2.15. Metrics schema.
García, F., Bertoa, M.F., Calero, C., Vallecillo, A., Ruiz,
F., Piattini, M., & Genero, M., 2006. Towards a
Consistent Terminology for Software Measurement.
Information & Software Technology, Vol. 48, 631-
644.
Greenfield, J., Short, K., Cook, S., & Kent, S., 2004.
Software Factories: Assembling Applications with
Patterns, Models, Frameworks, and Tools, Wiley
Publishing, Inc. Indianapolis.
IEEE Standards Dept., 1998. IEEE Std. 1061-1998,
Standard for a Software Quality Metrics Methodology.
Jacquet, J. & Abran, A., 1998. Metrics Validation
Proposals: A Structured Analysis. In Proceedings of
Eighth International Workshop of Software
Measurement.
Kaner, C., & Bond, P., 2004. Software Engineering
Metrics: What Do They Measure and How Do We
Know? In 10th International Software Metrics
Symposium.
Kitchenham, B., Pfleeger, S. & Fenton, N., 1995. Towards
a framework for software measurement validation.
IEEE Transactions on Software Engineering, Vol. 21,
Issue 12, pp 929-944.
Krogstie, J., 2001. A Semiotic Approach to Quality in
Requirements Specifications. In IFIP 8.1 Working
Conference on Organizational Semiotics, eds. Stamper
et al., Montreal, Canada, 231-249.
Krogstie, J., Sindre, G., & Jorgensen, H., 2006. Process
models representing knowledge for action: a revised
quality framework. European Journal of Information
Systems, Vol. 15, No. 1, 91–102.
Larman, C., 2002.
Applying UML and Patterns: An
Introduction to Object-Oriented Analysis and Design
and the Unified Process, Prentice Hall. USA, 2
nd
edn.
Lindland, O.I., Sindre, G., & Solvberg, A., 1994.
Understanding quality in conceptual modeling. IEEE
Software, Mar. 1994, Vol. 11, Issue 2, 42-49.
Maiden, N., & Sutcliffe, A., 1992. Exploiting reusable
specifications through analogy. Communications of
ACM, Vol. 35, No. 4, 55-64.
McQuillan, J. A. & Power, J. F., 2006. Towards re-usable
measure definitions at the meta-level. In PhD
Workshop of the 20th European Conference on
Object-Oriented Programming.
Melton, J., ISO/IEC 9075-2:2003 (E) Information
technology — Database languages — SQL — Part 2:
Foundation (SQL/Foundation). August, 2003.
Merriam-Webster, Inc. Merriam-webster’s online
dictionary, viewed 25 November, 2007,
<http://www.m-w.com/>.
OMG Common Warehouse Metamodel Specification
formal/03-03-02. March 2003. Version 1.1.
Opdahl, A.L., & Henderson-Sellers, B., 2002. Ontological
Evaluation of the UML Using the Bunge–Wand–
Weber Model. Software and Systems Modeling, Vol 1,
No. 1, 43 – 67.
Piattini, M., Calero, C., & Genero, M., 2001a. Table
Oriented Metrics for Relational Databases. Software
Quality Journal, Vol. 9, No. 2, 79-97.
Piattini, M., Calero, C., Sahraoui, H., & Lounis, H.,
2001b. Object-Relational Database Metrics. L'Object,
vol. March 2001.
Schneidewind, N.F., 1992. Methodology for Validating
Software Metrics. IEEE Transactions Software
Engineering, Vol. 18, No. 5 (May 1992), 410-422.
Wismüller, R., Bubak, M., Funika, W., Arodz, T., &
Kurdziel, M., 2004. Support for User-Defined Metrics
in the Online Performance Analysis Tool G-PM. In
AxGrids 2004, LNCS Vol. 3165, 159-168.
ICEIS 2008 - International Conference on Enterprise Information Systems
48