<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Ontology-based Approach for Software Measurement and Suitability Measurement Repository Evaluation to Apply Statistical Software Process Control in High Maturity Organizations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Monalessa Perini Barcellos</string-name>
          <email>monalessa@inf.ufes.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana Regina C. da Rocha (advisor)</string-name>
          <email>darocha@cos.ufrj.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ricardo de A. Falbo (advisor)</string-name>
          <email>falbo@inf.ufes.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>COPPE, Federal University of Rio de Janeiro -</institution>
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Ontology and Conceptual Modeling Research Group (NEMO), Federal University of Espírito Santo -</institution>
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The escalating demands on the development of software products require software organizations to produce mature software processes that are capable of providing the required levels of quality and productivity. The implementation of statistical process control (SPC) in performance process analysis uses data collected during the course of the project to analyze the behavior of organization processes, identifying actions that are needed for the stabilization and improvement of those processes. An essential element for the SPC application is the suitability of the measures being used. This paper presents the approach proposed in a doctorate thesis to support organizations obtain and maintain measurement repository suitable for SPC, as well as to perform measurements appropriate in this context. The approach is composed by an Instrument for Evaluating the Suitability of a Measurement Repository to SPC, a Software Process Measurement Ontology and a Body of Recommendations for Software Measurement.</p>
      </abstract>
      <kwd-group>
        <kwd>Software Measurement</kwd>
        <kwd>Software Measurement Ontology</kwd>
        <kwd>Foundational Ontology</kwd>
        <kwd>Statistical Process Control</kwd>
        <kwd>High Maturity Levels</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The requirements of the industry of software products and services have increased the
