potentially impacted by a change in the z file?”.
Moreover, the ontology enables us to express the
links between the documentation resources and the
functionalities they are about, therefore the system
can also answer questions such as “Which are the
technical sheets potentially impacted by a change in
the z file?”. These questions (and others, all listed in
Appendix) are of major relevance in generation and
maintenance documentation processes.
3.2 Inferences
Typically, only a part of an information system
knowledge is explicitly represented: other
knowledge, in fact, can usually be inferred, and
made explicit, by applying reasoning mechanisms to
the explicit knowledge. In the following, we will
describe, with the help of some examples, the role
that such inferential mechanisms can play within a
documentation system.
First of all, for each individual in the
characterization, a reasoning process can infer all the
classes that individual is instance of. Moreover,
some important inferences concern the part-of
relationships between elements. For example, from
the characterization of the concepts and relationships
concerning the glossary (see Section 2) and from the
specific features of the has_part relation itself (in
particular, the fact that it is reflexive and transitive)
the reasoner can infer that a Glossary Entry (a direct
part of a Glossary Technical Sheet, which is a direct
part of a Glossary in its turn), a Glossary Entry
Name, and a Glossary Entry Definition (both direct
parts of the considered Glossary Entry) are also parts
of the mentioned Glossary.
Another example of useful inference supported
by the semantic model presented is the one enabling
us to answer competency questions like the
following (see Figure 6):
(a) “Which are the functionalities implemented by
the module ma_cost_mod?”. Given the
characterization of the implements_functionality
relation, if a module implements a functionality f,
then it implements also all f sub-parts. Thus, from
the presented representation, a reasoner can infer the
answer: all those directly linked to the mentioned
module by the implements_functionality relation,
together with all the sub-parts of it, including, for
instance, the upload function.
(b) “In which software modules is implemented the
upload functionality?”. Again, from the ontology
and the characterization of the items in terms of the
ontology, a reasoner can infer the answer, which will
include the module ma_cost_mod.
Inferences like these are very important. For
instance, if I am writing an update note concerning a
given functionality, I need to know in which
modules it is implemented, in order to update all the
corresponding manual parts. Analogously, if
developers modify a given file, I need to know
which functionalities are potentially involved, in
order to properly document the changes.
4 RELATED WORK
The idea of using semantic technologies to support
software documentation processes has been
investigated by focusing on different aspects of the
problem. For instance, Kleiber, Sabol, Kern, Muhr
and Granitzer (2009) face the problem of keeping
the software documentation up to date, given the
reduced time-to-market development cycles, and
propose a support to the software documentation
process based on an underlying ontology modeling
software documentation activities and the structure
of the software itself. Hepp and Wechselberger
(2008) exploit ontologies modeling SAP-related
business and technical concepts in order to improve
the accessibility of ERP documentation search
systems.
There is some work on (semi)automatically
deriving ontologies from software documentation;
see (Sabou, 2004). Moreover, some approaches aim
at supporting software maintenance by exploiting
semantic technologies. For instance, Witte, Zhang
and Rilling (2007) propose to use ontologies in order
to connect and integrate knowledge about source
code and software documentation; the resulting
knowledge can be exploited to support software
maintenance. Similarly, Ambrósio, Santos, Lucena
and Silva (2004) present a tool that exploits
ontologies to integrate domain and software
engineering knowledge in order to help keeping
software documentation, up to date.
5 CONCLUSIONS
In this paper we presented an ontological analysis
aimed at developing a semantic model useful to
support the generation and maintenance of software
documentation. In particular, by describing
examples from a concrete use case, the paper shows
that providing a company documentation system
with an explicit semantic model of the concepts and
relationships involved in documentation generation
KMIS2012-InternationalConferenceonKnowledgeManagementandInformationSharing
130