4. About Graphic Extensions

Graphic extensions are  new graphic symbols introduced as abbreviations for complex patterns .They allow  simplifying   the diagrams significantly, while preserving all the information accumulated in those diagrams.

4.1 A Stimulating  Example

Here we shall continue with the specifications pertained to  Nitrogen Cycle. In the previous sections  we already  have had some examples.    Now we will put them together and add new specifications- for organic and mineral nitrogen, plant uptake and mineralization. For time being we will treat plant uptake , mineralization, organic nitrogen , and mineral nitrogen as objects.

nitrogen_compound::chemical_agent.
nitrogen[label->'N']:nitrogen_compound.
nitrogen_gas[label->'N2']:nitrogen_compound.
ammonia[label->'NH3']:nitrogen_compound.
ammonium[label->'NH4']:nitrogen_compound.
nitrous_oxide[label->'N2O']:nitrogen_compound.
nitric_oxide[label->'NO']:nitrogen_compound.
nitrogen_dioxide[label->'NO2']:nitrogen_compound.
nitrite_ion[label->'NO2-']:nitrogen_compound.
nitrate_ion[label->'NO3-']:nitrogen_compound.

stock[agent*=>chemical_agent, ispartof*=>container, quantity*=>value].
flow[source*=>stock, target*=>stock, agent*=>chemical_agent, intensity*=>value].
distributed_stock::stock.
distributed_stock[ related_agents*=>>chemical_agent].
distributed_flow::flow.
distributed_flow[source*=>distributed_stock, target*=>distributed_stock].
container[stocks*=>>stock, distributed_stocks*=>>distributed_stock].
 

//the new things start from here

biota:container.
soil:container.
organic_nitrogen:distributed_stock.
organic_nitrogen[ispartof*->biota].
organic_nitrogen[agent*->nitrogen,related_agents*->>X:nitrogen_compound ]. 

mineral_nitrogen:distributed_stock.
mineral_nitrogen[ispartof*->soil]. 
mineral_nitrogen[agent*->nitrogen, related_agents*->>{ammonia, ammonium, nitrate_ion, nitrite_ion}]. 

mineralization:distributed_flow.
mineralization[source*->organic_nitrogen, target*->mineral_nitrogen].

plant_uptake:distributed_flow.
plant_uptake[source*->mineral_nitrogen, target*->organic_nitrogen].

 

The knowledge base we see is  far more complex than any other we saw so far. It is not surprising that its graphic representation is also complex. Here it is:

 

Alternative drawing of the same diagram

dot/neato code

As our diagrams grow larger their readability become increasingly difficult. The diagram above stays near the threshold of readability. We can ask a question: Is there any way to split the diagram into pieces and view different pieces separately? One general suggestion is that we can view separately the class signatures and the diagram which describe the instances of these classes. But then perhaps  there is no generic good answer on this question. The answer   entirely depends on the implementation of GFL.  Another question that can arise - is there any way to device abbreviations for the homogeneous parts of the diagram? And this question gives a key insight into our graphic extension philosophy.

Top     |  Previous   |   Next  

 

 

C 2003 S. Krivov  Send your comments to skrivov@zoo.uvm.edu