OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: Procedural vs Declarative XML transformation approaches

[ Lists Home | Date Index | Thread Index ]
  • From: "Bullard, Claude L (Len)" <clbullar@ingr.com>
  • To: xml-dev@lists.xml.org
  • Date: Mon, 06 Nov 2000 09:50:49 -0600

Inquire into the coupling of declarative persistence 
(how long is a declaration usable) and operational 
scope (given known and unknown events).  We order 
declarative and procedural techniques to ensure robustness.  

SQL is a good example.  A simplistic order:

1.  Design schema.
2.  Populate data.
3.  Design query.
4.  Operate on query result (view).
5.  Feed output into next operation.

Mixed model or no, without the pre-created structure, 
we only have event recognition and must deduce 
pattern, choose process, and hope for the right 
results in the face of new events.  The operational 
order of technique is as important as the technique. 
Even OOP systems have this kind of necessary ordering.  
We have to declare an object's information items, 
design methods that can operate on them predictably, 
then schedule recognizable events to invoke methods.  
We encapsulate to prevent disorganizing 
events (mal-performed) and declare public interfaces 
to promote organizing events (well-performed).

As noted elsewhere, declarative technique tames 
complexity by imposing order and relationship, 
and handles emergence by applying conditions to 
creating subsets or views as input to a procedure, 
or as in the case of object, contracting for a 
specified response.  We *make* the system predictable 
and control the environment to *maintain* it.  

A pragmatic system is robust given the reciprocity 
of environment and internal regulation of change that is   
adaptation.  The concept of emergence follows on 
robustness:  a system that is robust has an orderliness 
that enables emergence.  Adaptation by adding features, 
(eg new handlers for new classes of events) should not 
break existing behaviors (system is not overly sensitive 
to change).  

Declarative systems are sensitive to schema 
changes (the main rub of namespace strings - single 
point failures).  Procedural systems are sensitive 
to changes in events (the endless switch).

Without the apriori declarative technique, the 
procedural technique inherits the burden of 
ordering the input (Recognition).   Without the procedural 
technique, we can't select an input based on a 
known event or extend it given a new event (Adaptation).  
Given maintenance and extensibility in the face of 
changing events, a mixure of the two techniques produces the 
pragmatic system: adaptible in the face of environmental 
changes, therefore, robust.

Len Bullard
Intergraph Public Safety

Ekam sat.h, Vipraah bahudhaa vadanti.
Daamyata. Datta. Dayadhvam.h


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS