ontology/components/wasAssociatedWith/libc.ttl
author Stian Soiland-Reyes <soiland-reyes@cs.manchester.ac.uk>
Tue, 07 Feb 2012 10:37:59 +0000
changeset 1475 b9e12115bcba
permissions -rw-r--r--
merged
     1 @prefix prov: <http://www.w3.org/ns/prov-o/> .
     2 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
     3 
     4 
     5 <> rdfs:label "Example: Execution of a C program" ;
     6 
     7     rdfs:comment """
     8 The C program prov:uses some text files and a
     9 connection to a web server. On a lower granularity perhaps,
    10 /lib/libc.so.6 (the C standard library) is prov:associatedWith with
    11 the programme. The asserter does not feel that *his* C program is
    12 *using* libc - that is merely an side-effect of the compiler and
    13 operating system.  It is not an agent, it is not like a Python
    14 interpreter responsible for running a script, it is just there for
    15 those boring system calls. However the asserter wants to link this
    16 stronger than just as some custom attribute on the plan-entity for the
    17 C-program-activity.
    18 
    19 The reason is that a concurrent system upgrade overwrites the
    20 /lib/libc.so.6 file (and this is captured by provenance) , and causes
    21 the C programme to crash.  """ ;
    22     rdfs:seeAlso
    23     <http://lists.w3.org/Archives/Public/public-prov-wg/2012Feb/0073.html> .
    24 
    25 :libc a prov:Entity, :CLibrary ;
    26  prov:location "/lib/libc.so.6" .
    27 
    28 :myProgramme a prov:Entity, :ProgramBinary ;
    29  prov:location "/usr/local/bin/my" ;
    30  rdfs:comment """
    31 I did not specify any prov:SoftwareAgent up here, because agents are
    32 currently disjoint from activities, and so the active :exec can't be
    33 an agent - while the dormant entity :myProgramme can.
    34 """ .
    35 
    36 :exec a prov:Activity, :ProgramExecution;
    37  prov:hadPlan :myProgramme ;
    38  rdfs:comment """The :libc is associated with :exec - but in a passive way""" ;
    39  prov:wasAssociatedWith :libc .
    40 
    41 :segmentationFault a prov:Entity, :ProgramError ;
    42  prov:wasGeneratedBy :exec .
    43 
    44 :upgrade a prov:Activity, :ProgramExecution ;
    45  prov:used :libc .
    46 
    47