Research Article Genetic Programming for Automating the Development of Data Management Algorithms in Information Technology Systems

Size: px
Start display at page:

Download "Research Article Genetic Programming for Automating the Development of Data Management Algorithms in Information Technology Systems"

Transcription

1 Advaces i Software Egieerig Volume 2012, Article ID , 14 pages doi: /2012/ Research Article Geetic Programmig for Automatig the Developmet of Data Maagemet Algorithms i Iformatio Techology Systems Gabriel A. Archajo ad Ferado J. Vo Zube Laboratory of Bioiformatics ad Bioispired Computig, School of Electrical ad Computer Egieerig, Uiversity of Campias (Uicamp), Campias, SP, Brazil Correspodece should be addressed to Gabriel A. Archajo, archajo@dca.fee.uicamp.br Received 11 December 2011; Revised 23 March 2012; Accepted 27 March 2012 Academic Editor: Phillip Laplate Copyright 2012 G. A. Archajo ad F. J. Vo Zube. This is a ope access article distributed uder the Creative Commos Attributio Licese, which permits urestricted use, distributio, ad reproductio i ay medium, provided the origial work is properly cited. Iformatio techology (IT) systems are preset i almost all fields of huma activity, with emphasis o processig, storage, ad hadlig of datasets. Automated methods to provide access to data stored i databases have bee proposed maily for tasks related to kowledge discovery ad data miig (KDD). However, for this purpose, the database is used oly to query data i order to fid relevat patters associated with the records. Processes modelled o IT systems should maipulate the records to modify the state of the system. Liear geetic programmig for databases (LGPDB) isatoolproposedhereforautomaticgeeratioofprograms that ca query, delete, isert, ad update records o databases. The obtaied results idicate that the LGPDB approach is able to geerate programs for effectively modellig processes of IT systems, opeig the possibility of automatig relevat stages of data maipulatio, ad thus allowig huma programmers to focus o more complex tasks. 1. Itroductio Iformatio techology (IT) systems have become the basis of process maagemet of today s successful eterprises. We ca fid this kid of system i virtually all fields of activities ad iside corporatios of ay size. The itesive adoptio of IT systems has promoted the emergece of a etire esemble of techologies ad services to supply a wide rage of demads. Similar to what happes i other areas of product developmet, methodologies, processes, ad tools have bee ehaced over the years i order to improve the developmet of software products, which are goig to promote icreasig productivity ad reduced costs. The first methodologies were ispired by priciples foud i other areas of product developmet, like maufacturig. However, the dyamic eviromet ivolved i software developmet is fosterig a cotiuous improvemet ad customizatio of methodologies to embrace ievitable ucertaities ad ecessary redefiitio of the product specificatio, resultig i a iterative ad evolutioary process [1]. The eed for more agile methodologies is promotig the developmet of ehaced tools ad techiques, more otably i the field of code ad desig reuse. Approaches to automate etire modules of the software developmet or to support decisio o software egieerig have bee explored. However, the automated geeratio of computer algorithms still remais restricted to the scietific field. Kowledge discovery ad data miig (KDD) applicatios are associated with may differet approaches to extract relevat patters from datasets, icludig solutios based o programs geerated automatically. However, sice the most commo represetatio of data i the academic field is the liear dataset, due to its simplicity, the majority of works have bee focusig o this represetatio. Usig this type of data orgaizatio, geetic programmig was employed to a wide rage of applicatios, for istace, fiacial market aalysis [2], cacer molecular classificatio [3], ad bakruptcy predictio [4]. Nevertheless, large databases ormally used o IT systems do ot store records liearly. A more sophisticated framework is ecessary to orgaize records i advaced structural cofiguratios, as foud o relatioal or object-orieted databases. Freitas [5] has proposed a framework for applyig GP for classificatio ad rule iductio usig relatioal databases. Ryu ad Eick

2 2 Advaces i Software Egieerig [6] have used MASSON to iduce programs that show commoalities betwee objects stored i a object-orieted database, ad to derive queries with the purpose of extractig itetioal iformatio [7]. These works o KDD ad query geeratio use the database oly to orgaize ad retrieve iformatio, so that the programs do ot modify the records. This limitatio is ot a problem sice the objective is to fid patters i static data. O the other had, aimig at modellig processes of IT systems, the capability to modify records is madatory for the geerated programs, sice most processes are iheretly coceived to chage the state of a set of etities i the system. I the case of a library maagemet system, for istace, the process of borrowig a book chage the state of the system, associatig a user ad a book with a loa. By the same reasoig, i the case of a fiacial IT system, a process devoted to moey trasferrig modifies the records related to the accouts ivolved. The modellig of these two examples arecosideredascasestudiesithiswork. To implemet these kids of processes, programs have to be able to fid the proper associatios amog iformatio stored i distict data structures (tables or objects) ad maipulate them i a correct maer. This work proposes liear geetic programmig for databases (LGPDB), a tool for automatic geeratio of programs that ca query, delete, isert, ad update records i relatioal databases, ad shows experimets that illustrate the feasibility of the proposed approach for automatig the developmet of data maagemet algorithms i IT systems. A prelimiary versio of LGPDB was preseted i Archajo ad Vo Zube [8]. The paper is orgaized as follows. Sectio2 presets a overview of the evolutio of software developmet, coverig three fields: methodologies, tools, ad searchbased software egieerig. liear geetic programmig for databases (LGPDB), a tool for automatic geeratio of data maagemet algorithms for IT systems, is described i Sectio 3. A experimet for geeratig computer programs to provide features for a simple library system is described i Sectio 4. Sectio 5 itroduces ew istructios ad a method for iducig more complex programs. The ifluece of records without cosistet relatioship o the evolutioary process is addressed i Sectio 6. Fially, i Sectio 7, cocludig remarks ad future prospects are outlied. 2. Evolutio of Software Developmet Just like the developmet of ay other product, may methodologies, tools, ad priciples for software developmet have bee created over the years, aimig at cost reductio, quality improvemet, ad icreasig productivity Methodologies. Whe a product is uder developmet, the sequece of steps from coceptio to the fial product should be carefully coceived, focusig o high levels of productivity ad quality, as log as low levels of cost ad risk. I the 1970s, the first methodology for software developmet was deoted the Waterfall model [9], which specifies a sequece of phases, from requiremets to operatios, to deliver a software product. Some mistakes i the first versio of the project requiremets is probably associated with misleadig decisio makig. I the earlier stages of a project, it is commo that eve customers or the product maagers do ot kow every specific detail of the project. Therefore, software prototypig was proposed to address this problem. Usig this methodology, a software prototype is developed to aswer ope questios i the requiremets that could oly be maaged by meas of some experimetatio. I this case, the cliet or ay other perso resposible for the software specificatio ca iteract with the prototype to check whether or ot the most ifluetial aspects of the project were properly addressed. This process ca be repeated, producig multiple prototypes, util startig the product egieerig. Followig the same idea of reducig risks ad icreasig iteractio with experts who have the fial assessmet of the project, Boehm [10] has proposed the spiral model. I that model, phases like risk aalysis, prototype developmet, ad requiremets are distributed over multiple cycles ad, at the ed of each oe, the result is validated by people resposible for outliig the project. Extedig these ideas, i the last decade, a ew software developmet paradigm has gaied attetio, the agile software developmet (ASD) [11], i which iterative ad evolutioary processes are the core idea. ASD breaks the project ito multiple small cycles with costat aalysis ad customer feedback to reduce ucertaities surroudig the developmet of the product, decreasig costs, improvig quality, ad deliverig products i the desired time rage Tools ad Techiques. Cotiuous software developmet ad improvemet, a core priciple embraced by moder ad more agile methodologies, require iitiatives to icrease productivity ad to miimize the impact caused by frequet revisios i the software product, prevalet durig the developmet phase. Although some tools preseted i this sectio were proposed before the last revolutio i the software developmet methodologies, they have gaied more importace i software projects after the adoptio of more agile methods. Cosiderig the high demad for IT systems, it is ievitable that multiple systems share similar features. Software egieers ad programmers ivolved i system developmet across differet project domais solve the same or similar problems durig the developmet. These scearios aturally promote the emergece of techiques to reuse software solutios. The most well-kow strategies iclude the idetificatio of high demaded features ad the creatio of a set of customizable software compoets, kow as frameworks [12]. Curretly, there are frameworks for almost everythig, from user autheticatio to optical character recogitio. Sice frameworks add sigificat value to software developmet products, their creatio is commercially exploited. Cosequetly, there are software compaies that focus solely o developig frameworks. Software algorithms are ot the oly elemet that ca be reused. Takig ito accout the importace of software architectural desig, it was proposed the cocept of desig patter [13] which is a catalogue of desigs matured ad

