25.01.2014 Views

usage of cots components in a program package for mathematical ...

usage of cots components in a program package for mathematical ...

usage of cots components in a program package for mathematical ...

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.

N Gnanasankaran et al ,Int.J.Computer Technology & Applications,Vol 4 (1),68-71<br />

ISSN:2229-6093<br />

Commercial Off-The-Shelf (COTS) Components <strong>in</strong> S<strong>of</strong>tware<br />

Eng<strong>in</strong>eer<strong>in</strong>g: The S<strong>of</strong>tware Package SCILAB<br />

N. Gnanasankaran<br />

MCA Department, K.L.N.College <strong>of</strong><br />

In<strong>for</strong>mation Technology, Pottapalayam-<br />

630 611, India, sankarn.iisc@gmail.com<br />

S. Natarajan<br />

School <strong>of</strong> Physics, Madurai Kamaraj<br />

University, Madurai-625 021, India,<br />

s_natarajan50@yahoo.com<br />

K. Alagarsamy<br />

Computer Centre, Madurai Kamaraj<br />

University, Madurai-625 021, India,<br />

alagarsamy.mku@gmail.com<br />

K. Iyakutti<br />

Department <strong>of</strong> Physics &<br />

Nanotechnology, SRM University<br />

SRM Nagar, Kattankulathur-603203,<br />

India, iyakutti@gmail.com<br />

Abstract<br />

Commercial Off-The-Shelf (COTS) <strong>components</strong> are<br />

widely used <strong>in</strong> many s<strong>of</strong>tware <strong>in</strong>dustries and also <strong>in</strong><br />

scientific comput<strong>in</strong>g. This paper first considers the<br />

def<strong>in</strong>ition <strong>of</strong> the term COTS and then tries to f<strong>in</strong>d<br />

how it typically manifests itself <strong>in</strong> the s<strong>of</strong>twares used<br />

<strong>for</strong> <strong>mathematical</strong> computations. Some details<br />

regard<strong>in</strong>g one <strong>of</strong> the popular s<strong>of</strong>tware used <strong>for</strong> such<br />

calculations, viz., SCILAB are furnished. S<strong>in</strong>ce this is<br />

a freely downloadable <strong>program</strong> and a noncommercial<br />

one, it is better to consider this as an<br />

example <strong>of</strong> Scientific Off-The-Shelf (SOTS)<br />

<strong>components</strong>, a newly co<strong>in</strong>ed acronym.<br />

Keywords: COTS, Computations, Mathematics, Programs<br />

1. Introduction<br />

Us<strong>in</strong>g COTS (Commercial Off-The-Shelf)<br />

<strong>components</strong> <strong>in</strong> s<strong>of</strong>tware development has become<br />

<strong>in</strong>creas<strong>in</strong>gly popular <strong>in</strong> the IT <strong>in</strong>dustry. These<br />

<strong>components</strong> can be either COTS or OSS (Open-<br />

Source- S<strong>of</strong>tware) <strong>components</strong>. Most <strong>of</strong> today’s<br />

s<strong>of</strong>tware systems <strong>in</strong>clude one or more COTS<br />

products. COTS are pieces <strong>of</strong> s<strong>of</strong>tware that can be<br />

reused by s<strong>of</strong>tware projects to build new systems.<br />

Vidger and Dean [1] def<strong>in</strong>e COTS as pre-exist<strong>in</strong>g<br />

s<strong>of</strong>tware products, sold <strong>in</strong> many copies with m<strong>in</strong>imal<br />

changes; whose customers have no control over<br />

specification, schedule, and evolution; access to<br />

source code as well as <strong>in</strong>ternal documentation is<br />

usually unavailable; complete and correct<br />

behavioural specifications are not available.<br />

Almost without exception, every s<strong>of</strong>tware-related<br />

endeavour will utilize a significant percentage <strong>of</strong><br />

COTS s<strong>of</strong>tware <strong>components</strong>. The application <strong>of</strong><br />

COTS <strong>components</strong> <strong>in</strong> crystallographic s<strong>of</strong>twares was<br />

evaluated by us earlier [2]. In another contribution,<br />

the case <strong>of</strong> a molecular model<strong>in</strong>g s<strong>of</strong>tware, viz.,<br />

GROMACS was taken up as a case study [3]. In this<br />

paper, one <strong>of</strong> the s<strong>of</strong>twares used <strong>for</strong> <strong>mathematical</strong><br />

