<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://mainframemigration.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Software Revolution Inc</title><link>http://mainframemigration.org/blogs/the_software_revolution_inc/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 (Build: 60803.893)</generator><item><title>&quot;Northrop Grumman / TSRI Performance Review&quot;</title><link>http://mainframemigration.org/blogs/the_software_revolution_inc/archive/2008/06/30/_2200_Northrop-Grumman-_2F00_-TSRI-Performance-Review_2200_.aspx</link><pubDate>Mon, 30 Jun 2008 20:09:00 GMT</pubDate><guid isPermaLink="false">f4c3e5da-e6c5-42b1-ad1c-f6005d509669:1459</guid><dc:creator>MikeJones</dc:creator><slash:comments>0</slash:comments><comments>http://mainframemigration.org/blogs/the_software_revolution_inc/comments/1459.aspx</comments><wfw:commentRss>http://mainframemigration.org/blogs/the_software_revolution_inc/commentrss.aspx?PostID=1459</wfw:commentRss><wfw:comment>http://mainframemigration.org/blogs/the_software_revolution_inc/rsscomments.aspx?PostID=1459</wfw:comment><description>&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;span style="font-size:14pt;"&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;img src="http://www.softwarerevolution.com/image/newbanner.jpg" border="0" alt="The Software Revolution, Inc." width="500" height="100" align="absMiddle" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;span style="font-size:14pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size:14pt;"&gt;&lt;font face="Times New Roman"&gt;EXPERIENC&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size:14pt;"&gt;&lt;font face="Times New Roman"&gt;E WITH TSRI &lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;span style="font-size:14pt;"&gt;&lt;font face="Times New Roman"&gt;REMIS PROGRAM &amp;ndash; MIGRATION INCREMENT 1&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoHeader" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Northrop Grumman IT used TSRI to convert 44 COBOL85 server programs running in a HP Himalaya environment interfacing with Nonstop SQL Database to Object Oriented C++ programs interfacing with an Oracle 9i Database for the REMIS project.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The screen presentation layer was re-engineered by Northrop Grumman IT in J2EE JAVA using WAS 4.0.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyTextIndent"&gt;&lt;span style="font-size:12pt;font-family:'Times New Roman';"&gt;Northrop Grumman IT provided TSRI unexpanded source code for all of the COBOL programs we were having them convert.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This included all called modules, and all copy code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We also provided all of the DDL for the existing database and an export file to load necessary data in all tables for testing purposes.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We also provided them with several Himalaya systems type manuals for the operating system, Nonstop SQL, TAL and TACL so they could understand the O/S specific components that our programs interfaced with.&lt;span&gt;&amp;nbsp; &lt;/span&gt;From this input TSRI applied part of their toolset to our code to count the lines of code they would be converting.&lt;span&gt;&amp;nbsp; &lt;/span&gt;They provided us with the following information on code count in the contract ROM:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;table cellspacing="0" cellpadding="0" style="margin-left:1in;border-collapse:collapse;border:medium none;"&gt;&lt;tr&gt;&lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0in;width:75.2pt;padding-top:0in;background-color:transparent;border:windowtext 0.75pt solid;"&gt;&lt;h1 style="margin:0in 0in 0pt;"&gt;&lt;strong&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Code Type&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/h1&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Code Count&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Assess. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Trans. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Re-Fact. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:75.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Cobol 85&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;152,082&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.75&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;1.00&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:75.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Embedded SQL&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;25,244&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;1.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;2.00&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:75.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Comments&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;80,461&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:75.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;DDL&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;11,315&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:75.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Total&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:74.2pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;269,102 &lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:76.5pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:1.25in;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;TSRI priced the contract as firm fixed price.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We did negotiate a final code count that would occur by some identified period of time.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This was necessary for us, as we knew by the time we went on contract and delivered the final version of code to be converted that some of our code would have changed due to ongoing maintenance tasks.&lt;span&gt;&amp;nbsp; &lt;/span&gt;TSRI had the right to adjust the part of the price dependent on the code count based from the final code count.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This applied for more code or less code in the final count.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The final code count results were as follows resulting in a lower fixed price:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="0" style="margin-left:0.25in;border-collapse:collapse;border:medium none;"&gt;&lt;tr&gt;&lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0in;width:70.55pt;padding-top:0in;background-color:transparent;border:windowtext 0.75pt solid;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Code Type&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Code Amount&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Assess. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Trans. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:windowtext 0.75pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Re-Fact. Price&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:70.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;COBOL 85&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;149,395&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.75&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;1.00&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:70.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Embed. SQL&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;24,861&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;1.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;2.00&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:70.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Comments&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;85,213&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.25&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:70.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;DDL&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;11,053&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;.50&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;N/A&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.75pt solid;width:70.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Total&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;270,522&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:88.55pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.75pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:87.7pt;padding-top:0in;border-bottom:windowtext 0.75pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyTextIndent2"&gt;&lt;font face="Times New Roman" size="3"&gt;TSRI took our code through 3 phases: Assessment, Transformation, and Refactoring.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We performed the system testing at the Transformation &amp;amp; Refactoring stages.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The output from Assessment is basically HTML documentation that depicts the code and DDL that was ingested in their tool.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;During Assessment, TSRI identifies what level of effort is required to create the system level functionality that is platform dependent and will need re-engineered on the new platform.&lt;span&gt;&amp;nbsp; &lt;/span&gt;We employed a C++ architect that worked on our team to direct architecture decisions that TSRI faced as far as preferred approaches for the components that needed re-engineered.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The Transformation phase created converted C++ code that was testable working in the windows environment using COTS client software to interpret our original screen presentation layer and interface with the C++ code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The Refactoring phase then identifies reusable components and also includes finalizing differences required for the code to run in the Unix environment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Northrop Grumman IT created the glue C++ layer that provided for the JAVA front end built by Northrop Grumman IT to interface with the C++ servers created by TSRI.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This was engineered by our C++ architect and became a very intricate part of the project.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Several times Northrop Grumman IT provided input for the preferred approach for TSRI to implement and TSRI was always willing to accommodate our requests.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;After Refactoring was completed, TSRI provided metrics for the before and after SLOC counts as follows:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&amp;ldquo;These line counts exclude all white space, comments, and curly braces on a line by&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;themselves (since we changed the pretty printing per your request to have&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;curly braces on their own lines).&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Before Refactoring:&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;header - 112,687 SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;source - 141,003 SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;total&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- 253,690 SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;After Refactoring:&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;header - 38,809&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;source - 117,149 SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;total&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;- 155,958 SLOC&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;As you can see the declaration code was reduced to 34% of its original size.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The total line count was reduced to 61% of its original size.&amp;rdquo;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;We were very satisfied with the work TSRI accomplished.&lt;span&gt;&amp;nbsp; &lt;/span&gt;They stayed very close to schedule and were willing to accommodate all requests that we had of them. Several instances occurred where small code changes were required due to problems uncovered when the COBOL code was converted.&lt;span&gt;&amp;nbsp; &lt;/span&gt;TSRI was always willing to implement these changes under our direction without raising issues.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;We were very pleased with the quality of work delivered by TSRI.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The number of defects found during our system testing after Transformation was 7 problem reports across the 44 converted programs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The number of defects found during our system test after Refactoring was 15 problem reports.&lt;span&gt;&amp;nbsp; &lt;/span&gt;TSRI provided a web based tool named Bugzilla for us to use to report defects to TSRI as they were found.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This tool was effective and helped REMIS to track the status of the fixes.&lt;span&gt;&amp;nbsp; &lt;/span&gt;TSRI was always expedient to fix the problems as they were reported.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyTextIndent2"&gt;&lt;font face="Times New Roman" size="3"&gt;TSRI was on contract with us from the end of May to the End of January to accomplish the code conversion.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Since they have finished the work we have modified several&lt;span&gt;&amp;nbsp; &lt;/span&gt;of the C++ programs for ongoing maintenance and found just a couple of issues that we were able to discuss with them and they provided proper fixes for us to implement.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Overall we have been very pleased with the TSRI effort on our project and would not hesitate to use them again if the chance arises.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;text-indent:0in;" class="MsoBodyTextIndent3"&gt;&lt;font face="Times New Roman" size="3"&gt;The following is a list of items provided by both teams to make the project successful:&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-indent:0.25in;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Northrop Grumman Provided the Following Items:&lt;/font&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;REMIS unexpanded source code and called modules.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Legacy System Documents for O/S, SQL, TACL&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Oracle Database DDL and export file of data to be loaded for testing.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;4.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Unit Test Plans to be executed by TSRI during Unit Test.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;5.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Matterhorn software &amp;ndash; COTS tool used to execute C++ servers with existing SCOBOL screen programs.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;6.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Oracle 9i License&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;7.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;C++ Coding Style Guide&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;8.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;POC &amp;ndash; Project Leader, and technical POC (with strong SQL skills)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;9.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Glue layer C++ code for interfacing Java with C++ servers. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&lt;strong&gt;&lt;u&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;TSRI Provided the Following Items:&lt;/font&gt;&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Access to a server to FTP Large Files.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Project Manager and Technical POC.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Weekly status reports as directed by NGIT. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;4.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;HTML Documentation after Assessment and Refactoring.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;5.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;SLOC Statistics after Refactoring.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;6.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Bugzilla Tracking tool for tracking and reporting defects.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;tab-stops:.5in;" class="MsoHeader"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The following items are recommended to assure a successful project when working with TSRI:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;tab-stops:.5in;" class="MsoHeader"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Document roles and responsibilities of both parties.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Assign a single POC for project management and technical issues on both parties.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Hold weekly status meetings to review status report.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;4.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Establish connectivity to TSRI server for transferring large files.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;5.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Provide Coding Style Guide for target code.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 36.75pt;text-indent:-18.75pt;tab-stops:list 36.75pt;" class="MsoHeader"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;6.)&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;If transforming to C++, eliminate type casting to multiple levels for embedded SQL code.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://mainframemigration.org/aggbug.aspx?PostID=1459" width="1" height="1"&gt;</description><category domain="http://mainframemigration.org/blogs/the_software_revolution_inc/archive/tags/Case+Studies/default.aspx">Case Studies</category></item><item><title>“Navigant/TSRI Team Expands Major Health Care Modernization Project”</title><link>http://mainframemigration.org/blogs/the_software_revolution_inc/archive/2008/06/19/_1C20_Navigant_2F00_TSRI-Team-Expands-Health-Care-Modernization-Project_1D20_.aspx</link><pubDate>Thu, 19 Jun 2008 19:12:00 GMT</pubDate><guid isPermaLink="false">f4c3e5da-e6c5-42b1-ad1c-f6005d509669:1449</guid><dc:creator>MikeJones</dc:creator><slash:comments>0</slash:comments><comments>http://mainframemigration.org/blogs/the_software_revolution_inc/comments/1449.aspx</comments><wfw:commentRss>http://mainframemigration.org/blogs/the_software_revolution_inc/commentrss.aspx?PostID=1449</wfw:commentRss><wfw:comment>http://mainframemigration.org/blogs/the_software_revolution_inc/rsscomments.aspx?PostID=1449</wfw:comment><description>&lt;p&gt;&lt;table cellspacing="8" cellpadding="8"&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin-left:0in;margin-right:0in;" class="MsoNormal" align="left"&gt;&lt;em&gt;&lt;strong&gt;&lt;font face="Tahoma" size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;em&gt;&lt;strong&gt;&lt;font face="Tahoma" size="3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src="http://www.softwarerevolution.com/image/newbanner.jpg" border="0" alt="The Software Revolution, Inc." width="500" height="100" align="absMiddle" /&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin-left:0in;margin-right:0in;" class="MsoNormal" align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/p&gt;&lt;table cellspacing="8" cellpadding="8"&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin-left:0in;margin-right:0in;" class="MsoNormal" align="left"&gt;&lt;em&gt;&lt;font face="Tahoma" size="3"&gt;&lt;strong&gt;Kirkland, WA. (June 18, 2008)&lt;/strong&gt; &lt;strong&gt;&amp;ndash;&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt;&lt;font face="Tahoma" size="3"&gt; &lt;strong&gt;The Health Care Service Corporation (HCSC) of Blue Cross/Blue Shield of Illinois has awarded a second &amp;lsquo;follow-on&amp;rsquo; contract to the team of Navigant Consulting and The Software Revolution, Inc. (TSRI) to modernize that organization&amp;rsquo;s Stop Loss System.&amp;nbsp; Under this contract, TSRI will be providing its full array of documentation, transformation, re-factoring and engineering support services to this next in a series of &lt;u&gt;PowerBuilder&lt;/u&gt; and &lt;u&gt;Magna X&lt;/u&gt; legacy systems needing modernization.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:0in;margin-right:0in;" class="subhead" align="left"&gt;&lt;span style="color:black;font-family:'Tahoma';"&gt;&lt;font face="Tahoma" size="3"&gt;Randy Doblar, TSRI&amp;rsquo;s Chief Operating Officer said, &amp;ldquo;The success of TSRI and its system integration partner (Navigant) on the first HCSC system modernization project has led to our team being awarded the next system that HCSC needs to have modernized.&lt;/font&gt;&lt;/span&gt;&lt;font face="Tahoma" size="3"&gt;&amp;nbsp; &lt;span style="color:black;font-family:'Tahoma';"&gt;The first contract afforded TSRI the opportunity to show the &lt;strong&gt;&lt;em&gt;JANUS&lt;/em&gt;&lt;sup&gt;TM&lt;/sup&gt;&lt;/strong&gt; toolset&amp;rsquo;s flexibility and adaptability as we addressed two new legacy languages simultaneously.&lt;/span&gt;&amp;nbsp; &lt;span style="color:black;font-family:'Times tahoma';"&gt;This &amp;lsquo;follow-on&amp;rsquo; effort is a direct result of that success.&lt;/span&gt;&amp;nbsp; &lt;span style="color:black;font-family:'Tahoma';"&gt;At the same time, we hope that the IT community now recognizes that TSRI has a fully automated capability to modernize legacy &lt;strong&gt;PowerBuilder&lt;/strong&gt; and &lt;strong&gt;Magna X&lt;/strong&gt; code when the need arises.&amp;rdquo;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Tahoma" size="2"&gt;&lt;/font&gt;&lt;table cellspacing="0" cellpadding="0" style="width:100%;text-align:left;"&gt;&lt;tr&gt;&lt;td style="vertical-align:top;"&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;For more information about TSRI, visit our web site or contact:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma" size="2"&gt;Randy Doblar&lt;br /&gt;Chief Operating&amp;nbsp;Officer&lt;br /&gt;(425) 284-2770&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;a target="_blank" href="mailto:salesteam@softwarerevolution.com"&gt;&lt;font face="Tahoma" size="2"&gt;salesteam@softwarerevolution.com&lt;/font&gt;&lt;/a&gt;&lt;font face="Tahoma" size="2"&gt;&lt;br /&gt;&lt;/font&gt;&lt;a href="http://www.softwarerevolution.com/" target="_top" title="the Software Revolution, Inc."&gt;&lt;font face="Tahoma" size="2"&gt;www.SoftwareRevolution.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;img src="http://mainframemigration.org/aggbug.aspx?PostID=1449" width="1" height="1"&gt;</description><category domain="http://mainframemigration.org/blogs/the_software_revolution_inc/archive/tags/In+The+News/default.aspx">In The News</category></item><item><title>TSRI - &quot;Legacy System Modularization Analysis &amp; Partitioning&quot;</title><link>http://mainframemigration.org/blogs/the_software_revolution_inc/archive/2008/06/04/TSRI-_2D00_-Legacy-System-Modularization-Analysis-_2600_-Partitioning.aspx</link><pubDate>Wed, 04 Jun 2008 20:24:00 GMT</pubDate><guid isPermaLink="false">f4c3e5da-e6c5-42b1-ad1c-f6005d509669:1441</guid><dc:creator>MikeJones</dc:creator><slash:comments>0</slash:comments><comments>http://mainframemigration.org/blogs/the_software_revolution_inc/comments/1441.aspx</comments><wfw:commentRss>http://mainframemigration.org/blogs/the_software_revolution_inc/commentrss.aspx?PostID=1441</wfw:commentRss><wfw:comment>http://mainframemigration.org/blogs/the_software_revolution_inc/rsscomments.aspx?PostID=1441</wfw:comment><description>&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&lt;strong&gt;&lt;span style="font-size:20pt;"&gt;&lt;font face="Times New Roman"&gt;Legacy System Modularization &lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:20pt;"&gt;Analysis &amp;amp; Partitioning&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size:18pt;"&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;The Software Revolution, Inc&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:center;" class="MsoBodyText" align="center"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Many large companies are facing the problem of their legacy systems becoming an inhibitor to their business growth and change.&lt;span&gt;&amp;nbsp; &lt;/span&gt;One way to avoid this problem is to simply get rid of the legacy system and replace it with a new system, which has been developed based on new requirements.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This option is rarely exercised in practice however, for many reasons, with the most significant reason being the low success rate and high cost associated with traditional manual replacement projects.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Automated modernization, which employs artificial intelligence-based program transformation technology, has been proven to be a lower risk and less expensive option than nearly any other approach.&lt;span&gt;&amp;nbsp; &lt;/span&gt;While there is growing preponderance of evidence that automated transformation is the most dependable, vastly faster and cheaper approach to legacy system modernization, many companies have adopted a more cautious approach to the modernization of their mission critical systems.&lt;span&gt;&amp;nbsp; &lt;/span&gt;A growing number of organizations undertake various kinds of structural improvements to their systems, such as modularization, before undertaking other approaches to modernization that are generally perceived as more radical. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Incremental Modernization&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Increasingly organizations approach legacy system modernization as a multi-phase incremental activity, with the objective of each phase to produce clearly defined, perceived and demonstrable benefits, that can be easily accomplished within the established schedule and budget constraints, while simultaneously being structured to be complementary to the objectives of each project in a series of interrelated projects.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Projects to improve the structure of the legacy system before more radical change is undertaken, such as replacing the language it is written in and the database it uses or the platform (J2EE or .NET) it runs in, are becoming more commonplace.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Key reasons for this approach are that smaller projects can be undertaken with less schedule, cost and technical risk; the expenditures better contained; and the benefits more carefully articulated and measured than larger projects.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Employing an automated approach to legacy system modernization however, allows the entire system to be addressed as a single project at low cost and technical risk, over a relatively short project schedule, while still maintaining very high Return-On-Investment (ROI).&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Legacy Modularization Definition&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoBodyText"&gt;&lt;em&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Modularization is a form of program restructuring that replaces higher-complexity programs with collections of lower-complexity modules.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Human factor studies have consistently shown that higher-complexity programs require greater cost to maintain than lower-complexity programs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Program restructurings, such as modularization, are generally undertaken only when an information system has grown to such complexity that its maintenance has become a major consumer of organizational resources.&lt;span&gt;&amp;nbsp; &lt;/span&gt;While the number of modules is greater than the original number of programs, the purpose of each module is simpler, its function and data implementation are less complex, and the purpose of each module is more precisely and better documented. Some additional code is introduced to implement the interfaces between modules and the module specific data definitions, but this potential increase in code quantity is more than offset by the reduction of the complexity of individual modules below a target complexity threshold that will greatly reduce the effort associated with analysis, code modification, debugging and testing during maintenance.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Organizations may undertake modularization as an alternative to, or in concert with, more radical forms of modernization such as &lt;em&gt;system rewrite&lt;/em&gt;, &lt;em&gt;COTS replacement&lt;/em&gt;, and &lt;em&gt;language transformation&lt;/em&gt; or other forms of program restructuring such as &lt;em&gt;functional-area-partitioning, data-centric modularization,&lt;/em&gt; &lt;em&gt;slice-based segmentation, &lt;/em&gt;and&lt;em&gt; business-rule extraction,&lt;/em&gt; which will be not be discussed in this paper.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Modularization may be undertaken as a relatively &amp;ldquo;safe&amp;rdquo; form of restructuring activity to prepare a major legacy system for subsequent modernization phases.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Modularization may be undertaken in conjunction with other forms of re-factoring.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Undertaken in concert with a project to capture domain knowledge from the existing programming staff in the form of human prepared module descriptions, modularization may accelerate the capture and improve the accuracy of business models and business process descriptions for the legacy system.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Legacy Re-factoring&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Organizations wishing to improve the structure of their legacy code may consider various other kinds of&lt;span&gt;&amp;nbsp; &lt;/span&gt;&amp;ldquo;safe&amp;rdquo; re-factoring operations.&lt;span&gt;&amp;nbsp; &lt;/span&gt;These will be described in greater detail in sections below.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;But to summarize, TSRI can provide automated services for legacy language re-factoring that include: Dead Code Removal, Dead Data Removal, Redundant Code Removal, Redundant Data Removal, Duplicate Code Consolidation, Duplicate Data Consolidation, Similar Code Consolidation, Similar Data Consolidation, Data Name Standardization, Program Name Standardization, Copy Book Name Standardization, Procedure Name Standardization.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman" size="3"&gt;These forms of legacy re-factoring can provide significant advantages to the organization employing them by reducing the complexity and improving the maintainability of the legacy software to which they are applied.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The main objective of this paper is to discuss modularization, so these services will be described only briefly within the context of this paper.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Automated Modularization vs. Manual Modularization&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman" size="3"&gt;When supported by automated tools, legacy system modularization has been shown to be a low risk, highly disciplined, and inexpensive restructuring activity with rapid return on investment through reduced maintenance costs and continued return on investment during subsequent legacy system modernized activities.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Without automation, modularization is a very time consuming, risk prone and difficult undertaking.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Manual modularization is a complex task with much hand checking needed to validate the results.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Typically it takes several person-months for a team of programmers to modularize a single 15,000 LOC unit of code with higher-complexity programs of 40,000 lines of code or more requiring as many as 10 months to a year for a team of skilled programmers to modularize by hand.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Modularization Business Case&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;The business case for modularization is typically based upon the anticipated reduction in maintenance costs, the ease of reuse of well-documented modules, and productivity gains during major upgrades.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Modularization may be undertaken to reduce the costs of in-house maintenance, to improve IT department productivity, and to avoid the risks and uncertainty associated with outsourcing of internal maintenance activities.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The benefits achieved by modularizing a legacy system are preserved even if the legacy system is later modernized into a new language, later mined for business rules, or integrated with 3&lt;sup&gt;rd&lt;/sup&gt; party COTS packages.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman" size="3"&gt;Modularization can be done independently of, or as a part of a broader set of modernization objectives.&lt;span&gt;&amp;nbsp; &lt;/span&gt;None of the structural improvements achieved by modularization are sacrificed, and the final product may ultimately be improved by first modularizing the legacy system, while keeping it in the legacy language, and then using in-house staff with domain expertise to augment machine-generated functional-level documentation with business process model descriptions for each of the resultant modules.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If undertaken before commencing other modernization activities, the knowledge captured during modularization can provide insight that may be used to guide subsequent modernization phases.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;While more modern languages unquestionably provide greater flexibility in their support for many other forms of program restructuring, &lt;em&gt;functionally-centric modularization, &lt;/em&gt;which is the&lt;em&gt; &lt;/em&gt;main focus of this paper, is well supported by most dialects of COBOL and can be undertaken for COBOL with a high level of confidence that its benefits and business case can be demonstrated.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Incorporation of Legacy Modularization into the Modernization Process&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Some TSRI customers may wish to prepare a major legacy system for subsequent modernization phases by first Modularizing and/or Re-factoring the legacy system before transforming it.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="layout-grid-mode:line;"&gt;A hybrid of our standard four-phase modernization process six-phase modernization process is shown below that incorporates Legacy Modularization and Legacy Re-factoring.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;table cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:medium none;"&gt;&lt;tr&gt;&lt;td style="padding-right:5.4pt;padding-left:5.4pt;padding-bottom:0in;width:221.4pt;padding-top:0in;background-color:transparent;border:windowtext 0.5pt solid;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Standard Modernization Process&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:windowtext 0.5pt solid;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Hybrid Modernization Process&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Assessment&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Assessment&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Legacy Modularization&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Legacy Re-factoring&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Transformation&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Transformation&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Re-factoring&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Re-factoring&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:windowtext 0.5pt solid;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Web-Enablement&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="border-right:windowtext 0.5pt solid;padding-right:5.4pt;border-top:#d4d0c8;padding-left:5.4pt;padding-bottom:0in;border-left:#d4d0c8;width:221.4pt;padding-top:0in;border-bottom:windowtext 0.5pt solid;background-color:transparent;"&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;span style="layout-grid-mode:line;"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Web-Enablement&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="layout-grid-mode:line;"&gt;This standard process may be modified to include &lt;/span&gt;modularization as show below.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-indent:0.5in;text-align:justify;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;Assessment:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;The Assessment process captures the legacy system software&amp;rsquo;s &amp;rdquo;As-Is&amp;rdquo; state, derives existing systems design, and identifies transformation baseline metrics to guide the subsequent transformation, re-factoring and web-enablement processes. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;strong&gt;Legacy Modularization:&lt;/strong&gt; is a relatively &amp;ldquo;safe&amp;rdquo; form of restructuring activity that&lt;em&gt; replaces higher-complexity programs with collections of lower-complexity modules&lt;/em&gt;, accelerate the capture and improve the accuracy of business models and business process descriptions for the legacy system.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-indent:0.5in;text-align:justify;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;Transformation:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;The Transformation process automatically rewrites legacy software to target language, couples target language to relational or object-oriented databases, transforms the customer&amp;rsquo;s data bases, and directs the application to new target platforms.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-indent:0.5in;text-align:justify;tab-stops:.5in;" class="MsoFooter"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;Re-factoring:&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt;Re-factoring or re-engineering the resulting target language is a two-step process to improve a system&amp;rsquo;s maintainability and potentially its performance.&lt;span&gt;&amp;nbsp; &lt;/span&gt;TSRI&amp;rsquo;s re-factoring steps are as follows: &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-indent:0.5in;text-align:justify;tab-stops:.5in;" class="MsoFooter"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;text-align:justify;tab-stops:list 1.0in;" class="MsoFooter"&gt;&lt;span style="font-size:12pt;font-family:Symbol;"&gt;&amp;middot;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;Automatic Re-factoring:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt; The identification and removal of dead and redundant code by TSRI to improve maintainability without changing the system&amp;rsquo;s functionality.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;text-align:justify;tab-stops:list 1.0in;" class="MsoFooter"&gt;&lt;span style="font-size:12pt;font-family:Symbol;"&gt;&amp;middot;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;&lt;span style="font-size:12pt;"&gt;Semi-Automatic Re-factoring:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size:12pt;"&gt; The identification of situations within the code where Domain Experts could opt to make engineering changes to improve system maintainability without impacting system functionality.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;text-align:justify;tab-stops:list 1.0in;" class="MsoFooter"&gt;&lt;span style="font-size:12pt;font-family:Symbol;"&gt;&amp;middot;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;&lt;font face="Times New Roman"&gt;Web-enablement: &lt;/font&gt;&lt;a target="_blank" name="_Toc491603608" title="_Toc491603608"&gt;&lt;/a&gt;&lt;a target="_blank" name="_Toc491603688" title="_Toc491603688"&gt;&lt;/a&gt;&lt;a target="_blank" name="_Toc491603768" title="_Toc491603768"&gt;&lt;/a&gt;&lt;a target="_blank" name="_Toc491603849" title="_Toc491603849"&gt;&lt;/a&gt;&lt;a target="_blank" name="_Toc491603930" title="_Toc491603930"&gt;&lt;/a&gt;&lt;span&gt;&lt;font face="Times New Roman"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;layout-grid-mode:line;"&gt;The&lt;/span&gt;&lt;span style="font-size:12pt;"&gt; Web-enablement process facilitates legacy system migration to a web environment by transforming the code into Java for the J2SE/J2EE and Microsoft C#/.NET web frameworks.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Automated Modularization Case Study&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Industrial case studies have shown automated modularization to produce very high level of ROI compared to more manual methods and with very high levels of automation, even full automation.&lt;span&gt;&amp;nbsp; &lt;/span&gt;A landmark paper, &amp;ldquo;Automating the Modularization of Large (COBOL) Programs: Application of an Enabling Technology For Reengineering&amp;rdquo;, presented at the 1&lt;sup&gt;st&lt;/sup&gt; Working Conference on Reverse Engineering, May 21-23, 1993&lt;/font&gt;&lt;a target="_blank" name="_ftnref1" href="http://mainframemigration.org/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=707&amp;amp;postid=1441#_ftn1" title="_ftnref1"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span&gt;&lt;font face="Times New Roman" size="3"&gt;[1]&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt; by the Software Revolution founder, Philip Newcomb, documented the efficacy of automated reengineering technology for same-language software modularization.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;This much cited industrial research paper, was later republished in a slightly different form in the CACM in 1994, and documented development and application of a research-prototype modularization tool that was applied to several monolithic COBOL programs ranging in size from 10,000 to 40,000 lines of code from the Boeing Payroll System, a 600,000 line mainframe COBOL application.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Developed in a little over 4-1/2 person months the research prototype achieved near identical results on semi-automated modularization tasks in 4 hours to the results achieved by a team of professional programmers in 10 months.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Direct comparison of machine and human performance on modularization tasks was possible because Boeing had kept detailed project performance data during the manual modularization of 18 large Boeing Payroll system programs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Human factors studies, which are not publicly available, documented the productivity improvements that were achieved by maintenance programmers using the COBOL programs following modularization.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;This industrial research provided compelling justification about the value of automated software transformation, and contributed to Boeing&amp;rsquo;s decision to invest more than $10 million in automated software analysis and transformation research over a 6 year period from 1994 through 1998.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h1 style="margin:0in 0in 0pt;"&gt;&lt;font face="Times New Roman" size="3"&gt;Current Status of Modularization&lt;/font&gt;&lt;/h1&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;At the time Boeing&amp;rsquo;s modularization pilot was conducted in 1991, Viasoft vended a mainframe suite of tools Renaisance&amp;trade; that included a modularization option.&lt;span&gt;&amp;nbsp; &lt;/span&gt;In some trials Renaisance&amp;trade; amplified the number of lines of code as much as 50-fold over the original.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Renaisance&amp;trade; was investigated by Boeing for the Payroll Pilot, but was deemed unsuitable because it created code-bloat.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Anderson Consulting&amp;rsquo;s Center for Strategic Technology Research laboratory (CSTaR) investigated techniques for &lt;em&gt;program segmentation&lt;/em&gt;, a generalized form of code extraction and repackaging as a part of its SRE/COBOL&amp;trade; workbench,&lt;span class="MsoFootnoteReference"&gt; &lt;a target="_blank" name="_ftnref2" href="http://mainframemigration.org/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=707&amp;amp;postid=1441#_ftn2" title="_ftnref2"&gt;&lt;span&gt;[2]&lt;/span&gt;&lt;/a&gt;&lt;/span&gt; but SRE/COBOL&amp;trade; was never commercialized.&lt;span&gt;&amp;nbsp; &lt;/span&gt;CSTaR&amp;rsquo;s SRE/COBOL&amp;trade; was based on Refine/COBOL&amp;trade; a COBOL reverse-engineering tool which originated from collaborative research by Boeing and Reasoning while TSRI&amp;rsquo;s founder was at Boeing from 1989 through 1994.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The modularization prototype was built using a precursor to Refine/COBOL.&lt;span&gt;&amp;nbsp; &lt;/span&gt;In 2000 Reasoning discontinued support for Refine/COBOL.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Neither Boeing nor Reasoning commercialized the modularization research prototype, and the technological foundation upon which the modularization prototype was developed has since been superseded by more advanced technologies.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Commencing in 2003, TSRI replaced Reasoning&amp;rsquo;s Lisp-based Refine&amp;trade; technology with a C++-based technology, which provided superior support for TSRI&amp;rsquo;s automated transformation services, which have focused primarily upon automated transformation of legacy languages into modern languages. &lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;We have found more than a 100 citations to our 1993 paper, but we are not aware of any commercial products that achieved comparable results to those we reported in 1993.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Same-Language Modularization vs. Language Transformation&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font face="Times New Roman" size="3"&gt;Fully automated transformation from legacy languages into modern languages is, in general, more technologically difficult than is legacy system restructuring.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Both involve application of parsing and transformation technologies.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The chief challenge of legacy to modern language transformation is the achievement of valid syntactic and semantic mappings, while the primary challenge of same-language modularization is the preservation of functional equivalence while composition improvements are introduced to reduce control-flow complexity of the program.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Minimizing the overhead associated with the introduction of inter-module interfaces, avoiding code duplication and preserving state or working storage are the major challenges.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Functionally Centric Modularization&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman" size="3"&gt;Functionally-centric Modularization is a form of program restructuring that produces modularized programs in the much them same style and format as would be produced if a team of programmers were to systematically recompose a complex program into smaller more manageable components.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Modularization seeks a &lt;em&gt;natural&lt;/em&gt; repartitioning of the system that preserves the functionality of the original system while improving its maintainability. The new modules must be constructed in such a way that:&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;1.&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;font size="3"&gt;Data declarations are properly assigned to linkage and storage sections, with their internal structure and alignment preserved,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;2.&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;font size="3"&gt;CALLs and entry points for modules are created with correct parameters,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;3.&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;font size="3"&gt;There are no cross-module GOTOs or unmatched error-handling constructs,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;4.&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;font size="3"&gt;Array index registers are properly treated, and&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText3"&gt;&lt;font face="Times New Roman"&gt;&lt;font size="3"&gt;5.&lt;/font&gt;&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;font size="3"&gt;Modularization steps are documented to facilitate future maintenance.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyText3"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&lt;font size="3"&gt;&lt;font face="Times New Roman"&gt;Modularization involves a broad range of non-localized changes across thousands of lines of code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;These changes must preserve the functionality of the original system while improving its maintainability.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Modularization Automation Requirements&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Automation introduced to support the modularization process should:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Support and facilitate the human-making or human review process to assure that the partitioning makes sense from a human perspective.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Produce correctly modularized programs in the same style and format as would be produced manually,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Support unit and integration testing of the modularized system,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;4.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Integrate with the existing mainframe environment,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;5.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Not disrupt or be an impediment to the conduct of on-going maintenance tasks.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;The Modularization Process&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The goal of the modularization process is to break a large program into several programs of manageable size by repeatedly selecting paragraphs in an existing program, called the &amp;ldquo;source&amp;rdquo;, and transferring them and related code into another program, called the &amp;ldquo;target&amp;rdquo;.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Some aspects of this modularization are necessary for semantically correct modularization, and others are required by related maintenance tasks, independently of whether the modularization process is applied manually or automated.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;This section first gives an overview of the modularization process, and then discusses two key technical problems encountered in this process, creating CALL parameters, and creating the modularized program&amp;rsquo;s data division.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The process of selecting paragraphs and transferring them to a target program is called a &amp;ldquo;modularization step&amp;rdquo;.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The input to a modularization step is a COBOL program (the source) and the set of selected paragraphs in the source.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The outputs of a modularization step are the target program and the modified source program.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Each modularization step removes some paragraphs from the source.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The modified source can then serve as input to the next step.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The steps are repeated until the source is reduced to manageable size and the paragraphs in the original source are distributed among a collection of smaller programs.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;A COBOL program with tens of thousands of lines of code may require many modularization steps.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The modularization process includes analyzing the source to make a suitable selection of paragraphs for each modularization step.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Since this step is relatively straightforward compared to implementing the subsequent modularization steps, it was not implemented into the original modularization prototype.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The commercial grade modularization tool will support automated or semi-automated paragraph selection, using a combination of metrics to measure the quality of the source and target code.&lt;span&gt;&amp;nbsp; &lt;/span&gt;McCabe&amp;rsquo;s complexity metrics will be used for measuring control complexity, line of code metrics for measuring code size, the number of paragraphs, call depth, call fan-in and fan-out, number of parameters in linkage sections, number of data elements in working storage sections, composition of language constructs, and subject area of variables and paragraphs will be used as input to the selection of the paragraphs for each modularization step.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Following each modularization step these metrics will be regenerated for each target module and the source program for use as input to the next modularization step.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;In the modularization prototype during each the modularization step, each selected paragraph &lt;em&gt;par&lt;/em&gt; is replaced by a new paragraph Z-CALL-&lt;em&gt;target-entry&lt;/em&gt;.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;em&gt;entry&lt;/em&gt; is the name of an entry created for &lt;em&gt;par&lt;/em&gt; in the target program &lt;em&gt;target&lt;/em&gt;.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This Z-CALL-&lt;em&gt;target-entry&lt;/em&gt; paragraph contains a CALL &lt;em&gt;entry&lt;/em&gt; statement that invokes &lt;em&gt;par &lt;/em&gt;in the target program.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Also, each PERFORM &lt;em&gt;par&lt;/em&gt; statement in the source program is replaced by a PERFORM Z-CALL-&lt;em&gt;target-entry&lt;/em&gt; statement.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;This approach to CALL introduction is called &lt;em&gt;segregated&lt;/em&gt; CALL introduction.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The modularization prototype used CALL &lt;em&gt;segregation&lt;/em&gt; to encapsulate the CALL statements for subsequent manual review and to isolate CALL statements with long sequences of parameters from the main body of code. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;CALL segregation allowed analysts already familiar with the legacy systems to continue using the code without incurring the &amp;ldquo;mental&amp;rdquo; overhead to read CALL USING parameter sequences; it isolated complexities of parameter sequences to a separate section of the program; it facilitated distinction of CALLs introduced by the modularization process from CALLs that were already present, and it allow programmers scanning the source code to instantly recognize CALLs that were introduced by modularization.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The commercial grade modularization tool will simplify of the above process by permitting either CALL target-entry &lt;strong&gt;segregation&lt;/strong&gt;, or &lt;strong&gt;direct&lt;/strong&gt; CALL target-entry introduction at the point in the code where the PERFORM statement was replaced.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The user will decide upon &lt;strong&gt;direct &lt;/strong&gt;CALL or &lt;strong&gt;segregated&lt;/strong&gt; CALL introduction at the time of paragraph selection, and in the absence of user direction, the tool will decide using default or user-defined parameter length restrictions.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;After completion of a modularization step the &lt;em&gt;target&lt;/em&gt; program (the new module) has:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A procedure division that contains:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;The selected paragraphs, plus all paragraphs in the PERFORM call graph below the selected paragraphs, and&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Appropriate &lt;em&gt;entries&lt;/em&gt; for the paragraphs that are called with &lt;em&gt;direct&lt;/em&gt; or &lt;em&gt;segregated&lt;/em&gt; CALLS from the modified source program.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A data division that contains:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A linkage section for data elements that are entry parameters or fields of entry parameters, and&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A working storage section for data elements that are local to the target program.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Identification and environment divisions the same as in the source except for a new program id and the addition of comments documenting the modularization step. &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The modularization process requires all paragraphs in the PERFORM call graph below the selected paragraphs to be transferred to the target program because COBOL does not allow calls from a called program to the calling program.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&lt;strong&gt;The modified source program has:&lt;/strong&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.25in;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;A procedure division with:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;a.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;The transferred paragraphs removed, and&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 1in;text-indent:-0.25in;tab-stops:list 1.0in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;b.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Calls to the entries in the target programs;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;Identification, environment and data divisions the same as in the original source.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;One of the key technical problems in implementing a modularization step is determining the parameters of the CALL statement created for a PERFORM.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The PERFORM statement does not have parameters.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Thus data flow must be analyzed to determine the CALL parameters.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Data flow analysis of a single compilation unit may be insufficient to determine the complete set of parameters for each CALL; other analysis techniques may be needed.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The next two sections focus on this problem and on the related problem of creating the data division of the target program.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Other modifications of the source and creation of other divisions of the target are more straightforward and are not treated in this paper.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Generating CALL Parameters&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Since PERFORM statements do not have parameters, the parameters for the CALL that is generated for it must be determined by analyzing the data flow in the source program.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Some data elements referenced in a transferred paragraph are determined to be input or output parameters of PERFORM of that paragraph.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The rest are local to that paragraph.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;An input parameter of a PERFORM statement is a data element that is set prior to the PERFORM statement and used in the perform paragraph.&lt;span&gt;&amp;nbsp; &lt;/span&gt;An output parameter is a data element that is set in the performed paragraph and used following the PERFORM statement.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;&amp;ldquo;Prior&amp;rdquo; and &amp;ldquo;following&amp;rdquo; are with reference to a control flow path through the PERFORM statement.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Manual determination of the possible control flow paths through a particular point in a large COBOL program is a difficult task.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Data flow analysis to determine the &lt;em&gt;prior&lt;/em&gt; and &lt;em&gt;following&lt;/em&gt; references between the variables that are referenced within the paragraphs to be included in the &lt;em&gt;target &lt;/em&gt;program and the variable referenced within the paragraphs remaining within the &lt;em&gt;source&lt;/em&gt; program is a computational intensive operation that consumes intensive amounts of machine resources.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;During manual modularization the analysis of a single variable&amp;rsquo;s linkage requirements required hours of human analysis, and selection of one partition required a weeks of human analysis.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Determination of data flow within paths is complicated by the existence of many aliases in most COBOL programs.&lt;span&gt;&amp;nbsp; &lt;/span&gt;For example, if a data element A is set prior to a PERFORM, and the performed paragraphs uses B, which is a field of A, then A or B should be included as a parameter in the call generated for the PERFORM.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;A search of control flow paths may not reveal any place where B is explicitly set; the maintainer must recognize that A is an alias of B, and search for the statement that sets A.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The alias problem is non-trivial; industry analyses show that in a typical COBOL program, lowest level data elements have on average 20 aliases.&lt;/font&gt;&lt;a target="_blank" name="_ftnref3" href="http://mainframemigration.org/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=707&amp;amp;postid=1441#_ftn3" title="_ftnref3"&gt;&lt;span class="MsoFootnoteReference"&gt;&lt;span&gt;&lt;font face="Times New Roman"&gt;[3]&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Determination of data flow between programs that CALL each other is another complication.&lt;span&gt;&amp;nbsp; &lt;/span&gt;If a data element A in program U is passed through a CALL statement to another program V, then the data flow of A within program V must be done in order to correctly partition program U. &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;Data-flow analysis of the source program by itself is not always sufficient to generate all the required CALL parameters.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The control flow graph for a program may have no path from a &lt;em&gt;set&lt;/em&gt; of data elements A to a &lt;em&gt;use&lt;/em&gt; of A.&lt;span&gt;&amp;nbsp; &lt;/span&gt;However, if A is in the linkage section, its value may persist between two CALLs, the first of which causes the &lt;em&gt;set&lt;/em&gt; and the second the &lt;em&gt;use&lt;/em&gt;.&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Maintainers apply their knowledge of the COBOL application as a whole and their knowledge of COBOL programming practice to help identify such parameters.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;strong&gt;Generating The Target Program Data Division&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;The data division has both linkage and working storage sections.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Declarations for data elements identified as parameters are included in the &lt;em&gt;target&lt;/em&gt; program &lt;em&gt;linkage &lt;/em&gt;section.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Declaration for other data elements that are &lt;em&gt;referenced&lt;/em&gt; in the &lt;em&gt;target&lt;/em&gt; program are included in the target program&amp;rsquo;s &lt;em&gt;working storage &lt;/em&gt;section.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The modularization process includes rules for determining how the data declarations in the &lt;em&gt;target&lt;/em&gt; program are generated from the data declarations in the &lt;em&gt;source&lt;/em&gt; program.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Here are some of the rules:&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;1.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;If a data element in the &lt;em&gt;source&lt;/em&gt; data declarations has a superior item with an OCCURS clause, the superior item is also included in the &lt;em&gt;target&lt;/em&gt; program data division.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;2.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;If a data element in the &lt;em&gt;target &lt;/em&gt;has an OCCURS clause (including one added by the previous rule), its immediate superior&amp;rsquo;s data declaration is included in the &lt;em&gt;target&lt;/em&gt; program data division.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;3.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;If a data element in the target has a REDEFINES clause, the data declaration for the element it redefines is also included in the &lt;em&gt;target&lt;/em&gt; program data division.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt 0.5in;text-indent:-0.25in;tab-stops:list .5in;" class="MsoBodyText"&gt;&lt;font face="Times New Roman"&gt;&lt;span style="font-size:12pt;"&gt;4.&lt;span style="font:7pt 'Times New Roman';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:12pt;"&gt;If a condition-name (88-level data element) is in the target program, its conditional data element is also included in the&lt;em&gt; target&lt;/em&gt; program data division&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;h2 style="margin:0in 0in 0pt;text-align:left;" align="left"&gt;&lt;font face="Times New Roman" size="3"&gt;Technical Approach&lt;/font&gt;&lt;/h2&gt;&lt;p style="margin:0in 0in 0pt;" class="MsoBodyText"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0in 0in 0pt;text-align:justify;" class="MsoBodyText"&gt;&lt;span style="font-size:12pt;"&gt;&lt;font face="Times New Roman"&gt;This section describes the technical approach that will be used to build the commercial grade modularization tool.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Key consideration for the technical approach are that it enable the automation of modularization processes that have already proven through prior industrial research to be of value within an industrial environment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;The code produced must be in the same style and format as would be produced through a highly disciplined manual process, and the target code must integrate with the mainframe environment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Also, the process must be extensible to facilitate automation of additional, related maintenance or modernization activities that could take place following 