3 Advaces i Software Egieerig 3 validated i real-world applicatios, orgaized to be reused. Other otable strategy for software reuse has emerged with the success of the Iteret. Istead of providig features via frameworks that have to be tightly coupled to applicatios, the features are provided as web services [14]. The rise of hardware ad software services for broad itegratio of tools, features, ad purposes, available o the web, has created a ew computatioal cocept, kow as cloud computig [15]. Nowadays, i order to store ad maage iformatio about its processes, IT systems use a relatioal database which represets the iformatio i a scalar ad structured fashio. O the other had, this kid of system is usually developed usig object-orieted (OO) programmig laguages or similar programmig paradigms that maage iformatio i a oscalar fashio, usig composite variables like arrays ad lists, hash maps, records, ad objects. Therefore, both the database format ad the algorithm that load ad store iformatio from the database should obey some cosistecy rules, so that chages promoted i oe of them will be followed by correspodig chages i the other. Sice this requisite must be hadled by most IT systems, a techique called object-relatioal mappig (ORM) [16, 17] was proposed to miimize the amout of effort allocated to this task. I oe istace of these approaches, istead of promotig pairwise chages i format ad algorithm for each situatio, a XML file is used to store the mappig betwee objects ad database tables. A geeric purpose framework does the coversio usig that XML file. Thus, to chage the mappig, it is oly ecessary to chage the XML file. Other issue that impacts productivity ad costs i software developmet ivolves quality assurace processes. Methods to automate parts of the software test were proposed to improve testig procedures. Oe of the most-well kow techiques is the automated uit testig that uses assertios to test if a source uit (i.e., the smallest testable part of the software) is workig properly. For each uit, it is created a test case. A tool for this purpose, like JUit [18], is used to ru all tests ad geerate a report automatically. This testig strategy is receivig more ad more attetio, beig employed as the core cocept of a software developmet methodology called test-drive developmet [19] Search-Based Software Egieerig. I virtually all huma activities, there are problems i which the objective is to fid out the best decisio, give differet choices ad problem restrictios. This kid of situatio ca be modelled mathematically ad solved applyig mathematical optimizatio techiques, like classical optimizatio methods or metaheuristics. Search-based software egieerig (SBSE) is a research field that embodies optimizatio methods i software egieerig tasks [20]. For example, i the case of software effort estimatio, a dataset cotaiig attributes of fiished software projects (e.g., umber of trasactios ad etities, complexity, team experiece) ad the ecessary effort was used i [21] to provide estimatios for ew projects. Neural etworks, k-earest eighbor, ad geetic programmig were employed to map the relatioship betwee those attributes ad the ecessary effort. Moreover, SBSE has bee applied to may other problems i software egieerig, for istace, software testig [22], requiremets [23], automated maiteace [24], ad quality assurace [25]. The SBSE is a growig research field with a clear tedecy of beig icorporated ito the ext geeratio of real-world commercial software. 3. Liear Geetic Programmig for Databases (LGPDB) Sectio 2 has show the evolutio of software developmet, maily by meas of reusig solutios ad automatig processes. However, the task of trasformig ideas, architecture desigs, ad processes ito algorithms are predomiatly beig made by huma programmers. Thus, a automatic method to geerate this kid of algorithms is desired to improve the software developmet process ad also to alleviate the burde usually assiged to huma programmers. The field of automated geeratio of computer programs is ot ew. I 1975, Hollad [26] suggested the possibility of evolvig geetic algorithm represetatios more similar to computer programs. I 1985, Cramer [27] evolved programs by meas of geetic operators ad atural selectio. Fially, at the begiig of the 1990s, Koza [28] formalized the geetic programmig (GP) as a extesio of geetic algorithms desiged specifically for program evolutio. GP has bee used for geeratig computer programs devoted to a wide rage of applicatios, from robotics [29] to electrical circuit sythesis [30]. GP is a effective method to geerate computer programs automatically. However, eve with the extesive list of applicatios of GP, the usage of this approach o the IT eviromet is arrow ad practically devoted exclusively to SBSE ad KDD. It is importat to metio the existece of other approaches for the automatic geeratio of computer programs with some restrictios. I the case of automatic programmig [31], the objective is the geeratio of computer programs from a high level represetatio, specified by a huma egieer, which models the solutio. There are also may approaches for evolutioary programmig where oly the program parameters are optimized ad ot its structure. Fially, there are approaches that model solutios by combiig automatically selected ad parameterized algorithms [32]. However, i the case of this work, the capability of optimizig the parameters ad the program structure i the level of istructios, usig geetic programmig, seems more appropriate for providig a geeral purpose tool for data maipulatio. Aother relevat issue is the data represetatio sice most works do ot use a structured method. Geerally, the datasets are composed of a sequece of attribute vectors. Nevertheless, IT systems usually have to orgaize iformatio i more complex structures, ivolvig multiple etities or objects. IT systems geerally use a relatioal database to orgaize iformatio. I [5], it was proposed a method for query geeratio, usig a fixed query structure combied with a geetic program, to model relatioships preset i a relatioal database. However, i that work, the correct associatio amog tables is fixed ad it is iformed apriori. Thus, the geetic program does ot eed to model

4 4 Advaces i Software Egieerig the correct path associatig records stored i distict tables, as it will be implemeted i this work. Istead of usig a relatioal database, Ryu ad Eick [6, 7] have used a objectorieted database ad a domai kowledge base to geerate queries usig MASSON. The relatioship ad iteractios amog objects i the database are also defied apriori.the use of a object-orieted database is also a barrier sice it is ot a commo approach for IT system developmet. This work proposes a method to automate the developmet of algorithms capable of maipulatig records for iformatio techology systems. A commoly used architectural approach for this type of systems is the MVC (model-view-cotroller) [33] i which the applicatio is divided ito three layers. The model layer is resposible for data represetatio ad maagemet, for istace, creatig methods to store ad request iformatio from the database ad to covert database represetatios ito programmig laguage represetatios. The cotroller is resposible for modellig processes that maipulate data, sometimes called busiess logic. Fially, the view creates a iterface from user iteractio to the cotroller layer. Regardig this architectural approach, the LGPDB programs implemet the layers, cotroller, ad model. I order to iduce computer programs to maipulate etities stored i a database, LGPDB is composed of a simple relatioal database maagemet system (DBMS) ad a programmig iductio module based o liear geetic programmig (LGP). The LGPDB architecture is illustrated i Figure 1. The program iductio module (PIM) is the core of the system. It is resposible for evolvig the cadidate solutios. For each cadidate program i the populatio at the curret geeratio, it is executed fitess cases, scripts with the desired outcome for the target algorithm. The program executio eviromet is used by PIM to execute cadidate solutios, operatig o the database. PIM compares the outcome provided by the cadidate program with the outcome provided by the scripts i the fitess cases. Thus, it is possible to measure the quality of a cadidate solutio, a ecessary step i the evolutioary process. I the case of iducig programs that modify records, the solutios have to address three issues: (i) relate multiple tables o the database i order to associate the iput attributes with the target records, (ii) filter the target records usig the iput attributes, (iii) modify the target records usig the iput attributes. I the case of programs for queryig, oly the first two issues have to be addressed. The etire process, from modellig a system to geeratig computer programs automatically, is addressed i detail i the ext sectios Database Maagemet System. This module provides, for users ad programs, iterface to set up the database ad maage the records stored o it. I compariso with traditioal DBMS like PostgresSQL or MySQL, this module provides a smaller set of features. O the other had, it was developed exclusively for program iductio. Therefore, it combies some features for this purpose. (i) I-memory database: sice the iductio process may ivolve thousads of cadidate programs ruig Operate Use Program executio eviromet (iterpreter) Database Access Program iductio module (geetic programmig) Figure 1: LGPDB architecture. Execute Operate Fitess cases at each geeratio, each oe performig multiple operatios o the database, it is importat to make the operatios as simple as possible. I this case, features for recoverig from adverse situatios are uecessary sice the iductio process ca be repeated after such situatio. Most importatly, the database operates etirely o the RAM memory, reducig the access time for the records o the database [34]. (ii) Database compariso: whe evaluatig cadidate solutios, it is importat to kow if the correct records were maipulated ad the desired state of the database was achieved. Therefore, this module provides a feature for database compariso, returig the set of differet records betwee the outcome provided by the cadidate programs ad the outcome provided by the validatio scripts (fitess cases). (iii) Weakly typed: to reduce the amout of cocepts that cadidate programs have to capture from data to model a iformatio maipulatio process, the database fields ad program variables are weakly typed. Thus, umerical, categorical, ad textual data are stored i a geeric represetatio that ca be accessed ad modified by programs through a uique iterface. Aother importat feature provided by the DBMS is the cocept of trasactio, i which multiple operatios ca be executed atomically ad reversed if desired, or i the case of errors [35], usig the commad rollback(). This commad is extesively used i the iductio process to restore the state of the database. After the evaluatio of each cadidate solutio, the commad rollback() is executed, the all cadidate programs start operatig the database at the same state Software Iductio Eviromet. This module is devoted to geeratig computer algorithms automatically by employig a iductive learig approach with geetic programmig. Havig the database cofigured ad the desired features modelled, it is specified a set of iput variables ad the desired outcome for each feature. I the iductio process, programs compete with each other to solve the

5 Advaces i Software Egieerig 5 problem. Mappig the relatioship betwee the iput ad the outcome, geetic programs ca model processes for iformatio maagemet Program Represetatio. Computer program ca be iterpreted as a set of istructios that tell a computer how to perform a task. Istructios ca access ad operate upo iformatio stored i memories. Loops ad coditioal braches ca be created usig coditioal ad jump fuctios. These elemets, preset o low-level machie program represetatios like assembly, are also preset i some sese i the majority of other represetatios, from C laguage to the oes used i GP. I the case of LGPDB, the program represetatio was adapted for iformatio maagemet tasks. Therefore, the first otable differece is o the istructio set, defied exclusively to maipulate iformatio i a relatioal database, as listed below. (i) Select(Table tb, ResultSet rs). Select all records i tb ad put them i rs. Before this process, the result set is cleared, therefore, ay existet iformatio stored before is deleted. (ii) Filter(ResultSet rs, Attribute attr, Rule r, IputValue v). Filter the result set rs usig the rule r ad the iput value v for the attribute attr. (iii) Related(ResultSet rs1, ResultSet rs2). For each record i rs1, if there is o foreig key associatig it with a record i rs2, remove it. (iv) URelated(ResultSet rs1, ResultSet rs2). For each record i rs1, if there is a foreig key associatig it with a record i rs2, remove it. (v) Delete(Table tb, ResultSet rs). Delete all records i tb with the same id of the records i rs. By defiitio for our problem, every etity has a attribute id. (vi) CreateRelatio(Table tb, ResultSet rs1, ResultSet rs2). If there is a foreig key associatig records i rs2 with table tb, isert records i table tb associatig them with the records i rs2 ad store these records i rs1. (vii) SetRelatio(ResultSet rs1, ResultSet rs2). If there is a foreig key associatig records i rs2 with records i rs1, set the associatio i the records i rs1 usig the id s of the records i rs2, ad update the records i rs1 o the database. As ca be see, the LGPDB istructios do ot operate usig memory addresses or a geeric type of variable. The LGPDB uses a strogly typed geetic programmig represetatio [36] i which istructio parameters have a specific type ad all programs i the populatio have istructios well parameterized, cosequetly reducig the search space. Each type of parameter has a specific purpose. Table represets the database tables. ResultSet is a data structure for database record maagemet. Attribute is the possible attributes of a give ResultSet cosiderig its table. Rule is used to compare two variables, give a compariso criteria such as equal, ot equal, greater, ad less. IputValue is ay iformatio specified by the user. There are differetprogram structuresthatmight be used for GP programs such as tree, graph, ad liear array. The program structure affects executio order, use ad locality of memory, ad the applicatio of geetic operators [37]. I the case of LGPDB, istructios have may parameters ad the data maipulated by programs are i the database or i global variables. The liear structure represetatio [38] has bee chose because of the use of memory ad the similarity with imperative programmig laguages. Therefore, LGPDB programs ca be iterpreted by huma programmers easily. Coditios ad loops are implicitly available by meas of the istructio Filter. Depedig o the rule ad the iput value, it is determied whether a set of records should be kept or ot iside the data structure ResultSet. Every istructio that maipulates a ResultSet also implemets a loop to access each record iside that data structure. Compared with the program represetatio used by programmig laguages for geeral purpose, LGPDB represetatio is more restrictive. However, sice LGPDB programs are geerated automatically, the expressiveess of the laguage affects the size of the search space of solutios. I order to reach feasibility for the target problems, it was ecessary to create a represetatio with restrictios ad highly specific fuctios Evolutioary Process. As i ay type of geetic algorithm, cadidate solutios are evolved by meas of atural selectio. Cadidate solutios compete, i a iterative process, geeratio after geeratio, to solve a problem. At each geeratio, solutios more adapted to solve the problem, give a evaluatio criterio, are selected with more probability, to produce offsprig to the ext geeratio. Usig this strategy, programs evolve alog the geeratios util possibly reachig the desired solutio. The first step i this process is the geeratio of the iitial radom populatio, give the maximum iitial program size ad the iitial populatio size. The size of the program determies its complexity ad the computatioal cost of its executio. The maximum size of a program ca be icreased alog the geeratios, thus allowig more complex cadidate solutios to be proposed i advaced stages of the evolutioary process. After the iitializatio, the iterative process that selects ad creates a ew populatio of cadidate solutio begis. A selectio strategy is ecessary to implemet the cocept of survival of the fittest, so that idividuals with the better fitess have a higher probability of beig selected. LGPDB oly selects the best idividuals to geerate offsprig for the ext geeratio, kow as elitist strategy. The degree of adaptatio of a idividual for a give problem (fitess) is used to measure how far idividuals are from the best solutio. Sice LGPDB employs a supervised ad iductive learig strategy, the fitess of a idividual is estimated based upo a set of examples cotaiig iput variables ad the expected outcome, or simply fitess cases. I the iductio database, the fitess cases are executed ad the desired outcome is recorded. Cadidate programs operate the iductio database aimig at fidig the correct sequece of istructios that chages the state of