computations is considered <strong>for</strong> detailed study.<br />

2. S<strong>of</strong>twares <strong>for</strong> Mathematical<br />

Computations<br />

Numerous s<strong>of</strong>tware <strong>package</strong>s are available <strong>for</strong><br />

<strong>mathematical</strong> calculations <strong>in</strong> several branches <strong>of</strong><br />

science. Some <strong>of</strong> the popular <strong>package</strong>s are the<br />

follow<strong>in</strong>g: MAGMA, MAPLE, Mathematica,<br />

MATLAB, MAXIMA, MLAB, REDUCE, SAGE<br />

and SCILAB. In the follow<strong>in</strong>g sections, some <strong>of</strong> the<br />

features <strong>of</strong> the s<strong>of</strong>tware: SCILAB are discussed. This<br />

<strong>package</strong> is considered s<strong>in</strong>ce it is a free s<strong>of</strong>tware<br />

whereas MATLAB is a paid one; also SCILAB’s<br />

computational capabilities are almost equivalent to<br />

that <strong>of</strong> MATLAB.<br />

3. Overview <strong>of</strong> SCILAB<br />

All the details furnished below are from the<br />

“Instruction Manual” <strong>of</strong> the <strong>program</strong> manual [4].<br />

Scilab is a <strong>mathematical</strong> <strong>package</strong> associated with a<br />

rich collection <strong>of</strong> numerical algorithms cover<strong>in</strong>g<br />

many aspects <strong>of</strong> scientific comput<strong>in</strong>g problems. From<br />

the s<strong>of</strong>tware po<strong>in</strong>t <strong>of</strong> view, Scilab is a dynamical<br />

<strong>program</strong> <strong>package</strong>. This generally results <strong>in</strong> faster<br />

development processes, s<strong>in</strong>ce the user directly<br />

accesses a <strong>package</strong>, with a rich set <strong>of</strong> features<br />

provided by the library. The Scilab <strong>package</strong> is meant<br />

IJCTA | Jan-Feb 2013<br />

Available onl<strong>in</strong>e@www.ijcta.com<br />

68


N Gnanasankaran et al ,Int.J.Computer Technology & Applications,Vol 4 (1),68-71<br />

ISSN:2229-6093<br />

to be extended so that user-def<strong>in</strong>ed data types can be<br />

def<strong>in</strong>ed with possibly overloaded operations. Scilab<br />

users can develop their own modules so that they can<br />

solve their particular problems. The Scilab <strong>package</strong><br />

allows to dynamically compile and l<strong>in</strong>k other<br />

languages such as FORTRAN and C: this way,<br />

external libraries can be used as if they were a part <strong>of</strong><br />

Scilab built-<strong>in</strong> features. Scilab also <strong>in</strong>terfaces<br />

LabVIEW, a plat<strong>for</strong>m and development environment<br />

<strong>for</strong> a visual <strong>program</strong>m<strong>in</strong>g language from National<br />

Instruments.<br />

From the license po<strong>in</strong>t <strong>of</strong> view, Scilab is a free<br />

s<strong>of</strong>tware <strong>in</strong> the sense that the user does not pay <strong>for</strong> it<br />

and Scilab is an open source s<strong>of</strong>tware, provided<br />

under the Cecill license [5]. The s<strong>of</strong>tware is<br />

distributed with source code, so that the user has an<br />

access to Scilab's most <strong>in</strong>ternal aspects. Most <strong>of</strong> the<br />

time, the user downloads and <strong>in</strong>stalls a b<strong>in</strong>ary version<br />

<strong>of</strong> Scilab, s<strong>in</strong>ce the Scilab consortium provides<br />

W<strong>in</strong>dows, L<strong>in</strong>ux and Mac OS executable versions.<br />

Onl<strong>in</strong>e help is provided <strong>in</strong> many local languages.<br />

From the scientific po<strong>in</strong>t <strong>of</strong> view, Scilab comes with<br />

many features. At the very beg<strong>in</strong>n<strong>in</strong>g <strong>of</strong> Scilab,<br />

features were focused on l<strong>in</strong>ear algebra. But, rapidly,<br />

the number <strong>of</strong> features extended to cover many areas<br />

<strong>of</strong> scientific comput<strong>in</strong>g.<br />

The follow<strong>in</strong>g is a short list <strong>of</strong> its capabilities:<br />

