Information Technology Reference
In-Depth Information
Exchange objects encode knowledge about something in a data structure that
allows their exchangeability - hence they are essentially encoded Information
Objects i.e. Data Objects. Examples of Information Objects include documents,
data-products, images and ontologies. The content of exchange objects can often
be described straightforwardly in non digital form. For example, for a reader's eyes
the contents of a digital document as rendered in a computer screen are the same as
the contents of a printout of that document.
Exchange objects are absolutely useless if we cannot understand their content.
To understand them we may need extra information (Representation Information)
which can be expressed using other information objects. For example, to under-
stand the concepts of an ontology A we have to know the concepts defined in each
ontology B that it is used by A. As another example consider scientific data products.
Such products are usually aggregations of other (even heterogeneous) primitive data.
The provenance information of these data products can be preserved using scientific
workflows [ 108 ].
The key advantage of scientific workflows is that they record data (and pro-
cess) dependencies during workflow runs. For example, Fig. 8.1 shows a workflow
that generates two data products. The rectangles denote data while the edges cap-
ture derivations and thus express the dependability of the final products from the
initial and intermediate results. Capturing such dependencies is important for the
understandability, reproducibility and validity of the final data products.
Exchange objects are typically organized as files (or collections of files). It is
often not possible (and more often not convenient) to identify the contents of a
file if we do not have the software that was used to create it. Indeed exchange
objects use complex structures to encode information and embed extra informa-
tion that is meaningful only to the software application that created them. For
example a MS-Word document embeds special formatting information about the
layout, the structure, the fonts etc. This information is not identifiable from another
text editor, i.e. Notepad. As a result exchange objects often become dependent on
software.
In what follows we look at dependencies using software as the exemplar although
there are many other possible dependencies.
Therefore it is useful to define Computational objects which are actually sets of
instructions for a computer - a type of Representation Information. These objects
use computational resources to do various tasks. Typical examples of computational
objects are software applications.
Software applications in turn typically use computational resources to perform
a task. For example a Java program that performs complex mathematic calcula-
tions does not explicitly define the memory addresses that will keep the numbers.
Instead it exploits the functionalities provided by other programs (or libraries) that
handle such issues. Furthermore, software reusability allows one to reuse a soft-
ware program and exploit its functionalities. Although software re-use is becoming
a common practice, this policy results to dependencies between software compo-
nents. These dependencies are interpreted as the reliance of a software component
on others to support a specific functionality. In other words a software application
Search WWH ::




Custom Search