6 6 Advaces i Software Egieerig the database i order to arrive at the same state of the database obtaied with the fitess cases. Comparig the desired outcome, provided by the fitess cases, ad the outcome provided by each cadidate program, it is possible to determie how distat the cadidate program is from achievig the correct solutio. I LGPDB, the fitess fuctio F(p), for a give distace D(p)adaprogramp, returs 1 if the idividual has solved the problem completely or a positive value smaller tha 1 for partial solutios, as show i: F ( p ) = 1 1+D ( ). (1) p LGPDB programs ca maipulate records by meas of four basic database operatios: query, deletio, isertio, ad updatig. The desired outcome preseted by the fitess cases determies which type of operatios cadidate solutios ca perform ad the distace measure used by the fitess fuctio, sice distict distace measures are used depedig o the type of maipulatio. For queryig, it is provided a set of examples E cotaiig iput iformatio ad the expected result. I the evaluatio, it is cosidered the distace betwee the result provided by this set ad the result provided by the program, stored i the ResultSet rs0 by default. As show i (2), for queryig, the umber of false egatives FN betwee the expected result set ad the result set provided by a cadidate solutio is more pealized, usig a costat α>1, tha the umber of false positives FP. At the begiig, it is better to query all the data tha to query a subset possibly missig the desired iformatio. Thus, the solutio is improved by filterig the etire dataset alog the geeratios. This strategy is also used i [6, 7] ad has the objective of stimulatig the evolutio of filterig techiques: ( ) E D query p = (FN i α +FP i ). (2) i=0 Istructio Delete() deletes records passed i a ResultSet as a parameter, therefore, the problem of iductig a program to delete records ca be see as a queryig problem. If the desired records to be deleted are i the parameter ResultSet, like the correct records i rs0 for queryig problems, the deletio operatio is performed correctly. However, by this reasoig, the distace estimatio must prioritize the false egatives. At the begiig, solutios ted to delete all records. The correct set of records to be deleted emerges addig filterig istructios throughout the evolutio of the programs. The distace estimatio for deletio is preseted, as follows: ( ) T D delete p = (FN i +FP i α). (3) i=0 Queryig ad deletio operatios maipulate etire records. All attributes of the target records are ecessarily ivolved i the operatio, hece, it is oly ecessary to check whether or ot a record is preseted i the result for compariso. I the case of isertio ad updatig, records are ot totally iserted or updated i a sigle operatio. I the case of isertio, for istace, oe istructio creates a iitial record (CreateRelatio) ad aother set the value of idividual attributes (SetRelatio), oe at a time. Therefore, i order to determie a distace for two database states with iserted or updated records, it is ecessary to compare them i the level of attributes. Before the iductio process, the database states are compared, the iserted or modified records are listed. Therefore, whe comparig the program outcome ad the desired oe, two elemets are cosidered: if the program has maipulated the correct records, i the case of updatig, ad the Hammig distace (HD) betwee the two results. The HD is calculated usig attributes of records to be compared. If all attributes are equal i the two records, the distace is zero, otherwise, it is give by the umber of differet attributes. The total distace betwee the two results is the sum of the HD betwee each compared pair of records. I the case of updatig, records listed to be altered have their HD multiplied by α, pealizig programs that have ot maipulated them. After selectig iterestig cadidate solutios, based o the evaluatio method, the ext step is the creatio of a ew populatio of solutios. For this purpose, covetioal geetic operators for mutatio ad crossover are applied. Give a idividual, the reproductio operator geerates x ew idividuals with the same geome. I the case of this work, it geerates ew programs with the same istructios ad parameters. The, give a probability for each operator, crossover ad mutatio take place to promote variatio i the idividuals. The crossover operatio is used to combie blocks or sectios of good solutios to geerate ew oes. LGPDB uses liear crossover i which, give two idividuals, a segmet is radomly selected i each idividual ad the exchaged. Mutatio simply promotes a small variatio i a idividual. I the case of LGPDB, oe of the followig mutatio operatios is selected give a probability: (1) chage istructio type, (2) chage istructio parameter, (3) add a istructio i a radom positio, (4) chage the istructio positio, ad (5) remove a istructio from a radom positio. The steps above are combied to form the evolutioary process, show i the flowchart preseted i Figure 2. I the first step, a copy of the origial database is created to be used i the iductio process. The, the iitial radom populatio is geerated. I the ext step, the iterative process is started ad each idividual is evaluated. Sice all idividuals start operatig the database i the same state, after the evaluatio of a idividual, a rollback() operatio is performed to recover the state of the database for the ext idividual. After the evaluatio of all idividuals, the selectio process takes place. If the problem has ot yet bee solved by ay idividual i the populatio at the curret geeratio or the maximum umber of geeratios has ot bee achieved, the geetic operators are employed to geerate a ew populatio of idividuals from the selected idividuals ad the process proceeds to the evaluatio step. This iterative process is repeated util the satisfactio of the stoppig criteria. Whe a cadidate program succeeds i solvig the problem, a fial step removes uecessary

7 Advaces i Software Egieerig 7 Create a copy of the origial database, used i the iductio process Create the iitial radom populatio Table 1: A subset of the database tables for a library system. The attributes i italic are primary or foreig keys. Table user author book paper periodical publisher tag message bookloa periodicalloa authorbookrel authorpaperrel tagrel messagerel Fields id, ame, , user, password id,ame id, publisher id, title, pages, isb id,title id, publisher id, year, volume, issue, isb id,ame id,value id, message id, book id, user id id, periodical id, user id author id, book id id, author id, paper id id, book id, paper id, tag id id, message i = 0 i++ No Evaluate idividual i Recover the last valid database state (rollback) i == pop size? Yes Geerate a ew populatio of idividuals reproducig ad variatig the selected idividuals Selectio Termiatio criteria satisfied? Yes Remove itros from the best solutio No Figure 2: Flowchart of the LGPDB evolutioary process. istructios, called itros. The presece of itros does ot affect the outcome of the program. However, it might cosume sigificat computatioal resources. Aimig at removig itros, it is verified whether or ot the executio of each istructio of a program affects the program outcome. Istructios that overwrites uused variables or maipulates variables ot associated with the program outcome should be discarded. Moreover, programs without itros are more parsimoious ad easier to be iterpreted by humas. The iterpretability is relevat i scearios i which huma programmers iteract with the tool to validate the automatically geerated programs or eve to adapt them so that they become capable of performig similar tasks. 4. Experimet with a Library System The iductio of features for a library system was the first applicatio of LGPDB [8]. It was used to validate the mai cocepts ad to idetify weak poits for improvemets. I this experimet, it was modelled a simple library maagemet system cotaiig the etities User, Author, Book, Periodical, Paper, Publisher, Tag, ad Message. The relatioship betwee these etities is ituitive, like user borrows books ad periodicals that have authors ad publishers. The etity-relatioship diagram (ERD) [39] showig etities, attributes, ad the relatioships is preseted i Figure 3. The ext step was to set up the relatioal database usig the previously preseted ERD to defie the tables, attributes, ad keys, as show i Table 1. The database is composed of 14 tables, oe for each etity ad others to map may-tomay relatioships amog etities, like book ad author, so that a book ca be associated with multiple authors ad vice versa. After the iitial setup, the database was populated with records, part of them is real data obtaied o the Iteret ad others are hypothetical, used to simulate iterestig relatioships. Moreover, a few records without cosistet relatioships such as a book without author or a periodical without paper were iserted to promote the exploratio of etity relatioships by cadidate solutios. Fially, havig defied ad cofigured the database, the ext step was the defiitio of which features have to be provided by the system, listed i Table 2. As metioed i Sectio 3.4, the LGPDB programs are evaluated uder a set of fitess cases cotaiig the iput attributes ad desired outcome for a give problem. Therefore, for each feature i Table 2, it is created a set of fitess cases. Table 3 shows a example of fitess case for the queryig task Q4. The iput is a tag previously iserted o the database, ad the outcome is a set of books associated with that tag. Table 4 shows a fitess case for the deletio task D3. The iput is the ame of a author ad the outcome is the deletio of books ad papers. Table 5 shows a example for the isertio task I1. The iput is the ame of a book ad a previously iserted message, ad the outcome is the isertio of the records. Fially, for the updatig task U1, Table 6 shows a example of fitess case. The iput is the ame of two publishers, the curret ad the ew oe. The outcome is the updatig of the correct records.