L<strong>in</strong>ear algebra, sparse matrices, polynomials and<br />

rational functions, <strong>in</strong>terpolation, approximation,<br />

l<strong>in</strong>ear, quadratic and non-l<strong>in</strong>ear optimization,<br />

ord<strong>in</strong>ary differential equation solver and differential<br />

algebraic equations solver, classic and robust<br />

control, l<strong>in</strong>ear matrix <strong>in</strong>equality optimization,<br />

differentiable and non-differentiable optimization,<br />

signal process<strong>in</strong>g, statistics.<br />

Scilab provides many graphics features, <strong>in</strong>clud<strong>in</strong>g<br />

a set <strong>of</strong> plott<strong>in</strong>g functions, which allow to create 2D<br />

and 3D plots as well as user <strong>in</strong>terfaces. The Xcos<br />

environment provides a hybrid dynamic systems<br />

modeler and simulator.<br />

4. How to get and <strong>in</strong>stall Scilab<br />

Whatever your plat<strong>for</strong>m is (i.e. W<strong>in</strong>dows, L<strong>in</strong>ux<br />

or Mac), Scilab b<strong>in</strong>aries can be downloaded directly<br />

from the Scilab homepage: http://www.scilab.org or<br />

from the Download area:<br />

http://www.scilab.org/download. Scilab b<strong>in</strong>aries are<br />

provided <strong>for</strong> both 32 and 64-bit plat<strong>for</strong>ms so that they<br />

match the target <strong>in</strong>stallation mach<strong>in</strong>e. Scilab can also<br />

be downloaded <strong>in</strong> source <strong>for</strong>m, so that you can<br />

compile Scilab by yourself and produce your own<br />

b<strong>in</strong>ary. Compil<strong>in</strong>g Scilab and generat<strong>in</strong>g a b<strong>in</strong>ary is<br />

especially <strong>in</strong>terest<strong>in</strong>g when we want to understand or<br />

debug an exist<strong>in</strong>g feature, or when we want to add a<br />

new feature. To compile Scilab, some prerequisites<br />

b<strong>in</strong>ary fles are necessary, which are also provided <strong>in</strong><br />

the download center. Moreover, a FORTRAN and a<br />

C compiler are required.<br />

4.1 Install<strong>in</strong>g Scilab under W<strong>in</strong>dows<br />

Scilab is distributed as a W<strong>in</strong>dows b<strong>in</strong>ary and an<br />

<strong>in</strong>staller is provided so that the <strong>in</strong>stallation is really<br />

easy. Several comments may be made about this<br />

<strong>in</strong>stallation process. On W<strong>in</strong>dows, if your mach<strong>in</strong>e is<br />

based on an Intel processor, the Intel Math Kernel<br />

Library (MKL) [6] enables Scilab to per<strong>for</strong>m faster<br />

numerical computations.<br />

4.2 Install<strong>in</strong>g Scilab under L<strong>in</strong>ux<br />

Under L<strong>in</strong>ux, the b<strong>in</strong>ary versions are available<br />

from Scilab website as .tar.gz files.<br />

There is no need <strong>for</strong> an <strong>in</strong>stallation <strong>program</strong> with<br />

Scilab under L<strong>in</strong>ux: simply unzip<br />

the file <strong>in</strong> one target directory. Once done, the b<strong>in</strong>ary<br />

file is located <strong>in</strong> /scilab- 5.x.x/b<strong>in</strong>/scilab.<br />

When this script is executed, the console immediately<br />

appears and looks exactly the same as on W<strong>in</strong>dows.<br />

Notice that Scilab is also distributed with the<br />

packag<strong>in</strong>g system available with L<strong>in</strong>ux distributions<br />

based on Debian (<strong>for</strong> example, Ubuntu). This<br />

<strong>in</strong>stallation method is extremely simple and efficient.<br />

Nevertheless, it has one little drawback: the version<br />

<strong>of</strong> Scilab <strong>package</strong>d <strong>for</strong> your L<strong>in</strong>ux distribution may<br />

not be up-to-date. This is because there is some delay<br />

(from several weeks to several months) between the<br />

availability <strong>of</strong> an up-to-date version <strong>of</strong> Scilab under<br />

L<strong>in</strong>ux and its release <strong>in</strong> L<strong>in</strong>ux distributions. For now,<br />

Scilab comes on L<strong>in</strong>ux with a b<strong>in</strong>ary l<strong>in</strong>ear algebra<br />

library which guarantees portability. Under L<strong>in</strong>ux,<br />

Scilab does not come with a b<strong>in</strong>ary version <strong>of</strong><br />

ATLAS [7], so that l<strong>in</strong>ear algebra is a little slower <strong>for</strong><br />

that plat<strong>for</strong>m, compared to W<strong>in</strong>dows.<br />

4.3 Install<strong>in</strong>g Scilab under Mac OS<br />

Under Mac OS, the b<strong>in</strong>ary versions are available<br />

from Scilab website as a .dmg file. This b<strong>in</strong>ary works<br />

<strong>for</strong> Mac OS versions start<strong>in</strong>g from version 10.5. It<br />

uses the Mac OS <strong>in</strong>staller, which provides a classical<br />

<strong>in</strong>stallation process. Scilab is not available on Power<br />

PC systems.<br />

Scilab version 5.2 <strong>for</strong> Mac OS comes with a Tcl /<br />

Tk library which is disabled <strong>for</strong> technical reasons. As<br />

a consequence, there are some small limitations on<br />

the use <strong>of</strong> Scilab on this plat<strong>for</strong>m. For example, the<br />

IJCTA | Jan-Feb 2013<br />

Available onl<strong>in</strong>e@www.ijcta.com<br />

69


N Gnanasankaran et al ,Int.J.Computer Technology & Applications,Vol 4 (1),68-71<br />

ISSN:2229-6093<br />

Scilab / Tcl <strong>in</strong>terface (TclSci), the graphic editor and<br />

the variable editor are not work<strong>in</strong>g. These features<br />

will be rewritten <strong>in</strong> Java <strong>in</strong> future versions <strong>of</strong> Scilab<br />

and these limitations will disappear.<br />

Still, us<strong>in</strong>g Scilab on a Mac OS system is easy, and<br />

uses the shortcuts which are familiar to the users <strong>of</strong><br />

this plat<strong>for</strong>m. For example, the console and the editor<br />

use the Cmd key (Apple key) which is found on Mac<br />

keyboards. Moreover, there is no right-click on this<br />

plat<strong>for</strong>m. Instead, Scilab is sensitive to the Control-<br />

Click keyboard event. For now, Scilab comes on Mac<br />

OS with a l<strong>in</strong>ear algebra library which is optimized<br />

and guarantees portability. Under Mac OS, Scilab<br />

does not come with a b<strong>in</strong>ary version <strong>of</strong> ATLAS [7],<br />

so that l<strong>in</strong>ear algebra is a little slower <strong>for</strong> that<br />

plat<strong>for</strong>m.<br />

5. Gett<strong>in</strong>g Started<br />

There are several ways <strong>of</strong> us<strong>in</strong>g Scilab and the<br />

general methods are the follow<strong>in</strong>g :<br />

1) us<strong>in</strong>g the console <strong>in</strong> the <strong>in</strong>teractive mode,<br />

2) us<strong>in</strong>g the exec function aga<strong>in</strong>st a file,<br />

3) us<strong>in</strong>g batch process<strong>in</strong>g.<br />

The details <strong>of</strong> these methods are not dealt with <strong>in</strong> this<br />

paper.<br />

6. Basic Elements <strong>of</strong> the Language<br />

Scilab is an <strong>in</strong>terpreted <strong>package</strong>, which means that<br />

it allows to manipulate variables <strong>in</strong> a very dynamic<br />

way. In this section, we present the basic features <strong>of</strong><br />

the <strong>package</strong>, that is, we show how to create a real<br />

variable, and what elementary <strong>mathematical</strong><br />

functions can be applied to a real variable. If Scilab<br />

provided only these features, it would only be a super<br />

desktop calculator. Fortunately, it is a lot more and<br />

this is the subject <strong>of</strong> the rema<strong>in</strong><strong>in</strong>g sections, where<br />

we will show how to manage other types <strong>of</strong> variables,<br />

that is booleans, complex numbers, <strong>in</strong>tegers and<br />

str<strong>in</strong>gs.<br />

It seems strange at first, but it is worth to state it<br />

right from the start: <strong>in</strong> Scilab, everyth<strong>in</strong>g is a matrix.<br />

To be more accurate, we should write: all real,<br />

complex, boolean, <strong>in</strong>teger, str<strong>in</strong>g and polynomial<br />

variables as matrices. Lists and other complex data<br />

