Computers Are . . . Need for Software . . . Software Migration . . . How Migration Is . . . How to Speed Up Software Migration and Resulting Problem: . . . Modernization: Successful Strategies Our Main Idea Developed by Precisiating Expert Need for Expert . . . Knowledge Two-Rules Approach Practical Consequences Francisco Zapata 1 , Octavio Lerma 2 , Home Page Leobardo Valera 2 , and Vladik Kreinovich 1 , 2 Title Page 1 Department of Computer Science ◭◭ ◮◮ 2 Computational Science Program ◭ ◮ University of Texas at El Paso El Paso, TX 79968, USA Page 1 of 20 fazg74@gmail.com, lolerma@episd.org leobardovalera@gmail.com, vladik@utep.edu Go Back Full Screen Close Quit
Computers Are . . . Need for Software . . . 1. Computers Are Ubiquitous Software Migration . . . • In many aspects of our daily life, we rely on computer How Migration Is . . . systems: Resulting Problem: . . . Our Main Idea – computer systems record and maintain the student Need for Expert . . . grades, Two-Rules Approach – computer systems handle our salaries, Practical Consequences – computer systems record and maintain our medical Home Page records, Title Page – computer systems take care of records about the ◭◭ ◮◮ city streets, ◭ ◮ – computer systems regulate where the planes fly, etc. Page 2 of 20 • Most of these systems have been successfully used for years and decades. Go Back • Every user wants to have a computer system that, once Full Screen implemented, can effectively run for a long time. Close Quit
Computers Are . . . Need for Software . . . 2. Need for Software Migration/Modernization Software Migration . . . • Computer systems operate in a certain environment; How Migration Is . . . they are designed: Resulting Problem: . . . Our Main Idea – for a certain computer hardware – e.g., with sup- Need for Expert . . . port for words of certain length, Two-Rules Approach – for a certain operating system, programming lan- Practical Consequences guage, interface, etc. Home Page • Eventually, the computer hardware is replaced by a Title Page new one. ◭◭ ◮◮ • While all the efforts are made to make the new hard- ◭ ◮ ware compatible with the old code, there are limits. Page 3 of 20 • As a result, after some time, not all the features of the old system are supported. Go Back • In such situations, it is necessary to adjust the legacy Full Screen software so that it will work on a new system. Close Quit
Computers Are . . . Need for Software . . . 3. Software Migration and Modernization Is Dif- Software Migration . . . ficult How Migration Is . . . • At first glance, software migration and modernization Resulting Problem: . . . sounds like a reasonably simple task: Our Main Idea Need for Expert . . . – the main intellectual challenge of software design is Two-Rules Approach usually when we have to invent new techniques; Practical Consequences – in software migration and modernization, these Home Page techniques have already been invented. Title Page • Migration would be easy if every single operation from ◭◭ ◮◮ the legacy code was clearly explained and justified. ◭ ◮ • The actual software is far from this ideal. Page 4 of 20 • In search for efficiency, many “tricks” are added by programmers that take into account specific hardware. Go Back • When the hardware changes, these tricks can slow the Full Screen system down instead of making it run more efficiently. Close Quit
Computers Are . . . Need for Software . . . 4. How Migration Is Usually Done Software Migration . . . • When a user runs a legacy code on a new system, the How Migration Is . . . compiler produces thousands of error messages. Resulting Problem: . . . Our Main Idea • Usually, a software developer looks corrects these errors Need for Expert . . . one by one. Two-Rules Approach • This is a very slow and very expensive process: Practical Consequences – correcting each error can take hours, and Home Page – the resulting salary expenses can run to millions of Title Page dollars. ◭◭ ◮◮ • There exist tools that try to automate this process by ◭ ◮ speeding up the correction of each individual error. Page 5 of 20 • These tools speed up the required time by a factor of Go Back even ten. Full Screen • However, still thousands of errors have to be handled individually. Close Quit
Computers Are . . . Need for Software . . . 5. Resulting Problem: Need to Speed up Migra- Software Migration . . . tion and Modernization How Migration Is . . . • Migration and modernization of legacy software is a Resulting Problem: . . . ubiquitous problem. Our Main Idea Need for Expert . . . • It is thus desirable to come up with ways to speed up Two-Rules Approach this process. Practical Consequences • In this paper: Home Page – we propose such an idea, and Title Page – we show how expert knowledge can help in imple- ◭◭ ◮◮ menting this idea. ◭ ◮ Page 6 of 20 Go Back Full Screen Close Quit
Computers Are . . . Need for Software . . . 6. Our Main Idea Software Migration . . . • Modern compilers do not simply indicate an error, How Migration Is . . . Resulting Problem: . . . • They usually provide a reasonably understandable de- Our Main Idea scription of the type of an error; for example: Need for Expert . . . – it may be that a program is dividing by zero, Two-Rules Approach – it may be that an array index is out of bound. Practical Consequences • Some of these types of error appear in numerous places Home Page in the software. Title Page • Our experience shows that in many such places, these ◭◭ ◮◮ errors are caused by the same problem in the code. ◭ ◮ • So, instead of trying to “rack our brains” over each Page 7 of 20 individual error, a better idea is Go Back – to look at all the errors of the given type, and Full Screen – come up with a solution that would automatically eliminate the vast majority of these errors. Close Quit
Computers Are . . . Need for Software . . . 7. Need for Expert Knowledge Software Migration . . . • This idea saves time only if we have enough errors of How Migration Is . . . a given type. Resulting Problem: . . . Our Main Idea • We thus need to predict how many errors of different Need for Expert . . . type we will encounter. Two-Rules Approach • There are currently no well-justified software models Practical Consequences that can predict these numbers. Home Page • What we do have is many system developers who have Title Page an experience in migrating and modernizing software. ◭◭ ◮◮ • It is therefore desirable to utilize their experience. ◭ ◮ • Experts usually describe their experience by using im- Page 8 of 20 precise (“fuzzy”) words from natural language. Go Back • It is reasonable to use the known precisiation tech- Full Screen niques – fuzzy logic. Close Quit
Computers Are . . . Need for Software . . . 8. Expert Knowledge about Software Migration Software Migration . . . and Modernization and Its Precisiation How Migration Is . . . • A reasonable idea is to start with n 1 errors of the most Resulting Problem: . . . frequent type. Our Main Idea Need for Expert . . . • Then, we should concentrate on n 2 errors of the second Two-Rules Approach most frequent type, etc. Practical Consequences • So, we want to know the numbers n 1 , n 2 , . . . , for which Home Page n 1 ≥ n 2 ≥ . . . ≥ n k − 1 ≥ n k ≥ n k +1 ≥ . . . Title Page ◭◭ ◮◮ • We know that for every k , n k +1 is somewhat smaller than n k . ◭ ◮ • Similarly, n k +2 is more noticeably smaller than n k , etc. Page 9 of 20 • After formalizing and defuzzifying the n k < n k +1 rule, Go Back we get n k +1 = f ( n k ) . Full Screen • Which function f ( n ) should we choose? Close Quit
Computers Are . . . Need for Software . . . 9. Which Function f ( n ) Should We Choose? Software Migration . . . • A migrated software package usually consists of two How Migration Is . . . (or more) parts. Resulting Problem: . . . Our Main Idea • We can estimate n k +1 in two different ways: Need for Expert . . . – We can use n k = n (1) k + n (2) to predict k Two-Rules Approach n k +1 ≈ f ( n k ) = f ( n (1) k + n (2) Practical Consequences k ) . Home Page – Oe, we can use n (1) to predict n (1) k +1 , n (2) to predict k k Title Page n (2) k +1 , and add them: n k +1 ≈ f ( n (1) k ) + f ( n (2) k ) . ◭◭ ◮◮ • It is reasonable to require that these estimates coincide: ◭ ◮ f ( n (1) k + n (2) k ) = f ( n (1) k ) + f ( n (2) k ) . Page 10 of 20 • So, f ( a + b ) = f ( a ) + f ( b ) for all a and b , thus f ( a ) = Go Back f (1) + . . . + f (1) ( a times), and f ( a ) = f (1) · a . Full Screen • Thus, n k +1 = c · n k , i.e., n k +1 /n k = const. Close Quit
Recommend
More recommend