8 8 Advaces i Software Egieerig Id Name 1 Author Id 1 Paper Name Id Message Text Title 1 Id 1 Id Year Book 1 User 1 Periodical Title Borrow Borrow Year Isb Pages Id ame 1 Id Name Userame Publisher Password 1 Isb Volume Tag Id Value Figure 3: Etity-relatioship diagram (ERD) for a simple library maagemet system. Etities are draw as rectagles, relatioships as diamods, ad attributes as ovals. ID Descriptio Table 2: Features for the target system. Q1 List books writte by a author amed X. List users who borrowed books writte by a author amed Q2 X. List users who borrowed a periodical cotaiig a paper Q3 writtebyaauthoramedx. Q4 List books available for loa, havig the tag X. D1 Remove books published before the year X. D2 Remove loa of a book titled X by the user Y. D3 Remove books ad papers authored by a author amed X. Sed the message Y to every user who borrowed a book titled I1 X. I2 Add a ew tag Y for a book titled X. U1 Update book publisher from X to Y. Table 3: Example of a fitess case for the queryig task Q4. Feature Q4 Descriptio List books available for loa, havig the tag X. Iput Type Outcome Artificial Itelligece Queryig { 0, Artificial itelligece: a moder approach, 0, 1132, 2009, }, { 1, AI Programmig Paradigms, 1, 946, 1991, }, { 2, Machie Learig, 2, 432, 1997, }, { 3, Geetic Programmig, 3, 840, 1992, } For each task, multiple fitess cases are used. The database istructios used as outcome maipulate the correct records, but without ay associatio with the iput iformatio. The desired solutio has to fid the associatio Table 4: Example of a fitess case for the deletio task D3. Feature descriptio Iput Type Outcome D3 Remove books ad papers authored by a author amed X. Peter Norvig Deletio delete(book, 0) delete(book, 1) delete(paper, 142) Table 5: Example of a fitess case for the isertio task I1. Feature I1 Sed the message Y to every user who borrowed a Descriptio book titled X. Iput Machie Learig, A ew book is available with similar subject Type Isertio Outcome Isert(messageRel, 2, 7 ) Isert(messageRel, 3, 8 ) Isert(messageRel, 4, 9 ) Table 6: Example of a fitess case for the updatig task U1. Feature U1 Descriptio Update book publisher from X to Y. Iput Type Outcome Spriger, Spriger-Verlag Updatig Update(book, 13, publihser id, 10 ) Update(book, 14, publisher id, 10 ) Update(book, 15, publisher id, 10 ) betwee the iput data ad the records maipulated by the fitess cases, ad the correct maipulatios.

9 Advaces i Software Egieerig 9 Table 7: Programs iduced to provide the selected features for a library system. ID Program Ge avg Ge std Ge media NC Q1 select(author,rs3) select(authorbookrel,rs2) filter(ame,equals,x,rs3) related(rs2,rs3) select(book,rs1) related(rs1,rs2) Q2 select(author,rs2) filter(ame,equals,x,rs2) select(authorbookrel,rs1) related(rs1,rs2) select(book,rs3) select(bookloa,rs2) related(rs3,rs1) related(rs2,rs3) select(user,rs1) related(rs1,rs2) Q3 select(author,rs3) select(paper,rs1) filter(ame,equals,x,rs3) select(authorpaperrel,rs2) related(rs2,rs3) related(rs1,rs2) select(periodicalloa,rs2) select(periodical,rs3) related(rs3,rs1) related(rs2,rs3) select(user,rs1) related(rs1,rs2) Q4 select(tag,rs4) filter(value,equals,x,rs4) select(book,rs1) select(tagrel,rs2) related(rs2,rs4) related(rs1,rs2) select(bookloa,rs3) urelated(rs1,rs3) D1 select(book,rs2) filter(date,less,x,rs2) delete(book,rs2) D2 select(bookloa,rs2) select(book,rs3) filter(title,equals,x,rs3) related(rs2,rs3) select(user,rs3) filter(ame,equals,y,rs3) related(rs2,rs3) delete(bookloa,rs2) D3 select(paper,rs3) select(author,rs4) filter(ame,equals,x,rs4) select(authorbookrel,rs1) select(book,rs2) relate(rs1,rs4) relate(rs2,rs1) select(authorpapelrel,rs4) select(author,rs1) delete(book,rs2) filter(ame,equals,x,rs1) relate(rs4,rs1) relate(rs3,rs4) delete(paper,rs3) I1 select(book,rs2) filter(title,equals,x,rs2) select(bookloa,rs3) related(rs3,rs2) select(user,rs2) related(rs2,rs3) select(message,rs1) createrelatio(messagerel,rs3,rs2) filter(text,equals,y,rs1) setrelatio(rs3,rs1) I2 select(tag,rs2) filter(value,equals,y,rs2) createrelatio(tagrel,rs3,rs2) select(book,rs4) filter(ame,equals,x,rs4) setrelatio(rs3,rs4) U1 select(publisher,rs2) filter(ame,equals,x,rs2) select(book,rs4) select(publisher,rs3) filter(ame,equals,y,rs3) related(rs4,rs3) setrelatio(rs4,rs2) Before the iductio process, the followig parameters have to be defied: umber of available ResultSets rs for maipulatio, populatio size pop size,maximumumberof istructios i a program max size, probability of crossover pcros, ad probability of mutatio pmut. Usig the features Q1, I1, D1, ad U1, empirical trials were performed lookig for the cofiguratio with the faster covergece to the correct solutio, give by rs = 4, pop size = 1000, max size = 20,pcros = 0.3, ad pmut = 0.9. I fact, the covergece was ot affected sigificatly by the crossover operator. A lower probability has bee chose i order to improve performace. Fially, idividual programs were iduced to provide the features listed o Table 2. I Table 7, for each feature, it is show oe of the obtaied iduced programs ad the average (Ge avg ), stadard deviatio (Ge std ), media (Ge media ) umber of geeratios, ad the umber of attempts without covergece (NC) to the correct solutio i 20 executios withi the maximum of 2000 geeratios. The results idicate that LGPDB ca iduce very iterpretable programs to query, delete, isert, ad update records i relatioal databases. The iductio of a program to perform the task D3 idicates that LGPDB ca iduce programs that alter multiple tables. Regardig the colum o covergece (NC), oly three tasks (D2, D3, I1), the evolutioary process has ot obtaied the correct solutio i all 20 executios. I 6 cases for the D2 task, 3 cases for the D3 task, ad 1 case for the I1 task, the populatio coverged to a local optimal cadidate solutio, ad the geetic operators were ot capable of coductig the populatio to more promisig regios i the search space, eve icreasig the maximum umber of geeratios of the evolutioary process. Nevertheless, for practical applicatios, multiple executios, characterized by a distict set of radomly iitialized idividuals at the first geeratio, ca be made util the covergece to the correct solutio is reached. I the case of the applicatios tackled i this work, it is importat to ote that partial solutios are ot acceptable. Therefore, programs have to reach the correct solutio to be useful. Usually, processes devoted to maage iformatio o IT systems have to achieve all goals, otherwise, they will accumulate errors ot tolerated i this kid of applicatio. O the other had, the results highlight some limitatios of LGPDB. Although it is ot a objective of LGPDB to be a high-performace classifier, give its purpose, more powerful filterig rules are desired. The restrictio of ot geeratig sigle programs that ca alter iformatio i multiple ways, for istace, isertig ad deletig, has also to be addressed. The ext sectio describes iitial efforts to overcome these limitatios.

10 10 Advaces i Software Egieerig 5. Addig New Istructios ad Iducig More Complex Programs The previous experimet has show that LGPDB ca iduce programs to query, delete, isert ad update records i a relatioal database. However, this experimet has raised some shortcomigs of the first versio of LGPDB, such as its limitatio as a classifier ad the impossibility to geerate programs that operate multiple tables usig differet operatios. I order to overcome or at least alleviate these limitatios, some improvemets were made. The list below shows three ew istructios added to the LGPDB istructio set. The first two are used to combie filterig rules, usig the operators AND ad OR, iorderto model associatios ivolvig more iput values or attributes. The third istructio is used to set attributes i ResultSets usig iput values, passed as parameters. (i) addrule(operator op, Attribute attr, Rule r, Iput- Value v, RuleObject ro). Add rule r, associated with the attribute attr ad the iput value v, to RuleObject ro with the operator op. (ii) Filter 2(ResultSet rs, RuleObject ro). Filter the ResultSet rs usig the combiatio of rules i the RuleObject ro. (iii) setvalue(attribute attr, IputValue v, Operatio o, ResultSet rs). Set the value of the attribute attr, for the records i rs, usig the operatio o ad the iput value v. I fact, eve without these ew istructios, LGPDB ca combie filterig rules usig multiple Filter istructios, for istace, as show i the iductio of task D2. However, usig multiple dissociated Filter istructios, LGPDB caot model the OR operator. I order to demostrate the combiatio of filterig rules usig the OR operator, a ew feature for the library system is proposed List users who borrowed a book writte by the authors X or Y. Fitess cases were created ad a program was iduced to model this feature, as show i what follows: select(author,rs3) addrule(,ame,equals,x,rule1) select(authorbookrel,rs2) addrule(or,ame,equals,y,rule1) filter 2(rs3,rule1) select(user,rs1) relate(rs2,rs3) select(book,rs3) relate(rs3,rs2) select(bookloa,rs4) relate(rs4,rs3) relate(rs1,rs4) Beside the additio of ew istructios, aother improvemet allows the iductio of more complex processes, ivolvig more tables ad differet operatios. If Table 8: A subset of the database tables for a fiacial system. The attributes i italic are primary or foreig keys. Table Cliet Accout Savig Trasactio Feature Fields id, ame, ss, address, phoe id, umber, brach, cliet id, balace id, umber, brach, cliet id, balace id,operatio,accout id,value,code Table 9: Example of a fitess case for the feature F1. F1 Iput 999-1, 111-1, 999-2, 111-2, 500 Outcome database.update(accout, 3002, balace, 1800 ); database.update(accout, 3001, balace, 1500 ); database.isert(trasactio, 4001, sed, 3002, 500, t01 ); database.isert(trasactio, 4001, recv, 3001, 500, t01 ); a process has multiple steps that are oly depedet o the iput values, these distict steps ca be tackled by distict programs, iduced separately. The fial solutio is the cocateatio of the programs. Followig the same procedures as i the experimet preseted i Sectio 4, a experimet is proposed here to iduce a program to update ad isert records i a hypothetical fiacial system. The first step was the creatio of the database with tables ad fields preseted i Table 8. After settig up the database, the ext step was the isertio of hypothetical records, part of them without cosistet associatios. I order to demostrate how LGPDB ca model a more complex process combiig programs, the followig task was chose Give the accouts A1 i the brach B1 ad A2 i the brach B2, trasfer the value V, from A1 to A2. For this task, multiple fitess cases similar to the oe preseted i Table 9 were created. As ca be see, the outcome of the feature ivolves four database operatios associated with the iput iformatio, two accout updates ad two trasactio isertios. The first update adds the value 500 to the balace of the accout 999-2, O the other had, the secod update removes 500 from the balace of the accout 999-1, Fially, the other two subprograms isert logs to the trasactio. This process is automatically divided ito four iductio process, oe for each step. The fial program that models the etire process is the cocateatio of four LGPDB subprograms, iduced separately, as show i Algorithm Ifluece of Records without Cosistet Relatioships Programs have to explore the relatioships amog differet etities i the database to filter records ad access ew discrimiat attributes. I order to list users who borrowed a book, for istace, it is ecessary to relate tables user ad bookloa, thus filterig ay user ot associated with a loa.