structures are not matrices (but can conta<strong>in</strong> matrices).<br />

This is why we could beg<strong>in</strong> by present<strong>in</strong>g matrices.<br />

Still, we choose to present basic data types first,<br />

because Scilab matrices are <strong>in</strong> fact a special<br />

organization <strong>of</strong> these basic build<strong>in</strong>g blocks.<br />

In Scilab, we can manage real and complex<br />

numbers. This always leads to some confusion if the<br />

context is not clear enough. In the follow<strong>in</strong>g, when<br />

we write real variable, we will refer to a variable<br />

whose content is not complex. In most cases, real<br />

variables and complex variables behave <strong>in</strong> a very<br />

similar way, although some extra care must be taken<br />

when complex data is to be processed.<br />

7. Elementary Mathematical Functions<br />

A large number <strong>of</strong> elementary <strong>mathematical</strong><br />

functions are available. Most <strong>of</strong> these functions take<br />

one <strong>in</strong>put argument and return one output argument.<br />

These functions are vectorized <strong>in</strong> the sense that their<br />

<strong>in</strong>put and output arguments are matrices. This allows<br />

to compute data with higher per<strong>for</strong>mance, without<br />

any loop.<br />

7.1 Booleans<br />

Boolean variables can store true or false values.<br />

Several comparison operators are available <strong>in</strong> Scilab.<br />

These operators return boolean values and take as<br />

<strong>in</strong>put arguments all basic data types (i.e. real and<br />

complex numbers, <strong>in</strong>tegers and str<strong>in</strong>gs).<br />

7.2 Complex Numbers<br />

Scilab provides complex numbers, which are<br />

stored as pairs <strong>of</strong> float<strong>in</strong>g po<strong>in</strong>t numbers. The predef<strong>in</strong>ed<br />

variable %i represents the <strong>mathematical</strong><br />

imag<strong>in</strong>ary number i which satisfies I 2 = -1. All<br />

elementary functions, such as s<strong>in</strong> <strong>for</strong> example, are<br />

overloaded <strong>for</strong> complex numbers. This means that, if<br />

their <strong>in</strong>put argument is a complex number, the output<br />

is a complex number<br />

7.3 Function Libraries<br />

A function library is a collection <strong>of</strong> functions<br />

def<strong>in</strong>ed <strong>in</strong> the Scilab language and stored <strong>in</strong> a set <strong>of</strong><br />

files. When a set <strong>of</strong> functions is simple and does not<br />

conta<strong>in</strong> any help or any source code <strong>in</strong> a compiled<br />

language like C/C++ or FORTRAN, a library is a<br />

very efficient way to proceed. Instead, when we<br />

design a Scilab component with unit tests, help pages<br />

and demonstration scripts, we develop a module.<br />

Develop<strong>in</strong>g a module is both easy and efficient, but<br />

requires a more advanced knowledge <strong>of</strong> Scilab.<br />

Moreover, modules are based on function libraries, so<br />

that understand<strong>in</strong>g the <strong>for</strong>mer allows to master the<br />

latter. Modules will not be described <strong>in</strong> this<br />

document. Still, <strong>in</strong> many practical situations, function<br />

libraries allow to efficiently manage simple<br />

collections <strong>of</strong> functions.<br />

IJCTA | Jan-Feb 2013<br />

Available onl<strong>in</strong>e@www.ijcta.com<br />

70


N Gnanasankaran et al ,Int.J.Computer Technology & Applications,Vol 4 (1),68-71<br />

ISSN:2229-6093<br />

7.4 Plott<strong>in</strong>g<br />

Produc<strong>in</strong>g plots and graphics is a very common<br />

task <strong>for</strong> analys<strong>in</strong>g data and creat<strong>in</strong>g reports. Scilab<br />

<strong>of</strong>fers many ways to create and customize various<br />

types <strong>of</strong> plots and charts. Scilab can produce many<br />

types <strong>of</strong> 2D and 3D plots. It can create x-y plots with<br />

the plot function, contour plots with the contour<br />

function, 3D plots with the surf function, histograms<br />

with the histplot function and many other types <strong>of</strong><br />

plots.<br />

8. Computations Involved<br />

Suitable computer <strong>program</strong>s have been developed<br />

<strong>for</strong> the different types <strong>of</strong> <strong>mathematical</strong> calculations<br />

aris<strong>in</strong>g <strong>in</strong> the various branches <strong>of</strong> science. The<br />