organizations’ interest in process improvement. There are several frameworks that
support definition and institutionalization of programs of this nature, in which
measurement plays an important role, such as CMMI and ISO/IEC 15504. While the
process improvement evolves in an organization, the organizational maturity level has
a tendency to increase too. In high maturity1, process improvement based on
traditional measurement is not enough. It is necessary to carry out the statistical
process control (SPC) to get to know the behavior of the process, to determine its
1 High maturity is characterized by the highest levels of maturity models such as CMMI levels
4 and 5.
performance in previous executions and so predicting its performance in current and
future projects, checking if they will be able to achieve the established objectives.
Using SPC in this context is only possible for organizations that carry out
measurement appropriately. However, this is one of the biggest difficulties for
organizations that desire to achieve high maturity [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In spite of models and
standards saying what it is necessary in the highest maturity levels, they do not guide
the organizations about how carrying out the actions (among their measurement) that
lead the high maturity [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Considering this situation, the doctorate thesis described
here aims to define a strategy to support organizations that desire to achieve high
maturity in their software process in order to obtain and maintain measurement
repository suitable for SPC, as well as to perform measurements appropriate in this
context. Considering that the thesis’s approach is related strongly to software
measurement, it was necessary to establish the vocabulary to be used in it, in order to
allow the common understanding of the approach. Besides, this vocabulary should
consider basic and high maturity measurement aspects. We do not found a vocabulary
suitable for identified needs, so we decided to define a Software Process
Measurement Ontology (SPMO) able to attend them.
      </p>
      <p>In this paper we present briefly the strategy proposed in the thesis and, as soon as
the focus of discussion here is the SPMO, this is discussed in more details (Section 2).
In section 3 we present the expected contributions and the proposal for evaluation of
the results, specifically in the context of the SPMO.</p>
    </sec>
    <sec id="sec-2">
      <title>2 The Approach</title>
      <p>Software organizations that want to perform Statistical Process Control (SPC) usually
are in one of the following situations: (i) it achieved the initial maturity levels and it
has measurement repository with data collected along fulfilled projects; or (ii) it is
starting a process improvement program and wants to initially define a measurement
repository and to perform measurement in a way that is appropriate to SPC. The
strategy proposed in this thesis must contemplate both situations and, for that, it has
three main components:
(a) Instrument for Evaluating the Suitability of a Measurement Repository to SPC
(IESMB): the goal of this component is to evaluate existing measurement
repository and to determine its suitability to SPC, identifying corrective actions
that can be done to make the measurement repository suitable to SPC, when
necessary.
(b) Software Process Measurement Ontology (SPMO): the goal of this component
is to capture the conceptualization involved in the software measurement
domain, including traditional and high maturity aspects.
(c) Body of Recommendations for Software Measurement (BRSM): its goal is to
supply guidelines on how to perform measurement suitable for SPC.</p>
      <p>According to the proposed strategy, organizations that achieved initial maturity
levels can use the IESMB in order to evaluate and adapt, when possible, their
measurement repository to SPC. On the other hand, organizations that are starting a
measurement program and look for high maturity can use BRSM and SPMO to define
their measurement repository and measurement program in a suitable way for SPC.
Besides, it is important to note that performing SPC requires frequent data collection
for measures and sometimes the definition of new measures. Then, when new data are
collected for measures and/or new measures are defined, the measurement repository
suitability must be reevaluated (using IESMB) and new measures must be defined and
collected appropriately (using BRSM and SPMO).</p>
      <p>
        Considering related works, in context of measures evaluation for SPC, Tarhan and
Demirors [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] defined measure usefulness to SPC as requirement to choose a process
to SPC. Nevertheless, as far as we noticed, the work about measure evaluation is
superficial and it does not offer guidelines to correct a measure or to avoid new
useless measures to SPC. Regarding software measurement ontology, Ferreira et al.
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] proposed a software measurement ontology and metamodel. However, they did
not include high maturity aspects and they used a foundational ontology as basis,
likewise in the thesis described here.
2.1 The Software Process Measurement Ontology
Software Measurement is considered a recent discipline and still did not establish
agreed standards. Terminologies, concepts, principles and methods were defined in
the last decade, but there is no consensus mainly about measurement concepts and
terminologies. There are duplications and inconsistencies on the most common terms
like measure, metric and measurement [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Besides, the proposals found in the
literature do not offer a complete vision of software measurement, since they do not
include specific aspects of the measurement in the context of high maturity
organizations.
      </p>
      <p>
        Domain ontologies can be used to define a common vocabulary for sharing and
reusing of knowledge about some domain. As defended by Guarino [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], ideally
domain ontologies should be built based on Foundational Ontologies. Besides, fidelity
to reality and conceptual clarity are fundamental quality attributes to conceptual
models in general and, in particular, to domain ontologies. The use of a foundational
ontology as a basis for building domain ontologies contributes to achieve these
attributes [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Thus, we decided to use the Unified Foundational Ontology (UFO) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
as basis for building the SPMO. UFO [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a foundational ontology that has been
developed based on a number of theories from Formal Ontology, Philosophical
Logics, Philosophy of Language, Linguistics and Cognitive Psychology. UFO makes
distinctions and provides guidelines for building and evaluating conceptual models,
giving them real-world semantics. It is composed by three main parts: UFO-A, an
ontology of endurants, that is the core of UFO; UFO-B, an ontology of perdurants
(events); and UFO-C, an ontology of social entities (both endurants and perdurants)
built on the top of UFO-A and UFO-B. A fundamental distinction in UFO-A is
between Individuals (entities that exist in reality, possessing a unique identity, e.g. the
person Mary) and Universals or Types (patterns of features which can be realized in a
number of different individuals, e. g. Person). Due to space limitations, we do not
discuss UFO here.
      </p>
      <p>
        The SPMO is based on terminologies used in the literature and on specific
requirements of software process measurement in high maturity organizations that
were identified during studies based on systematic reviews and in some practical
experiences. The building of the SPMO follows the process defined by SABiO
(Systematic Approach for Building Ontologies) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], whose activities are: Requirement
Specification, Ontology Capture, Ontology Formalization, Integration of Existing
Ontologies, Ontology Evaluation and Documentation.
      </p>
      <p>
        In the development of the SPMO, the requirement specification involved the
definition of competency questions (CQs), such as the following ones: Which
indicators can be used to analyze an objective? What are the information needs
considered by an indicator? Based on the CQs, concepts were captured and grounded
on UFO, being represented in models UML, textual descriptions and first-order logic
axioms. The SPMO was integrated with a Software Process Ontology [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and a
Software Enterprise Ontology which, before the integration, were reengineered at
light of UFO [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Figure 1 presents a small fragment of the SPMO. In this paper, the
distinctions made in UFO are shown in the concepts of the SPMO as stereotypes,
indicating that they are subtypes of concepts of UFO, in an approach analogous to the
one defined in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>A Measurable Entity Type is a universal high order in UFO, meaning that its
instances are universals (e.g., Organization, Process and Project). A measurable entity
type indicates which measurable elements can be used to measure entities of this type.
A Measurable Element is a property (quality universal in UFO) of a measurable entity
type through which Measurable Entities of this type can be described. It can be
directly (e.g., cost) or indirectly measurable (e.g., productivity). Measurable elements
are quantified by measures. A Measure is a measurement instrument that is used to
associate a value to a measurable element. When a measure quantifies a directly
measurable element, it is said a Base Measure (e.g., number of defects). When a
measure quantifies an indirectly measurable element it is said a Derived Measure (e.
g., defects density). Organizations carried out measurement to attend their Objectives
and/or Information Needs. An organization with the goal of “reducing operational
costs in 10%” can, for example, take as information need “knowing costs with rework
in projects”. Measures are used to attend information needs and when a measure is
used to indicate the achievement of an objective, it plays the role2 of Indicator.</p>
      <p>During the development of the SPMO, several restrictions were identified and,
since the models did not capture several of them, we defined axioms to make them
explicit. For instance, the following axiom holds: if an indicator ind considers an
information need inf and ind quantifies the measurable element mel then the
information need inf is quantified by the measurable element mel.</p>
      <p>
        (∀ ind ∈ Indicator, inf ∈ Information Needs, mel ∈ Measurement Element)
(considers(ind,inf) ∧ quantifies(ind ,mel) → isQuantifiedBy(inf, mel))
2 According to UFO, it is a possible role that a substance sortal can play along its history. An
entity plays a role in a certain context, demarcated by its relations with other entities. Sortal
universals are entities that describe a standard of characteristics that can be carried out in a
number different from individuals and, besides, provide a principle of individualization,
persistence and identity.
Once that SPMO treats high maturity software measurement aspects and it is
grounded on a foundational ontology (characteristics that we did not found in others
proposals) we believe that the SPMO is a contribution itself. Besides, the works
carried out until now produced other contributions, like the reengineering of a
Software Enterprise Ontology at the light of UFO, for integration to the SPMO [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
and the evolution of some aspects of UFO concerning generic concepts related to the
measurement context.
      </p>
      <p>The main expected result related to the SPMO is that its conceptualization
supports understanding and performing software process measurement in traditional
and high maturity contexts. To evaluate this, as part of this thesis, SPMO is being
used as basis for building BRSM (described in Section 2). Besides, the SPMO is
being used together with the BRSM for building a measurement repository suitable
for high maturity, which will be used at LENS (Software Engineering Laboratory) in
COPPE/UFRJ. Both experiences will supply information about the usefulness of the
SPMO. In the near future, it will also be possible to evaluate how SPMO supports
interoperability between tools that will be developed in High Maturity Environment at
LENS, context where this thesis is being developed.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Measurement and Improving Software Process in China</article-title>
          .
          <source>In Proceedings of International Symposium on Empirical Software Engineering</source>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>192</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Card</surname>
            ,
            <given-names>D. N.</given-names>
          </string-name>
          :
          <article-title>Statistical Techniques for Software Engineering Practice</article-title>
          .
          <source>In Proceedings of the 26th International Conference on Software Engineering</source>
          , pp.
          <fpage>722</fpage>
          -
          <lpage>723</lpage>
          (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Tarhan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Demirors</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Investigating Suitability of Software Process and Metrics for Statistical Process Control</article-title>
          .
          <source>Lectures Notes in Computer Science</source>
          , Vol.
          <volume>4257</volume>
          , pp.
          <fpage>88</fpage>
          -
          <lpage>99</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Ferreira</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia</surname>
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , et al. :
          <source>Medición del Software: Ontología y Metamodelo. Informe Técnico UCLM -TSI-001</source>
          , Universidad de Castilla-la
          <string-name>
            <surname>Mancha</surname>
          </string-name>
          , Ciudad Real,
          <string-name>
            <surname>Spain</surname>
          </string-name>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Guarino</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          :
          <article-title>Formal Ontology and Information Systems</article-title>
          .
          <source>In Proceedings of International Conference in Formal Ontology and Information Systems</source>
          , pp
          <fpage>3</fpage>
          -
          <lpage>15</lpage>
          (
          <year>1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Ontological Foundations for Structural Conceptual Models</article-title>
          . Universal Press,
          <source>The Netherlands, ISBN 90-75176-81-3</source>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          :
          <article-title>Experiences in Using a Method for Building Domain Ontologies</article-title>
          .
          <source>In Proceedings of the 4th International Conference on Quality Software</source>
          , pp.
          <fpage>162</fpage>
          -
          <lpage>169</lpage>
          (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guizzardi</surname>
            ,
            <given-names>R. S. S.</given-names>
          </string-name>
          :
          <article-title>Grounding Software Domain Ontologies in the Unified Foundational Ontology (UFO): The case of the ODE Software Process Ontology</article-title>
          .
          <source>In Proceedings of the XI Iberoamerican Workshop on Requirements Engineering and Software Environments</source>
          , pp
          <fpage>244</fpage>
          -
          <lpage>251</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Barcellos</surname>
            ,
            <given-names>M. P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Falbo</surname>
            ,
            <given-names>R. A.</given-names>
          </string-name>
          :
          <article-title>Using a Foundational Ontology for Reengineering a Software Enterprise Ontology</article-title>
          . The Joint International Workshop on Metamodels, Ontologies,
          <string-name>
            <given-names>Semantic</given-names>
            <surname>Technologies</surname>
          </string-name>
          , and
          <article-title>Information Systems for the Semantic Web (</article-title>
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>