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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Formalism and complexity - was Re: [xml-dev] Another mutated variant ...

[ Lists Home | Date Index | Thread Index ]


On Jan 2, 2004, at 7:08 PM, Rick Marshall wrote:

> how can you build business rules if you don't understand algebra at
> least and a fair competence at calculus, not to mention linear
> programming? come to think of it, how can you use a spreadsheet for 
> more
> than adding columns?
>
> how can you build a large multi processor, multi-location processing
> system if you can't work with black boxes and predicate calculus.

There's been an on-and-off thread about complex systems, emergence, 
etc.  The lesson I get from it is that (at least arguably) you can't 
understand the higher order, long-term, multi-party implications of 
simple business rules even *with* predicate logic, linear programming, 
etc.

  It's hard to argue with the proposition that logic, set theory, and a 
deep understanding of RDBMS dogma (or OO dogma, for that matter) 
*should* help one build successful complex software systems.  
Unfortunately, I don't know of much evidence that it really *does* 
help.

This is not to suggest that hackery is as good as competent 
engineering, but I will put forth the hypothesis that competent 
software engineering is more dependent on an understanding of the human 
factors of requirements gathering, project estimation and management, 
and especially testing ... and less so on formalisms such as predicate 
logic or the Rational Unified Process, etc.

Again, this is a hypothesis not an assertion of Truth; if there is 
evidence against it, I'd be very pleased to hear about it.

>
>
> couple of simple rules: if 90% effort goes into the user interface
> chances are you won't recognise failure until it's way too late. if the
> depth of a tree is more than 5, most people (programmers included) will
> not manipulate it correctly - this applies as much to databases as
> documents.

I would tend to agree ...
>
> unfortunately xml will go the same way - it's not for end users, but
> it's a great tool for trained professional programmers and analysts. 
> and
> it's a great place for silver bullet promises and to make money from
> those promises.
>
Yeah, but remember Al Snell's original point -- apparently even the 
professional programmers at the huge companies that build the dominant 
RDBMS systems apparently can't build query optimizers that actually 
work with a high degree of confidence, forcing end users to re-write 
the SQL to work around the limitations of the optimizer.  (That was 
certainly true the last time I did serious RDBMS work  about 10 years 
ago, I have no idea if it is still true ... but let's assume for the 
sake of argument that it is).  Is this because the professional 
programmers are poorly trained?  Because they don't use the formalisms 
of RDBMS theory properly? [Bzzzt -- AFAIK SQL has no *formal* 
relationship to RM theory and the current SQL standard never mentions 
the relational model, but I may have read too many of of the anti-SQL 
relational zealots' rants on the subject ;-) ]  I doubt it --I suggest 
that SQL is too complex to be fully understood by humans WITH OR 
WITHOUT the assistance of set theory, predicate logic, RDBMS theory, 
etc.  Obviously we can do better than we currently do, but this will 
take spec cleanups (which means POLITICS!), control of expectations, 
and lots of time, along with more rigorous engineering.

I see only two ways forward, if we want more reliable software 
(especially in the XML world):

- Simplify the specs to the point where formal methods and 
state-of-the-art software engineering can really and truly "work".

-  Just Deal With It by extensive testing, compilation and evaluation 
of best practices, and other rigorous, but informal methods.

They're not mutually exclusive; the second would be greatly aided by 
simplification and formal rigor, and the first would be more feasible 
if there were a solid basis of codified experience with which to guide 
the refactoring / formalization.





 

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

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