17
PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad Nadir-7143222 Jithin Nair-27093888 Rohan Nayak-6846696 Aman Ohri-27119801

PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Embed Size (px)

Citation preview

Page 1: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

PROMETHEUS - Organization of Development & Demonstration of

Prototype

Team E 

Ishan Monga-27720696

Ahmad Moumneh-26262481

Saketh Mudrakola-7394764

Muhammad Nadir-7143222

Jithin Nair-27093888

Rohan Nayak-6846696

Aman Ohri-27119801

Page 2: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

OutlineOverviewAgile ImplementationAuxiliary FunctionFunctions implementedDecisions taken and rationaleTest ResultsConclusionReferences

Page 3: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Overview

To address the requirements and different set of choices for implementing the transcendental functions and the rationale for choosing the particular implementation from the set of different available algorithms.

To demonstrate organization of development and the use of agile methodology

Page 4: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Agile Implementation

Agile Methodology is followed in order to specify requirements for the implementation

Project development is divided into two iteration Agile has provided opportunity to deliver the functionality

with highest priority in the first Iteration Other things for instance improvement of precision,

generation of user interface and constraining the function’s output for specific inputs is parked for iteration two.

Page 5: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Auxiliary Functions

The auxiliary functions used are:

1.Factorial: fact(x)

2.PI()

3.e()

4.Power: power(x,y)

Advantages•increased reusability•reduced redundancy

Page 6: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Functions Implemented

Sine (x) Cos(x) 10^X XX √x ex πx

Page 7: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The Sine Function

sin(x) can be computed using the Taylor series expansion and the CORDIC algorithm.

Sin(x) = x – x^3/3! + x^5/5! – x^7/7! + …. We have chosen the Taylor series expansion to

implement sin(x) in PROMETHEUS for 2 reasons: It is easier and faster to implement and execute

sin(0) = 0.0, sin(30) = 0.5000001443377021 We chose the precision to be equal to 10 in order to

have better accuracy and good efficiency.

Page 8: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The Cosine Function

cos(x) can be computed using the logarithmic approached.

We have chosen the Taylor series expansion to

implement sin(x) in PROMETHEUS for 2 reasons: It is easier and faster to implement and execute

cos(0) = 1, cos(30) = 0.8660253204510115 We chose the precision to be equal to 10 in order to

have better accuracy and good efficiency.

Page 9: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The 10x Function

tenPower(x) can be computed using the power function, logarithmic approach

We used the auxiliary power function to take advantage of reusability

tenPower(0) = 1, tenPower(3) = 1000 The precision to be equal to that of the power

function. It cannot compute the values for real numbers as

inputs and will be considered in future iterations

Page 10: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The Xx Function

XPower(x) can be computed using the power function, exponentiation approach

We used the auxiliary power function to take advantage of reusability

XPower(0) = undefined, XPower(3) = 27 The precision to be equal to that of the power

function. It cannot compute the values for real numbers as

inputs and will be considered in future iterations

Page 11: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

π and πx

PI() can be computed using the Gregory-Leibniz series and Nilakantha’s series. PIPower(x) is computed using PI() and power(x).\

πx = 4( ) We used the Gregory-Leibniz series to compute π; howerver, the

Nilakantha’s series is said to be more efficient and will be implemented in the next iteration.

PIPower(0) = 1, PIPower(3) = 31.006306289151429 The precision of PIPower(x) is equal to that of PI() which is

1000000. It cannot compute the values for real numbers as inputs and will

be considered in future iterations

Page 12: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The Root Function

rootofx(x) can be computed using the Babylonian method, Newton-Raphson method, the Guess-Evaluate-Improve method, and the nth root algorithm.

We used nth root algorithm and we assigned n = 2 to compute

root of x. As such, we can compute rootofx(x) for real numbers in the next interation.

rootofx(0) = 0, rootofx(4) = 2 The precision to be equal 1000000 It cannot compute the values for real numbers as inputs and will

be considered in future iterations

Page 13: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

The ex Function

e(x) can be computed using power series of any given x, using the e(x) - y = 0 equation, and using exponential property.

We used the exponential property to compute e(1) and we

used the power function to computer e(x). We went with this approach because we thought it was easier and faster to implement and execute

e(0) = 1, e(1) = 2.718281826198493 The precision to be equal 1000000 It cannot compute the values for real numbers as inputs

and will be considered in future iterations

Page 14: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Future Scope

The current implementation doesn’t give results for real numbers.

More efficient power function will be developed for giving the results for real numbers.

The current user interface is textual. A GUI is planned for the next iteration.

An After-Scenario questionnaire will be used for unanticipated change.

Page 15: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Conclusion

Major decisions are also influenced by the accuracy of the outputUse of agile methodology facilitate to prioritize the requirementsRelation between software engineering and mathematics is realized with the implementation

Page 16: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

References

'Software Requirements Document A Multi-Function Calculator', 2015. [Online]. Available: http://www2.cs.uidaho.edu/~rinker/cs113/calculator.pdf.

L. Chung, 'Non-Functional Requirements: Soft is harder to deal with than hard - The Ten Commandments (Requirements Management Blog)', Ibm.com, 2013. [Online]. Available: https://www.ibm.com/developerworks/community/blogs/requirementsmanagement/entry/non-functional-requirements?lang=en.

Wikipedia, 'Sine', 2015. [Online]. Available: http://en.wikipedia.org/wiki/Sine.

Dotancohen.com, 'Taylor series for sine or sinus', 2015. [Online]. Available: http://dotancohen.com/eng/taylor-sine.php.

Wikipedia, 'Taylor series', 2015. [Online]. Available: http://en.wikipedia.org/wiki/Taylor_series.

Page 17: PROMETHEUS - Organization of Development & Demonstration of Prototype Team E Ishan Monga-27720696 Ahmad Moumneh-26262481 Saketh Mudrakola-7394764 Muhammad

Thank You!