Verifying a Euro Conversion | Metering Lines of Code |
This chapter explains how EuroSmart can be used to analyze the impact of the euro on an application as the first part of the remediation process.
The conversion process has three phases: preparation, analysis and fixing. You use EuroSmart for the first two phases: preparation and analysis. Once you deliver an analyzed application from EuroSmart into the fixing phase, you proceed with your normal development tools.
EuroSmart provides the flexibility to organize your process in many ways. This section describes one general process and highlights the tasks and milestones. Having considered the issues involved, you will be in a good position to devise a strategy tailored to your own particular circumstances.
Figure 6-1 shows the general EuroSmart process.
Figure 6-1: EuroSmart Process
If you are working in a group and sharing the work, an administrator is responsible for the preparation phase. Both the administrator and the users are involved in the analysis phase.
If you are working independently, you don't need to create or use a group worksheet and so the process is simpler. However, you will have to do all the preparation and analysis yourself, working directly in your own worksheet.
This phase covers setting up the project database, initialising tool settings and establishing worksheets.
As part of the preparation phase, you may decide to undertake a preliminary assessment of your application. This involves setting up, effectively, a full project containing all the sources in the application and running some initial analysis after limiting the scope of the analysis tools. The process is explained more fully in the chapter Analyzing Applications and Preparing for Conversion, but the important thing is not to confuse this with setting up the main project, as described below.
The benefit of preliminary analysis is that it doesn't take so long as a detailed analysis. However, you can get a flavour of how difficult the project might be, establish analysis tool settings and make rough estimates of timescales and modification effort. You can also use this knowledge to devise your own category system, if required. Armed with the insight of the preliminary analysis, you can then proceed.
This section details the steps you take before undertaking the detailed analysis.
Note: In the steps below, activities that are necessary only for group working are prefixed by an asterisk (*).
* You then make the project shareable, and put it somewhere accessible to the users.
* Make the settings accessible to the users.
* Make the customized tool accessible to the users.
* You can use any method of splitting up the work. You could divide on the basis of source file or you could allocate, say, all BMS items to one user and all computation statements to another.
* However, note that the data items in working storage copyfiles are likely to be shared by more than one program, and so, to avoid conflicts, each of these common data items needs one owner.
There are distinct tasks in the analysis required for your application, such as finding all numeric constants that represent currency values. Although this seems to infer that you can complete one task completely before beginning the next, in practice this is not the case. You can probably identify most potential points of interest fairly quickly, but the hard work lies in analysing points of interest that seem useful but turn out not to be, and those that look unlikely but are eventually proved otherwise. See the chapter Finding Points of Interest for more about this.
You should try to be methodical in pursuing particular types of item, such as numeric constants or items used in file handling, until you think you have isolated them all, rather than interrupting a search strategy to find something else. However, after this, when you are studying the code to discover whether an item you already identified is of interest, you might find it difficult to make progress. This might be a good time to switch temporarily to another task, using any insights you gained while working on the first task. Likewise, the first task might be made simpler on returning because of what you learned while working on the second. Furthermore, the investigation process itself might convince you to revisit certain areas of the source for further research, in the light of what you have learnt of the application and its methods of processing.
Analysis work is generally assigned by program, but copy and include files mean that programs are not entirely self contained, so you might have to consider who gets these sources to analyze.
The list below details the analysis process.
Note: In the steps below, activities that are necessary only for group working are prefixed by an asterisk (*).
The analysis process itself is iterative:
* You might discover an effective process that can be shared with other users, or discover literals that are not in the defaults.
* Group users need to merge their local worksheets into the group worksheet, and may need to update the tool settings they use if someone discovers an effective investigation process. The administrator resolves any conflicting points of interest, accepting or rejecting the users' changes as thought fit.
* If, as group administrator, you reject any changes, they are left in the users' worksheets. After merging, you might need to assign ownership of new points of interest, but the process needs to be repeated until you are happy that you have them all.
* As a group user, you work alone on the points of interest that the administrator has copied into your worksheet. You can view the group worksheet as necessary but cannot change it.
The analysis phase is complete when:
This milestone is the confidence test for determining when to begin fixing the source code. You must judge that the time required to find any further monetary points of interest is greater than time at risk from handling possible exceptions
This part of the analysis phase considers what must be done when you are satisfied that you have identified all points of interest that need fixing:
The administrator is likely to do this for a group working environment.
Warning: Do not edit the original source code until you are satisfied that the analysis phase is as complete as possible. If you do, you will need to restart the project from the beginning and remake the inventory and recreate the worksheet.
Now that the worksheet has a complete set of points of interest, you can proceed to fix, compile and test the application using your preferred development tool. Fixing can be simplified if you have assigned categories to document the type of solution required for each point of interest, and annotated any other helpful comments.
If you are using Mainframe Express, you can export the monetary points of interest from EuroSmart using the EuroSmart Export POI Details wizard. You then import the resulting files into Mainframe Express, and the lines containing the points of interest are highlighted.
EuroSmart enables you to work within a group. It enables you to track and control the group's work, and so provides you with an audit trail of how you reached euro compliance. Group working also enables you to share common source code, information and techniques; and this can help reduce duplication of effort while maintaining consistency and control.
You need to decide in your organization how you are going to use the group working facilities. The main considerations involve:
An administrator is responsible for creating a project and loading the source code for the project into the Revolve database. The administrator then makes the project shareable, and puts it somewhere accessible to the users. After that the responsibility is to update the project as necessary.
All the users need access to the shared project, so they need to know its name and location. They cannot update the source files directly, but can pass changes to the administrator to load into the project.
An administrator is responsible for authorizing one or more users to meter code. Authorizing users entails enabling usage counters for those users and giving them write access to the metering control file.
All the users need access to the metering control file, since this file confirms that the code has been metered. The users need read access only, and they don't need usage counters.
A group administrator is responsible for creating a group worksheet and storing it centrally, so that each user can access it to see a common and consistent view of the analyzed information. The administrator is also responsible for updating the group worksheet, merging in changes from users' local worksheets.
All the users need access to the group worksheet. The users have read access only, but they can make local copies of all or part of the worksheet and update their local copies. They then pass their updated local copies back to the group administrator for merging into the group worksheet.
EuroSmart allows you to configure the analysis tool settings and to define tools for extracting points of interest where the identification process is long or complicated. This saves time and effort, and ensures a consistent approach to extracting certain types of element.
Since the tools and tool settings are shared within the group, you need a policy for who is permitted to develop, test and release customizations. This is particularly important in view of the fact that facilities for sharing composite tools are currently limited. All your tools are stored in one file and there is currently no way to merge your tool file with anyone else's.
To work around this problem, one person needs to maintain the master tool file, which you can then distribute to other users.
Copyright © 1998 Micro Focus Limited. All rights reserved.
This document and the proprietary marks and names
used herein are protected by international law.
Verifying a Euro Conversion | Metering Lines of Code |