11 Advaces i Software Egieerig 11 //SubProg1 01: addrule(,umber,equals,b2,rule2) 02: select(brach,rs1) 03: filter 2(rs1,rule2) 04: Select(accout,rs2) 05: addrule(,umber,equals,a2,rule1) 06: filter 2(rs2,rule1) 07: relate(rs2,rs1) 08: setvalue(balace,v,+,rs2) //SubProg3 09: cleareviromet() 10: addrule(,umber,equals,b1,rule2) 11: addrule(,umber,equals,a1,rule1) 12: select(brach,rs4) 13: filter 2(rs4,rule2) 14: select(accout,rs3) 15: relate(rs3,rs4) 16: filter 2(rs3,rule1) 17: setvalue(balace,v,-,rs3) //SubProg2 18: cleareviromet() 19: addrule(,umber,equals,b1,rule1) 20: addrule(,umber,equals,a1,rule2) 21: select(accout,rs4) 22: select(brach,rs2) 23: filter 2(rs4,rule2) 24: filter 2(rs2,rule1) 25: relate(rs4,rs2) 26: createrelatio(trasactio,rs2,rs4) 27: setvalue(operatio,sed,=,rs2) 29: setvalue(value,v,=,rs2) 30: setvalue(id,trasid,=,rs2) 31: //SubProg4 32: cleareviromet() 33: addrule(,umber,equals,a2,rule1) 34: addrule(,umber,equals,b2,rule2) 35: select(brach,rs3) 36: select(accout,rs4) 37: filter 2(rs4,rule1) 38: filter 2(rs3,rule2) 39: relate(rs4,rs3) 40: createrelatio(trasactio,rs1,rs4) 41: setvalue(operatio,recv,=,rs1) 42: setvalue(id,trasid,=,rs1) 43: setvalue(value,v,=,rs1) Algorithm 1: Fial program that model the task F1. The four subprograms were iduced separately ad them cocateated. This type of dissociatio amog etities is fully acceptable cosiderig the system modellig. However, other types of dissociatio betwee etities are ot expected like a book without author or a periodical without papers. If the database does ot have dissociatio of etities like that, programs are ot rewarded to explorig these relatioships, sice relatig authors with books does ot filter ay record, supposig that all authors are related with a book. Isertig hypothetical registers without cosistet relatioships, like a periodical without paper, programs are rewarded to explore this relatioship, hece havig access to higher levels of relatioship ad more discrimiat attributes. If a program eeds to fid users who borrowed a periodical cotaiig a paper writte by a specific author, the program has to relate each etity, from user to author, before filterig the author with the ame passed as the iput, as show i Figure 5. It is importat to ote that these hypothetical registers are used oly i the iductio database. The solutios obtaied usig this techique works straightforwardly o databases without this kid of record sice real records are ot associated with hypothetical oes, as show i Figure 4. The odes are records i the database. The acroym of a ode is the table of the record, as follows: user (US), author (AU), book (BO), paper (PA), periodical (PE), tag (TA), message (ME), bookloa (BL), periodicalloa (PL), authorbookrel (AB), authorpaperrel (AP), tagrel (), ad messagerel (MR). The edges represet associatios amog records by meas of foreig keys. At the left are the real records ad at the right are the hypothetical oes. As ca be see, there is o lik betwee real records (gree) ad hypothetical records (red). 7. Coclusio ad Future Work This paper preseted liear geetic programmig for databases (LGPDB), a tool devoted to iduce programs capable of maipulatig records stored i a relatioal database. LGPDB combies a liear geetic programmig (LGP) iductio eviromet ad a simple database maagemet system (DBMS). Geerally, previous works o iductio of programs that maipulate databases have focused exclusively o the use of databases as a method to orgaize ad query iformatio, maily for kowledge discovery ad data miig (KDD). This limitatio is ot a problem whe the objective is to fid patters i static scearios. However, to model processes of iformatio techology (IT) systems, the capability of modifyig records is madatory for the geerated programs, sice most processes chage the state of the etities i the system. The experimets performed ad reported i this paper idicate that geetic programmig ca be used to geerate programs for record queryig, deletio, isertio, ad updatig. The software egieer ca select features for which he or she kows the exact outcome a program has to produce, give iput iformatio. For each feature of this type, evaluatio cases are created. Usig these cases ad a program iductio eviromet, LGPDB ca geerate programs to provide the target features. The proposed approach is a first step toward automatig relevat ad basic stages of IT system developmet, which may give the opportuity for huma programmers to cocetrate their efforts o more complex tasks. To pursue this goal, a method to itegrate or covert programs i the LGPDB format ito stadard techologies (programmig or database laguages) is desired ad will be addressed i a future work. This work provides a iitial effort o this issue ad additioal efforts are required. Sectio 5 has show some improvemets that have to be explored i more detail. The

12 12 Advaces i Software Egieerig MR MEME ME ME MR MR MR ME US US US US US US PL US US US PL AUAUAU AP AP AU AU APAP AU AP AU AU AU AU APAP AU APAP AU AU AU AU AP AP US US US US US US US PL PL PL PL AU AU AP BLBL BL BL BL BL BL BL BL PE PE PE PE PE BL BL BL BL PE PE PE BOBO BO BO BO BO BO BO BO BO BO BO BO BO BO PU PU PU PU PU PU PU PU PU PU AB AB AB PA PA AB PA AB AB AB AB PA PA PA PA BO BO BOBO PU PU PU PU PU PU AB AB AB PA PA TA TATATA TA TA TATA TA TA TA TA TA (a) (b) Figure 4: Associatio amog real ad hypothetical records. The odes represet records ad the edges the relatioships betwee them by meas of foreig keys. At the left are the real records ad at the right are the hypothetical oes. geeratio: 1, stadardized fitess: //select all users select(user,rs1) geeratio: 15, stadardized fitess: 90.0 //select all users associated with a periodical loa select(periodicalloa,rs2) select(user,rs1) related(rs1,rs2) geeratio: 62, stadardized fitess: 75.0 //select all users associated with a periodical loa discosider loa without a existet Periodical select(periodicalloa,rs2) select(periodical,rs3) related(rs2,rs3) select(user,rs1) related(rs1,rs2) geeratio: 148, stadardized fitess: 60.0 //select all users associated with a periodical loa discosider periodical without paper select(paper,rs1) select(periodicalloa,rs2) select(periodical,rs3) related(rs3,rs1) related(rs2,rs3) select(user,rs1) related(rs1,rs2) geeratio: 364, stadardized fitess: 45.0 //select all users associated with a periodical loa discosider paper without author select(paper,rs1) select(authorpaperrel,rs2) related(rs1,rs2) select(periodicalloa,rs2) select(periodical,rs3) related(rs3,rs1) related(rs2,rs3) select(user,rs1) related(rs1,rs2) geeratio: 401, stadardized fitess: 0.0 //select all users associated with a periodical loa that has a paper from author X select(author,rs3) select(paper,rs1) filter(ame,equals,x,rs3) select(authorpaperrel,rs2) related(rs2,rs3) related(rs1,rs2) select(periodicalloa,rs2) select(periodical,rs3) related(rs3,rs1) related(rs2,rs3) select(user,rs1) related(rs1,rs2) Figure 5: The impact i the evolutioary process caused by registers without cosistet relatioships iserted i the database.

