Information Technology Reference
In-Depth Information
suitable to perform computation and reasoning, as shown in [3], where the code
is represented through an ontology to perform query that can be used to provide
suggestion for library usage. The ontology formalism is used to represent soft-
ware assets by building a knowledge base that is automatically populated with
instances representing source-code artifacts. This approach uses this knowledge
base to identify and retrieve relevant code snippets. To add formal semantic
annotations, it's necessary to have a formal knowledge description processable
and to an appropriate level of abstraction. This is not always available, so it
would be useful to have tools that can extract this knowledge automatically or
semi automatically from the sources of information. One of the major structured
sources of knowledge are the public interfaces of libraries of a specific domain.
However, a single API contains only a view of the particular domain and it's
not generally sucient to obtain a complete model of the domain. In addition,
the APIs contain a significant amount of noise due to implementation details
that combine with the representation of knowledge in the domain interfaces.
In order to overcome these problems it's possible to base the extraction of do-
main knowledge on multiple APIs that cover the same domain. This issue is
addressed in [4], where it is proposed an approach to extract domain knowledge
capturing the commonalities among multiple API; the extraction is based on
the frequency matching of given elements. In [5] an approach to learning domain
ontologies from multiple sources associated with the software project, i.e., soft-
ware code, user guide, and discussion forums is proposed. This technique do not
simply deal with these different types of sources, but it goes one step further
and exploits the redundancy of information to obtain better results. In [6] and
[7] it is proposed a method for domain ontology building by extracting ontolog-
ical knowledge from UML models of existing systems, by comparing the UML
model elements with the OWL ones and derive transformation rules between the
corresponding model elements. The aim of the process is to reduce the cost and
time for building domain ontologies with the reuse of existing UML models.
3 The Methodology
The porting methodology we are presenting is based on an automatic analysis
and representation of code at higher level of abstraction than the syntactical and
structural one: namely the algorithmic or functional level.
The methodology assumes that the porting procedure can be realized by re-
structuring the code to be ported to a target environment (e.g. Cloud) with
suitable calls to functionalities of a given target Application Programming In-
terface, implementing all functionalities needed to deploy and run the code on
the environment.
The target API is assumed to be (manually) semantically described at the
algorithmic and functional level, and annotated, with concepts described by
means of an OWL based functional ontology .
 
Search WWH ::




Custom Search