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 ...
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