13 Advaces i Software Egieerig 13 capability to break dow a process ito multiple simpler processes seems to be promisig i the sese of expadig the methodology to deal with iterrelated processes. I a future work, we will also cosider experimets to evaluate the scalability of LGPDB, for istace, attackig problems with more tables ad deeper associatios amog records i the database. I this cotext, local search operators may be required to improve the search capability of the evolutioary process. Ackowledgmet The authors would like to thak CAPES ad CNPq for the fiacial support. Refereces [1] C. Larma, Agile ad Iterative Developmet: A Maager s Guide, Addiso-Wesley Professioal, [2] G. Wilso ad W. Bazhaf, Fast ad effective predictability filters for stock price series usig liear geetic programmig, i Proceedigs of the IEEE Cogress o Evolutioary Computatio (CEC 10), pp. 1 8, Barceloa, Spai, July [3] J. Yu, J. Yu, A. A. Almal et al., Feature selectio ad molecular classificatio of cacer usig geetic programmig, Neoplasia, vol. 9, o. 4, pp , [4] T. Lesberg, A. Eilifse, ad T. E. McKee, Bakruptcy theory developmet ad classificatio via geetic programmig, Europea Joural of Operatioal Research, vol. 169, o. 2, pp , [5] A. A. Freitas, A geetic programmig framework for two data miig tasks: classificatio ad geeralized rule iductio, Geetic Programmig, pp , [6] T. W. Ryu ad C. F. Eick, MASSON: discoverig commoalities i collectio of objects usig geetic programmig, i Proceedigs of the 1st Aual Coferece o Geetic Programmig, pp , MIT Press, [7]T.W.RyuadC.F.Eick, Derivigqueriesfromexamples usig geetic programmig, i Proceedigs of the 2d Iteratioal Coferece o Kowledge Discovery ad Data Miig (KDD 96), pp , August [8] G. A. Archajo ad F. J. vo Zube, Iductio of liear geetic programs for relatioal database maipulatio, i Proceedigs of the IEEE Iteratioal Coferece o Iformatio Reuse ad Itegratio (IRI 11), pp , August [9] W. W. Royce, Maagig the developmet of large software systems, i Proceedigs of the IEEE WESCON, vol. 26, Los Ageles, Calif, USA, [10] B. W. Boehm, A spiral model of software developmet ad ehacemet, Computer, vol. 21, o. 5, pp , [11] A. Maifesto, Maifesto for agile software developmet, Retrieved November, 29: 2006, [12] M. E. Fayad, R. E. Johso, ad D. C. Schmidt, Buildig Applicatio Frameworks: Object-orieted Foudatios of Framework Desig, [13] E. Gamma, R. Helm, R. Johso, ad J. Vlissides, Desig Patters: Elemets of Reusable Object-orieted Software, Addiso- Wesley Logma, [14] M. Bichier ad K. J. Li, Service-orieted computig, Computer, vol. 39, o. 3, pp , [15] M. Armbrust, A. Fox, R. Griffith et al., Above the clouds: a berkeley view of cloud computig, Tech. Rep. UCB/EECS , EECS Departmet, Uiversity of Califoria, Berkeley, Calif, USA, [16] S. W. Ambler, Mappig Objects to Relatioal Databases: What You Need to Kow ad Why, IBM DeveloperWorks, [17] S. W. Ambler, Mappig Objects to Relatioal Databases: O/R Mappig i Detail, Ambysoft, [18] E. Gamma ad K. Beck, Juit, 2005, [19] K. Beck, Test Drive Developmet: By Example, Addiso- Wesley Professioal, [20] M. Harma ad B. F. Joes, Search-based software egieerig, Iformatio ad Software Techology, vol. 43, o. 14, pp , [21] C. J. Burgess ad M. Lefley, Ca geetic programmig improve software effort estimatio? a comparative evaluatio, Iformatio ad Software Techology, vol. 43, o. 14, pp , [22] E. B. Bode ad G. F. Martio, Testig software usig orderbased geetic algorithms, i Proceedigs of the 1st Aual Coferece o Geetic Programmig, pp , MIT Press, [23] A. J. Bagall, V. J. Rayward-Smith, ad I. M. Whittley, The ext release problem, Iformatio ad Software Techology, vol. 43, o. 14, pp , [24] M. Harma, R. Hieros, ad M. Proctor, A ew represetatio ad crossover operator for search-based optimizatio of software modularizatio, i Proceedigs of the Geetic ad Evolutioary Computatio Coferece (GECCO 02), pp , [25] T. M. Khoshgoftaar, Y. Liu, ad N. Seliya, A multiobjective module-order model for software quality ehacemet, IEEE Trasactios o Evolutioary Computatio, vol. 8, o. 6, pp , [26] J. H. Hollad, Adaptatio i Natural ad Artificial Systems: A Itroductory Aalysis with Applicatios to Biology, Cotrol, ad Artificial Itelligece, [27] N. L. Cramer, A represetatio for the adaptive geeratio of simple sequetial programs, i Proceedigs of the 1st Iteratioal Coferece o Geetic Algorithms, vol. 183, p. 187, [28] J. R. Koza, Geetic Programmig: O the Programmig of Computers by Meas of Natural Selectio, The MIT Press, [29] S. Luke, Geetic programmig produced competitive soccer softbot teams for robocup97, Geetic Programmig, pp , [30] J. R. Koza, F. H. Beett III, D. Adre, ad M. A. Keae, Automated WYWIWYG desig of both the topology ad compoet values of electrical circuits usig geetic programmig, i Proceedigs of the 1st Aual Coferece o Geetic Programmig, pp , MIT Press, [31] R. Balzer, A 15 year perspective o automatic programmig, IEEE Trasactios o Software Egieerig, vol. 11, o. 11, pp , [32] L. Xu, H. H. Hoos, ad K. Leyto-Brow, Hydra: automatically cofigurig algorithms for portfolio-based selectio, i Proceedigs of the 24th AAAI Coferece o Artificial Itelligece, [33] G. E. Kraser ad S. T. Pope, A cookbook for usig the model-view cotroller user iterface paradigm i smalltalk- 80, Joural of Object-Orieted Programmig, vol. 1, o. 3, pp , 1988.

14 14 Advaces i Software Egieerig [34] H. Garcia-Molia ad K. Salem, Mai memory database systems: a overview, IEEE Trasactios o Kowledge ad Data Egieerig, vol. 4, o. 6, pp , [35] A. Silberschatz, H. F. Korth, ad S. Sudarsha, Database System Cocepts, vol. 72, McGraw-Hill, New York, NY, USA, [36] D. J. Motaa, Strogly typed geetic programmig, Evolutioary Computatio, vol. 3, o. 2, pp , [37] W. Bazhaf, Geetic Programmig: A Itroductio o the Automatic Evolutio of Computer Programs ad Its Applicatios, Morga Kaufma, [38] M. Brameier ad W. Bazhaf, Liear Geetic Programmig, Spriger, New York, NY, USA, [39] P. P. S. Che, The etity-relatioship model toward a uified view of data, ACM Trasactios o Database Systems (TODS), vol. 1, o. 1, pp. 9 36, 1976.

15 Joural of Advaces i Idustrial Egieerig Multimedia The Scietific World Joural Applied Computatioal Itelligece ad Soft Computig Iteratioal Joural of Distributed Sesor Networks Advaces i Fuzzy Systems Modellig & Simulatio i Egieerig Submit your mauscripts at Joural of Computer Networks ad Commuicatios Advaces i Artificial Itelligece Iteratioal Joural of Biomedical Imagig Advaces i Artificial Neural Systems Iteratioal Joural of Computer Egieerig Computer Games Techology Advaces i Advaces i Software Egieerig Iteratioal Joural of Recofigurable Computig Robotics Computatioal Itelligece ad Neurosciece Advaces i Huma-Computer Iteractio Joural of Joural of Electrical ad Computer Egieerig

1 Enterprise Modeler

1 Enterprise Modeler 1 Eterprise Modeler Itroductio I BaaERP, a Busiess Cotrol Model ad a Eterprise Structure Model for multi-site cofiguratios are itroduced. Eterprise Structure Model Busiess Cotrol Models Busiess Fuctio

More information

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem

An Improved Shuffled Frog-Leaping Algorithm for Knapsack Problem A Improved Shuffled Frog-Leapig Algorithm for Kapsack Problem Zhoufag Li, Ya Zhou, ad Peg Cheg School of Iformatio Sciece ad Egieerig Hea Uiversity of Techology ZhegZhou, Chia lzhf1978@126.com Abstract.

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP

Introduction. Nature-Inspired Computing. Terminology. Problem Types. Constraint Satisfaction Problems - CSP. Free Optimization Problem - FOP Nature-Ispired Computig Hadlig Costraits Dr. Şima Uyar September 2006 Itroductio may practical problems are costraied ot all combiatios of variable values represet valid solutios feasible solutios ifeasible

More information

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs Dyamic Aalysis ad Desig Patter Detectio i Java Programs Outlie Lei Hu Kamra Sartipi {hul4, sartipi}@mcmasterca Departmet of Computig ad Software McMaster Uiversity Caada Motivatio Research Problem Defiitio

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Service Oriented Enterprise Architecture and Service Oriented Enterprise Approved for Public Release Distributio Ulimited Case Number: 09-2786 The 23 rd Ope Group Eterprise Practitioers Coferece Service Orieted Eterprise ad Service Orieted Eterprise Ya Zhao, PhD Pricipal, MITRE

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 1 Computers ad Programs 1 Objectives To uderstad the respective roles of hardware ad software i a computig system. To lear what computer scietists

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

ISSN (Print) Research Article. *Corresponding author Nengfa Hu

ISSN (Print) Research Article. *Corresponding author Nengfa Hu Scholars Joural of Egieerig ad Techology (SJET) Sch. J. Eg. Tech., 2016; 4(5):249-253 Scholars Academic ad Scietific Publisher (A Iteratioal Publisher for Academic ad Scietific Resources) www.saspublisher.com

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

Fuzzy Rule Selection by Data Mining Criteria and Genetic Algorithms

Fuzzy Rule Selection by Data Mining Criteria and Genetic Algorithms Fuzzy Rule Selectio by Data Miig Criteria ad Geetic Algorithms Hisao Ishibuchi Dept. of Idustrial Egieerig Osaka Prefecture Uiversity 1-1 Gakue-cho, Sakai, Osaka 599-8531, JAPAN E-mail: hisaoi@ie.osakafu-u.ac.jp

More information

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Bayesian approach to reliability modelling for a probability of failure on demand parameter Bayesia approach to reliability modellig for a probability of failure o demad parameter BÖRCSÖK J., SCHAEFER S. Departmet of Computer Architecture ad System Programmig Uiversity Kassel, Wilhelmshöher Allee

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

Data Warehousing. Paper

Data Warehousing. Paper Data Warehousig Paper 28-25 Implemetig a fiacial balace scorecard o top of SAP R/3, usig CFO Visio as iterface. Ida Carapelle & Sophie De Baets, SOLID Parters, Brussels, Belgium (EUROPE) ABSTRACT Fiacial

More information

Data diverse software fault tolerance techniques

Data diverse software fault tolerance techniques Data diverse software fault tolerace techiques Complemets desig diversity by compesatig for desig diversity s s limitatios Ivolves obtaiig a related set of poits i the program data space, executig the

More information

Pattern Recognition Systems Lab 1 Least Mean Squares

