------------------------------------------------------------------
File: changes.txt

This document records the changes made to the prolog 
formal representations:

18/5/1998:
----------
Initial form  --> (changes to) New form
dynamical()   --> dyn()
dynamical(occ())  --> dyn(ent_occ()) for entity  occurrence
                      dyn(pro_occ()) for process occurrence
dynamical(occ_att()) --> dyn(ent_occ_att()) for entity  occurrence


the data format for derivation for derivable attributes:
---------------------------------------------------------------------------
(1) Static data, but with one particular instance. 

derived_att( 
   dyn(ent_occ_att(dyn(occ("'Practical Allocation', Occ, 
                           [dyn(ent_occ("'Module'",    Occ2, P2)),
                            dyn(ent_occ("'Practical'", Occ3, P3))] )), 
                   "'Ave Practical Mark'", Value)),
 [],
 [calculate, the, average,
  of, attribute,  "'Practical Mark'",
  forall, entity, "'Practical Mark'", 
  with, entity-ancester, "'Module'", with, occurrence, Occ2, parents, P2,
  and, with, entity-ancester, "'Practical'", with, occurrence, Occ3, parents, P3,
  and, then, save, the, result, in, Value]
).
---------------------------------------------------------------------------
(2) general format:

derived_att(Target_attribute, Other_referred_entities, Deriving_formula).

derived_att( 
   dyn(ent_occ_att(dyn(occ(Entity, Occ, 
                  [dyn(ent_occ(Parent1, Occ2, P2)),
                   dyn(ent_occ(Parent2, Occ3, P3))] )), 
                   Attribute, Value)),
 [],  
 [calculate, the, average,
  of, attribute,  Att1,
  forall, entity, Ent1,
  with, entity-ancester, Parent1, with, occurrence, Occ2, parents, P2,
  and, with, entity-ancester, Parent2, with, occurrence, Occ3, parents, P3, 
  and, then, save, the, result, in, Value]
).