02.06.2013 Views

MAFCOG 1.0A Generic code generator for Mathematical Functions

MAFCOG 1.0A Generic code generator for Mathematical Functions

MAFCOG 1.0A Generic code generator for Mathematical Functions

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

..<br />

,,-<br />

r-<br />

r-<br />

r:<br />

r:<br />

"...<br />

i<br />

MA FCOG 1.0 A <strong>Generic</strong> CCNk Generator For <strong>Mathematical</strong> <strong>Functions</strong><br />

problem; the ideal use of such abstract,<br />

domain specific operators and operands in<br />

expressions that compose many such<br />

operations together. [2]<br />

Even w-nen developers have recurring<br />

computer-readable metadata to process and<br />

a clear idea of how <strong>code</strong> should by<br />

structured, they can still find themselves in<br />

need of a technique to automatically<br />

generate me <strong>code</strong> <strong>for</strong> the mathematical<br />

<strong>for</strong>mula :.J avoid the drudge work of<br />

repeatedly writing and tweaking it.<br />

Generative programming is a technique that<br />

addresses this problem. Using generative<br />

programming techniques, any developer can<br />

solve matcernatical problems in families,<br />

rather than individually, saving time and<br />

coding ef<strong>for</strong>t. This article describes these<br />

techniques using <strong>MAFCOG</strong> 1.0, and builds<br />

a sample template-driven <strong>code</strong> <strong>generator</strong> <strong>for</strong><br />

mathernaticz l expression. [ 4]<br />

Applying generative programming produces<br />

implementation <strong>code</strong> from three things:<br />

• A Deans of specifying family<br />

members,<br />

• The implementation components<br />

from which members can be<br />

assern r-led, the configuration<br />

knowledge mapping between a<br />

specification of a member and a<br />

finished member. In other words,<br />

generative programming builds<br />

implerr. entations from the <strong>code</strong><br />

patterns and lower-level<br />

components, and the metadata that<br />

brings r::e two together. [1,3]<br />

•<br />

MAFCt)G 1.0 is a tool provided to<br />

the user to generate the <strong>code</strong> <strong>for</strong> the<br />

specifiec language.<br />

1.2. Tool Description<br />

Code Generators are programs that<br />

automatically generate high-level<br />

<strong>code</strong>(Java, C, C-+ etc). These tools range<br />

.~\ l' . ., .<br />

362<br />

in size and complexity. There are two types<br />

of <strong>code</strong> <strong>generator</strong>s: active and passive.<br />

Active model maintain the <strong>code</strong> generated<br />

by the <strong>generator</strong> long term. Passive models<br />

create the initial <strong>code</strong>, and then it is the<br />

responsibility of the engineer to maintain it.<br />

A typical example of a passive <strong>code</strong><br />

<strong>generator</strong> is a wizard.<br />

<strong>MAFCOG</strong> 1.0 will be the ideal tool<br />

<strong>for</strong> professionals who need quick solution to<br />

. technical problems. If user knows the<br />

mathematical <strong>for</strong>mula and the plat<strong>for</strong>m in<br />

which the <strong>for</strong>mula solution required to be<br />

developed (Java, C++ etc) <strong>MAFCOG</strong> 1.0<br />

lets him to add evaluation of mathematical<br />

expression to his/her application easily. It<br />

should support 7 operators (including<br />

Parenthesis), 10 mathematical functions,<br />

10-15 users defined variables and provides<br />

complete error handling support.<br />

<strong>MAFCOG</strong> 1.0 is a template driven<br />

<strong>code</strong> generation product that streamlines the<br />

application development process and.<br />

slashes development time.· Using<br />

breakthrough, template-driven technology<br />

2. 0 OVERVIEW<br />

<strong>MAFCOG</strong> 1.0 will help Java developers<br />

create sophisticated <strong>code</strong> <strong>for</strong> mathematical<br />

functions faster, more efficiently and more<br />

economically. Code templates provided are<br />

Developer modifiable.<br />

The benefits provided by <strong>MAFCOG</strong> 1.0<br />

approach include higher developer<br />

productivity, better software quality, and<br />

lower maintenance costs.<br />

2.1 Measurable Productivity Gains<br />

Generating <strong>code</strong> by definition is<br />

always going to be much faster than<br />

hand coding. The productivity gain<br />

when writing the mathematical <strong>code</strong> is<br />

at least 70%, with the coding part of the<br />

design, <strong>code</strong>, and test cycle eliminated.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!