Pattern Recognition Systems Lab 1 Least Mean Squares Patter Recogitio Systems Lab 1 Least Mea Squares 1. Objectives This laboratory work itroduces the OpeCV-based framework used throughout the course. I this assigmet a lie is fitted to a set of poits usig

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III GE2112 - FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III PROBLEM SOLVING AND OFFICE APPLICATION SOFTWARE Plaig the Computer Program Purpose Algorithm Flow Charts Pseudocode -Applicatio Software Packages-

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpeCourseWare http://ocw.mit.edu 6.854J / 18.415J Advaced Algorithms Fall 2008 For iformatio about citig these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advaced Algorithms

More information

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming

Lecture Notes 6 Introduction to algorithm analysis CSS 501 Data Structures and Object-Oriented Programming Lecture Notes 6 Itroductio to algorithm aalysis CSS 501 Data Structures ad Object-Orieted Programmig Readig for this lecture: Carrao, Chapter 10 To be covered i this lecture: Itroductio to algorithm aalysis

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis

Analysis Metrics. Intro to Algorithm Analysis. Slides. 12. Alg Analysis. 12. Alg Analysis Itro to Algorithm Aalysis Aalysis Metrics Slides. Table of Cotets. Aalysis Metrics 3. Exact Aalysis Rules 4. Simple Summatio 5. Summatio Formulas 6. Order of Magitude 7. Big-O otatio 8. Big-O Theorems

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence

9.1. Sequences and Series. Sequences. What you should learn. Why you should learn it. Definition of Sequence _9.qxd // : AM Page Chapter 9 Sequeces, Series, ad Probability 9. Sequeces ad Series What you should lear Use sequece otatio to write the terms of sequeces. Use factorial otatio. Use summatio otatio to

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Pytho Programmig: A Itroductio to Computer Sciece Chapter 6 Defiig Fuctios Pytho Programmig, 2/e 1 Objectives To uderstad why programmers divide programs up ito sets of cooperatig fuctios. To be able to

More information

How do we evaluate algorithms?

How do we evaluate algorithms? F2 Readig referece: chapter 2 + slides Algorithm complexity Big O ad big Ω To calculate ruig time Aalysis of recursive Algorithms Next time: Litterature: slides mostly The first Algorithm desig methods:

More information

Speeding-up dynamic programming in sequence alignment

Speeding-up dynamic programming in sequence alignment Departmet of Computer Sciece Aarhus Uiversity Demark Speedig-up dyamic programmig i sequece aligmet Master s Thesis Dug My Hoa - 443 December, Supervisor: Christia Nørgaard Storm Pederse Implemetatio code

More information

An Estimation of Distribution Algorithm for solving the Knapsack problem

An Estimation of Distribution Algorithm for solving the Knapsack problem Vol.4,No.5, 214 Published olie: May 25, 214 DOI: 1.7321/jscse.v4.5.1 A Estimatio of Distributio Algorithm for solvig the Kapsack problem 1 Ricardo Pérez, 2 S. Jös, 3 Arturo Herádez, 4 Carlos A. Ochoa *1,

More information

Octahedral Graph Scaling

Octahedral Graph Scaling Octahedral Graph Scalig Peter Russell Jauary 1, 2015 Abstract There is presetly o strog iterpretatio for the otio of -vertex graph scalig. This paper presets a ew defiitio for the term i the cotext of

More information

Improving Template Based Spike Detection

Improving Template Based Spike Detection Improvig Template Based Spike Detectio Kirk Smith, Member - IEEE Portlad State Uiversity petra@ee.pdx.edu Abstract Template matchig algorithms like SSE, Covolutio ad Maximum Likelihood are well kow for

More information

SOFTWARE usually does not work alone. It must have

SOFTWARE usually does not work alone. It must have Proceedigs of the 203 Federated Coferece o Computer Sciece ad Iformatio Systems pp. 343 348 A method for selectig eviromets for software compatibility testig Łukasz Pobereżik AGH Uiversity of Sciece ad

More information

Data Structures and Algorithms. Analysis of Algorithms

Data Structures and Algorithms. Analysis of Algorithms Data Structures ad Algorithms Aalysis of Algorithms Outlie Ruig time Pseudo-code Big-oh otatio Big-theta otatio Big-omega otatio Asymptotic algorithm aalysis Aalysis of Algorithms Iput Algorithm Output

More information

New HSL Distance Based Colour Clustering Algorithm

