[exprla-devel] Re: [XPL] Direction and purpose of XP
Status: Pre-Alpha
Brought to you by:
xpl2
From: reid_spencer <ras...@re...> - 2002-01-31 08:56:36
|
--- In xpl-dev@y..., cagle@o... wrote: That's right! And we can use the same MathML that we convert into a functional representation to describe the function in SOAP. So imagine someone needs function that solves the formula y = 3x + 1/x. They simply would have to search for the component (it may be in the library) by writing it this way, or by allowing input into a GUI template (using XSL) and when they submit, XSLT transforms that input into MathML content and searches using Service Description Language in SOAP to find that very function. It's possible, though keep in mind that there is a distinction between programmatic mathematics and symbolic mathematics. For example, I can create a MathML representation of a differential equation, but there is a distinction between the symbolic solution of such an equation (which can get to be byzantine) and the numerical solution of the same equation. In general, most people will opt for the use of programatic algebraic notations when working through an interface (or when writing code) -- conceivably it could be converted into MathML, but I'd be inclined to say that this should more likely be a persistance solution, a way to either save an equation to a file or retrieve the equation from the file. Even in the MathML specifications, the authors readily say that they don't expect MathML to be authored by hand. The input could be a MathML stream as well. We could always layer easier to use names on top of the function real name. In a business environment y= 3x + 1/x might be used to calculate financial information, so it could be assigned a name that is appropriate for that environment, like CalcTax, which takes user input for x and spits out an integer y, but the real name is the MathML. That way we could use the very same function to draw the curve y = 3x + 1/x as part of a simulation program. The curve is drawn by calling the y=3x +1/x expression and passing in a stream of x, which can be assigned during the call, as the input parameter. y gets passed out and is used by the draw function to draw a point (x,y). There would be reusable code across business types if you could do this. Why write tons of new code to make a puff of smoke appear on screen when you can use MathML that describes the behaviour and search for functions that exist. They could have been created for any purpose (say, fluid mechanics) but will be usable by your program to describe the exact behaviour. If there isn't a functional representation of the MathML available, then you could make one using our XPL class that interprets equations. While what you say is true, most people won't be using XML for making puffs of smoke appear on the screen (though they may use it in conjunction with mirrors). They'll be using it to write business logic, to handle transactions, to present information in a cohesive and consistent manner. They may very well use it for modelling physical phenomena as well, but here you run into a dual set of gotchas. Simulations are still one of the areas where efficiency of process may preclude the use of XML (although that may not be completely true in the future). A second problem is that the language to describe such an environment is highly statist upon multiple processors simultaneously, an area when XML traditionally has had problems. Still, the concept is valid -- an XPL class that interpreted MathML could very well handle this, just as in the example I gave the <xpo:graphics class would provide an interface between XML data and SVG. Another way of thinking about XPL is to envision it as being modelled along the lines of the Java API. The <xpo:graphics> class might correspond to the java awt.graphics class, for instance. I suspect that the architecture would work better if the classes were essentially object like rather than OOP (i.e., more like the flat VIsual Basic model rather than the hierarchical Java one), although this doesn't necessarily have to be the case -- assuming that a compiled model was used -- XPL to XSLT then possibly to compiled XSLT, then when the XPL is first compiled the imported resources could potentially themselves import content, which will get rolled into the final XSLT before it is invoked. Hence a compiled XPL could support class inheritance... hmmm, will have to think on this one some more. Kurt Cagle --- End forwarded message --- |