modern s<strong>of</strong>tware <strong>package</strong>s <strong>in</strong>corporate all the above<br />

<strong>program</strong>s <strong>in</strong> a unique way and help the scientists to<br />

obta<strong>in</strong> the solutions <strong>for</strong> their problems. In general,<br />

no one knows the details <strong>of</strong> the <strong>program</strong>s used <strong>in</strong> the<br />

above <strong>package</strong>s and they rema<strong>in</strong> black boxes, but<br />

help the scientists! In the case <strong>of</strong> the <strong>package</strong>: Scilab,<br />

it is not completely a black box, as could be seen<br />

from the <strong>in</strong><strong>for</strong>mation given already about this<br />

<strong>package</strong>.<br />

11. References<br />

[1] M. Vidger and J. Dean “An Architectural Approach to<br />

Build<strong>in</strong>g Systems from COTS S<strong>of</strong>tware Components”<br />

Proceed<strong>in</strong>gs <strong>of</strong> the 1997 Center <strong>for</strong> Advanced Studies<br />

Conference (CASCON´97), Toronto, Ontario, Canada, 10-<br />

13 November 1997.<br />

[2] N. Gnanasankaran, S. Natarajan, K. Alagarsamy and K.<br />

Iyakutti, “Application <strong>of</strong> COTS <strong>components</strong> <strong>in</strong><br />

crystallographic s<strong>of</strong>twares”, Paper presented at the National<br />

Conference on In<strong>for</strong>mation & Communication Technology<br />

(NCICT-2011), New Horizon College <strong>of</strong> Eng<strong>in</strong>eer<strong>in</strong>g,<br />

Bangalore, India, 13 May, 2011.<br />

[3] N. Gnanasankaran, S.Natarajan, K. Alagarsamy and K.<br />

Iyakutti, “A case study <strong>of</strong> the application <strong>of</strong> COTS<br />

<strong>components</strong> <strong>in</strong> a molecular dynamics s<strong>of</strong>tware”, Paper<br />

presented at the Fourth International Conference on<br />

Electronics Computer Technology (ICECT 2012),<br />

Kanyakumari, India, 6-8 April, 2012.<br />

[4] The Scilab Consortium. Scilab. http://www.scilab.org.<br />

[5] Cecill and free s<strong>of</strong>tware. http://www.cecill.<strong>in</strong>fo.<br />

[6] Intel.Intel math kernel library.<br />

http://s<strong>of</strong>tware.<strong>in</strong>tel.com/en-us/<strong>in</strong>tel-mkl/.<br />

[7] Atlas - automatically tuned l<strong>in</strong>ear algebra s<strong>of</strong>tware.<br />

http://math-atlas.source<strong>for</strong>ge.net.<br />

9. Conclusion<br />

One could easily visualize the <strong>usage</strong> <strong>of</strong><br />

Commercial Off- The- Shelf (COTS) technology <strong>in</strong><br />

the above example. The modern <strong>package</strong>s are very<br />

versatile <strong>in</strong> their function<strong>in</strong>g and the quality is not<br />

compromised <strong>in</strong> utiliz<strong>in</strong>g the above s<strong>of</strong>tware<br />

<strong>package</strong>. Hence, the above could be considered as an<br />

example <strong>for</strong> the positive utilization <strong>of</strong> COTS<br />

<strong>components</strong>, <strong>in</strong> design<strong>in</strong>g a s<strong>of</strong>tware <strong>package</strong> <strong>for</strong> the<br />

<strong>usage</strong> <strong>of</strong> a group <strong>of</strong> scientists. The <strong>program</strong> <strong>package</strong><br />

discussed above is freely downloadable from<br />

websites and a non-commercial product. It is<br />

suggested that examples <strong>of</strong> these nature may be<br />

categorized as Scientific Off-The-Shelf (SOTS)<br />

<strong>components</strong>, a newly co<strong>in</strong>ed acronym.<br />

10. Acknowledgement<br />

One <strong>of</strong> the authors (NG) thanks the Management<br />

and the Pr<strong>in</strong>cipal <strong>of</strong> the K.L.N. College <strong>of</strong><br />

In<strong>for</strong>mation Technology, <strong>for</strong> the encouragements.<br />

IJCTA | Jan-Feb 2013<br />

Available onl<strong>in</strong>e@www.ijcta.com<br />

71

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

Saved successfully!

Ooh no, something went wrong!