New HSL Distance Based Colour Clustering Algorithm The 4th Midwest Artificial Itelligece ad Cogitive Scieces Coferece (MAICS 03 pp 85-9 New Albay Idiaa USA April 3-4 03 New HSL Distace Based Colour Clusterig Algorithm Vasile Patrascu Departemet of Iformatics

More information

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

Optimization of Multiple Input Single Output Fuzzy Membership Functions Using Clonal Selection Algorithm

Optimization of Multiple Input Single Output Fuzzy Membership Functions Using Clonal Selection Algorithm Optimizatio of Multiple Iput Sigle Output Fuzzy Membership Fuctios Usig Cloal Selectio Algorithm AYŞE MERVE ACILAR, AHMET ARSLAN Computer Egieerig Departmet Selcuk Uiversity Selcuk Uiversity, Eg.-Arch.

More information

Heuristic Approaches for Solving the Multidimensional Knapsack Problem (MKP)

Heuristic Approaches for Solving the Multidimensional Knapsack Problem (MKP) Heuristic Approaches for Solvig the Multidimesioal Kapsack Problem (MKP) R. PARRA-HERNANDEZ N. DIMOPOULOS Departmet of Electrical ad Computer Eg. Uiversity of Victoria Victoria, B.C. CANADA Abstract: -

More information

Dynamic Programming and Curve Fitting Based Road Boundary Detection

Dynamic Programming and Curve Fitting Based Road Boundary Detection Dyamic Programmig ad Curve Fittig Based Road Boudary Detectio SHYAM PRASAD ADHIKARI, HYONGSUK KIM, Divisio of Electroics ad Iformatio Egieerig Chobuk Natioal Uiversity 664-4 Ga Deokji-Dog Jeoju-City Jeobuk

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance

Pseudocode ( 1.1) Analysis of Algorithms. Primitive Operations. Pseudocode Details. Running Time ( 1.1) Estimating performance Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Pseudocode ( 1.1) High-level descriptio of a algorithm More structured

More information

Evaluation of Different Fitness Functions for the Evolutionary Testing of an Autonomous Parking System

Evaluation of Different Fitness Functions for the Evolutionary Testing of an Autonomous Parking System Evaluatio of Differet Fitess Fuctios for the Evolutioary Testig of a Autoomous Parkig System Joachim Wegeer 1 ad Oliver Bühler 2 1 DaimlerChrysler AG, Research ad Techology, Alt-Moabit 96 a, D-10559 Berli,

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Web OS Switch Software

Web OS Switch Software Web OS Switch Software BBI Quick Guide Nortel Networks Part Number: 213164, Revisio A, July 2000 50 Great Oaks Boulevard Sa Jose, Califoria 95119 408-360-5500 Mai 408-360-5501 Fax www.orteletworks.com

More information

Variance as a Stopping Criterion for Genetic Algorithms with Elitist Model

Variance as a Stopping Criterion for Genetic Algorithms with Elitist Model Fudameta Iformaticae 120 (2012) 145 164 145 DOI 10.3233/FI-2012-754 IOS Press Variace as a Stoppig Criterio for Geetic Algorithms with Elitist Model Diabadhu Bhadari, C. A. Murthy, Sakar K. Pal Ceter for

More information

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process

Euclidean Distance Based Feature Selection for Fault Detection Prediction Model in Semiconductor Manufacturing Process Vol.133 (Iformatio Techology ad Computer Sciece 016), pp.85-89 http://dx.doi.org/10.1457/astl.016. Euclidea Distace Based Feature Selectio for Fault Detectio Predictio Model i Semicoductor Maufacturig

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

More information

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time. Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects. The

More information

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments

Running Time ( 3.1) Analysis of Algorithms. Experimental Studies. Limitations of Experiments Ruig Time ( 3.1) Aalysis of Algorithms Iput Algorithm Output A algorithm is a step- by- step procedure for solvig a problem i a fiite amout of time. Most algorithms trasform iput objects ito output objects.

More information

Analysis of Algorithms

Analysis of Algorithms Aalysis of Algorithms Iput Algorithm Output A algorithm is a step-by-step procedure for solvig a problem i a fiite amout of time. Ruig Time Most algorithms trasform iput objects ito output objects. The

More information

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk Chapter Objectives Lear how resiliecy strategies reduce risk Discover automatio strategies to reduce risk Chapter #16: Architecture ad Desig Resiliecy ad Automatio Strategies 2 Automatio/Scriptig Resiliet

More information

Security of Bluetooth: An overview of Bluetooth Security

Security of Bluetooth: An overview of Bluetooth Security Versio 2 Security of Bluetooth: A overview of Bluetooth Security Marjaaa Träskbäck Departmet of Electrical ad Commuicatios Egieerig mtraskba@cc.hut.fi 52655H ABSTRACT The purpose of this paper is to give

More information

MOTIF XF Extension Owner s Manual

MOTIF XF Extension Owner s Manual MOTIF XF Extesio Ower s Maual Table of Cotets About MOTIF XF Extesio...2 What Extesio ca do...2 Auto settig of Audio Driver... 2 Auto settigs of Remote Device... 2 Project templates with Iput/ Output Bus

More information

Pruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c

Pruning and Summarizing the Discovered Time Series Association Rules from Mechanical Sensor Data Qing YANG1,a,*, Shao-Yu WANG1,b, Ting-Ting ZHANG2,c Advaces i Egieerig Research (AER), volume 131 3rd Aual Iteratioal Coferece o Electroics, Electrical Egieerig ad Iformatio Sciece (EEEIS 2017) Pruig ad Summarizig the Discovered Time Series Associatio Rules

More information

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19

CIS 121 Data Structures and Algorithms with Java Spring Stacks, Queues, and Heaps Monday, February 18 / Tuesday, February 19 CIS Data Structures ad Algorithms with Java Sprig 09 Stacks, Queues, ad Heaps Moday, February 8 / Tuesday, February 9 Stacks ad Queues Recall the stack ad queue ADTs (abstract data types from lecture.

More information

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann Proceedigs of the 2000 Witer Simulatio Coferece J. A. Joies, R. R. Barto, K. Kag, ad P. A. Fishwick, eds. VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION Thomas Wiedema Techical

More information

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana

The Closest Line to a Data Set in the Plane. David Gurney Southeastern Louisiana University Hammond, Louisiana The Closest Lie to a Data Set i the Plae David Gurey Southeaster Louisiaa Uiversity Hammod, Louisiaa ABSTRACT This paper looks at three differet measures of distace betwee a lie ad a data set i the plae:

More information

Architectural styles for software systems The client-server style

Architectural styles for software systems The client-server style Architectural styles for software systems The cliet-server style Prof. Paolo Ciacarii Software Architecture CdL M Iformatica Uiversità di Bologa Ageda Cliet server style CS two tiers CS three tiers CS

More information

Human-Computer Interaction IS4300

Human-Computer Interaction IS4300 Huma-Computer Iteractio IS4300 1 I5 due ext class Your missio i this exercise is to implemet a very simple Java paitig applicatio. The app must support the followig fuctios: Draw curves, specified by a

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Automatic Test Data Generation using Genetic Algorithm using Sequence Diagram

Automatic Test Data Generation using Genetic Algorithm using Sequence Diagram Iteratioal Joural of Computer Systems (ISSN: 2394-1065), Volume 03 Issue 02, February, 2016 Available at http://www.ijcsolie.com/ Automatic Test Data Geeratio usig Geetic Algorithm usig Sequece Diagram

More information

arxiv: v2 [cs.ds] 24 Mar 2018

arxiv: v2 [cs.ds] 24 Mar 2018 Similar Elemets ad Metric Labelig o Complete Graphs arxiv:1803.08037v [cs.ds] 4 Mar 018 Pedro F. Felzeszwalb Brow Uiversity Providece, RI, USA pff@brow.edu March 8, 018 We cosider a problem that ivolves

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information

Ontology-based Decision Support System with Analytic Hierarchy Process for Tour Package Selection

Ontology-based Decision Support System with Analytic Hierarchy Process for Tour Package Selection 2017 Asia-Pacific Egieerig ad Techology Coferece (APETC 2017) ISBN: 978-1-60595-443-1 Otology-based Decisio Support System with Aalytic Hierarchy Process for Tour Pacage Selectio Tie-We Sug, Chia-Jug Lee,

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5 Morga Kaufma Publishers 26 February, 28 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Set-Associative Cache Architecture Performace Summary Whe CPU performace icreases:

More information

Chapter 3 MATHEMATICAL MODELING OF TOLERANCE ALLOCATION AND OVERVIEW OF EVOLUTIONARY ALGORITHMS

Chapter 3 MATHEMATICAL MODELING OF TOLERANCE ALLOCATION AND OVERVIEW OF EVOLUTIONARY ALGORITHMS 28 Chapter 3 MATHEMATICAL MODELING OF TOLERANCE ALLOCATION AND OVERVIEW OF EVOLUTIONARY ALGORITHMS Tolerace sythesis deals with the allocatio of tolerace values to various dimesios of idividual compoets

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

Big-O Analysis. Asymptotics

Big-O Analysis. Asymptotics Big-O Aalysis 1 Defiitio: Suppose that f() ad g() are oegative fuctios of. The we say that f() is O(g()) provided that there are costats C > 0 ad N > 0 such that for all > N, f() Cg(). Big-O expresses

More information

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis

Redundancy Allocation for Series Parallel Systems with Multiple Constraints and Sensitivity Analysis IOSR Joural of Egieerig Redudacy Allocatio for Series Parallel Systems with Multiple Costraits ad Sesitivity Aalysis S. V. Suresh Babu, D.Maheswar 2, G. Ragaath 3 Y.Viaya Kumar d G.Sakaraiah e (Mechaical

More information

Algorithms for Disk Covering Problems with the Most Points

Algorithms for Disk Covering Problems with the Most Points Algorithms for Disk Coverig Problems with the Most Poits Bi Xiao Departmet of Computig Hog Kog Polytechic Uiversity Hug Hom, Kowloo, Hog Kog csbxiao@comp.polyu.edu.hk Qigfeg Zhuge, Yi He, Zili Shao, Edwi

More information

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings Operatig Systems: Iterals ad Desig Priciples Chapter 4 Threads Nith Editio By William Stalligs Processes ad Threads Resource Owership Process icludes a virtual address space to hold the process image The

More information

Message Integrity and Hash Functions. TELE3119: Week4

Message Integrity and Hash Functions. TELE3119: Week4 Message Itegrity ad Hash Fuctios TELE3119: Week4 Outlie Message Itegrity Hash fuctios ad applicatios Hash Structure Popular Hash fuctios 4-2 Message Itegrity Goal: itegrity (ot secrecy) Allows commuicatig

More information

Customer Portal Quick Reference User Guide

Customer Portal Quick Reference User Guide Customer Portal Quick Referece User Guide Overview This user guide is iteded for FM Approvals customers usig the Approval Iformatio Maagemet (AIM) customer portal to track their active projects. AIM is

More information

BOOLEAN MATHEMATICS: GENERAL THEORY

BOOLEAN MATHEMATICS: GENERAL THEORY CHAPTER 3 BOOLEAN MATHEMATICS: GENERAL THEORY 3.1 ISOMORPHIC PROPERTIES The ame Boolea Arithmetic was chose because it was discovered that literal Boolea Algebra could have a isomorphic umerical aspect.

More information

Lecture 1: Introduction and Strassen s Algorithm

Lecture 1: Introduction and Strassen s Algorithm 5-750: Graduate Algorithms Jauary 7, 08 Lecture : Itroductio ad Strasse s Algorithm Lecturer: Gary Miller Scribe: Robert Parker Itroductio Machie models I this class, we will primarily use the Radom Access

More information

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8

BAAN IVc/BaanERP. Conversion Guide Oracle7 to Oracle8 BAAN IVc/BaaERP A publicatio of: Baa Developmet B.V. P.O.Box 143 3770 AC Bareveld The Netherlads Prited i the Netherlads Baa Developmet B.V. 1999. All rights reserved. The iformatio i this documet is subject

More information

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS

FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS FREQUENCY ESTIMATION OF INTERNET PACKET STREAMS WITH LIMITED SPACE: UPPER AND LOWER BOUNDS Prosejit Bose Evagelos Kraakis Pat Mori Yihui Tag School of Computer Sciece, Carleto Uiversity {jit,kraakis,mori,y

More information

A Parallel DFA Minimization Algorithm

A Parallel DFA Minimization Algorithm A Parallel DFA Miimizatio Algorithm Ambuj Tewari, Utkarsh Srivastava, ad P. Gupta Departmet of Computer Sciece & Egieerig Idia Istitute of Techology Kapur Kapur 208 016,INDIA pg@iitk.ac.i Abstract. I this

More information

SCI Reflective Memory

SCI Reflective Memory Embedded SCI Solutios SCI Reflective Memory (Experimetal) Atle Vesterkjær Dolphi Itercoect Solutios AS Olaf Helsets vei 6, N-0621 Oslo, Norway Phoe: (47) 23 16 71 42 Fax: (47) 23 16 71 80 Mail: atleve@dolphiics.o

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5. Morga Kaufma Publishers 26 February, 208 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Virtual Memory Review: The Memory Hierarchy Take advatage of the priciple

More information

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1 COSC 1P03 Ch 7 Recursio Itroductio to Data Structures 8.1 COSC 1P03 Recursio Recursio I Mathematics factorial Fiboacci umbers defie ifiite set with fiite defiitio I Computer Sciece sytax rules fiite defiitio,

More information

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve

Analysis of Server Resource Consumption of Meteorological Satellite Application System Based on Contour Curve Advaces i Computer, Sigals ad Systems (2018) 2: 19-25 Clausius Scietific Press, Caada Aalysis of Server Resource Cosumptio of Meteorological Satellite Applicatio System Based o Cotour Curve Xiagag Zhao

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 22 Database Recovery Techiques Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Recovery algorithms Recovery cocepts Write-ahead

More information

n Explore virtualization concepts n Become familiar with cloud concepts

n Explore virtualization concepts n Become familiar with cloud concepts Chapter Objectives Explore virtualizatio cocepts Become familiar with cloud cocepts Chapter #15: Architecture ad Desig 2 Hypervisor Virtualizatio ad cloud services are becomig commo eterprise tools to

More information

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013

Code Review Defects. Authors: Mika V. Mäntylä and Casper Lassenius Original version: 4 Sep, 2007 Made available online: 24 April, 2013 Code Review s Authors: Mika V. Mätylä ad Casper Lasseius Origial versio: 4 Sep, 2007 Made available olie: 24 April, 2013 This documet cotais further details of the code review defects preseted i [1]. of

More information

Descriptive Statistics Summary Lists

Descriptive Statistics Summary Lists Chapter 209 Descriptive Statistics Summary Lists Itroductio This procedure is used to summarize cotiuous data. Large volumes of such data may be easily summarized i statistical lists of meas, couts, stadard

More information

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, ickie@softlab.tua,gr

More information

Review: The ACID properties

Review: The ACID properties Recovery Review: The ACID properties A tomicity: All actios i the Xactio happe, or oe happe. C osistecy: If each Xactio is cosistet, ad the DB starts cosistet, it eds up cosistet. I solatio: Executio of

More information

Baan Finance Financial Statements

Baan Finance Financial Statements Baa Fiace Fiacial Statemets Module Procedure UP041A US Documetiformatio Documet Documet code : UP041A US Documet group : User Documetatio Documet title : Fiacial Statemets Applicatio/Package : Baa Fiace

More information

System and Software Architecture Description (SSAD)

System and Software Architecture Description (SSAD) System ad Software Architecture Descriptio (SSAD) Diabetes Health Platform Team #6 Jasmie Berry (Cliet) Veerav Naidu (Project Maager) Mukai Nog (Architect) Steve South (IV&V) Vijaya Prabhakara (Quality

More information

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager. CS2310 Fial Project Loghao Li Term Project Report Itroductio I this project, I worked o expadig exercise 4. What I focused o is makig the real gesture recogizig sesor ad desig proper gestures ad recogizig

More information