150 likes | 271 Views
What online mathematical content could be useful for commercial software development?. Earlin Lutz Bentley Systems Inc 685 Stockton Dr Exton PA 19341 610-458-2734 earlin.lutz@bentley.com. Earlin Lutz 1335 Jackson Lane West Chester PA 19380 610-692-4054 elutz@bellatlantic.net. +. +. *.
E N D
What online mathematical content could be useful for commercial software development? Earlin Lutz Bentley Systems Inc 685 Stockton Dr Exton PA 19341 610-458-2734 earlin.lutz@bentley.com Earlin Lutz 1335 Jackson Lane West Chester PA 19380 610-692-4054 elutz@bellatlantic.net Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
+ + * * * . . . . . . r r r r r r x z z y y x GF Experts Quiz Question: What is this? / sqrt 1 Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
double G(Point3d &P, Point3d &Q) { double r = sqrt ( (Q.x-P.x)*(Q.x-P.x) + (Q.y-P.y)*(Q.y-P.y)) + (Q.z-P.z)*(Q.z-P.z)) return 1/r; } The programming connection Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Multiple Targets are the norm C functions java methods jni wrapper VB wrapper C# methods C# wrapper Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
A Special property of Green’s Functions.... (Fill in the most complex expression from your paper) Complex Expressions Big Benefit for automated processing Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Outline • Review “common practice” for transfering mathematical content to commercial software • Common practice is repetitive, unreliable • “programmer centric” • Envision highly automated process • Structured primary content in “web library” • programmer change from doer to specifier of implementation • Full benefit requires changes at every phase of overall process • academic providers • programmer • management Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Technical literature source other programs compile programming language link Manual Step !! local style rules runtime Mechanical Step!! Programmer-Centric Software Workflow Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Programmer Centric Systemdoes not identify .... • Repetitive Problem • Modest library of 3D point, 3x3 matrix, affine 3d transform functions can easily have 100 functions of comparable complexity • Highly structured primary material • Highly structured “output” of programming process • Programming languages are precisely defined • Good SW organizations have precise conventions for • data structures • argument list ordering • parameter passing • local variable creation Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
compile link runtime Data Centric Software Workflow Library of Pure Mathematical Expressions Prog. Langauge local style rules Query Structured Mathematical Expressions Translation Spec Translation Tool source No human intervention !! Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Automated Code Generation .. • Widely used for isolated steps of SW development • Huge benefits in ideal situation • Widely distrusted • Stepping back to one deeper level of abstraction is difficult concept • Most programmers like tangible feel of producing CODE • Management distrust. Programmers are expected to produce code directly, not indirectly. Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Current Online-Library Content • Journal paper/tech report -- pdf • hard to extract structured mathematical content • Source code • Useful, but requires extensive manual (I.e. error prone) analysis & manipulation to adapt to new language, coding standards, OS • “all or nothing” Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Improved online Content • Computer-readable • Data intended for further processing, not for visual inspection • Tree structured • Any equation must be present as tree structure • Granularity • Anything as small as an equation within a paper must be addressable • Structural properties application independent • like XML concepts of well formed, validated files Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
“Data Language” Candidates • XML & derivatives • Widely recognized lexical/syntax rules • slick editing & presentation tools available (??) • visually ugly • lisp-like • Use lisp form as data structure, not programming language • maple/mathematica • widespread experience as language for expression entry rather than execution • need to identify subset that is meaningful outside proprietary SW Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
What (who!) has to change • Online library needs to contain mathematical content with highly annotated tree structures suitable for query and downstream processing • Primary creators (academics in many disciplines) need to “write” into the library at this level of granularity • won’t happen until their research process uses the same data!! • Programmers need to redefine their jobs from “write code” to “write queries and transformation specs” • Management needs to understand that “transformation specs” are “real” programming. Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734
Conclusions • “Programmer Centric” SW development places programmer “between” paper-based/paper-like publications and working code • In “Data Centric” model, • Primary data form must be machine-friendly • Transfer of data from “Primary Library” to “Production code” should be • highly automated • controlled by programmer • not carried out by programmer • Lesson from history: Programming practice changes in response to successful demonstrations (“bottom up”), not in response to great plans (“top down”) Earlin Lutz elutz@bellatlantic.net 610-692-4054 earlin.lutz@bentley.com 610-458-2734