This post is currently in a preview version and will be further updated in the near future
The [InfoSet] LegacyToWindows Migration series is a collection of various information resources on migrating from Legacy to Windows. In this blog, mapping sets are presented.
A mapping set is a formal description of how a code conversion can be implemented, especially when manual pre- and/or post-processing is required. These formal descriptions can also be used in conjunction with a structured migration project approach, such as the Legacy-To-Windows Migration Project Blueprint.
Introduction
Mapping sets describe how to convert from the left side (migration source) to the right side (migration destination). This specification can refer to different levels: Code statements, activity substitutions, remodeling, to name a few examples.
The anatomy of a mapping set
The mapping set can be divided into the following components:
The left side | What is addressed from the migration source |
The pre-work | Preparatory steps intended for conversion |
The conversion | How the code conversion is to be performed |
The post-work | final work steps that are needed after the code conversion is done |
The right side | The migration target that is to be achieved as a result |
In case a formal documentation has to be created during the planning and implementation of a Legacy-To-Windows migration, the following pattern can be used for example
LEFT | PRE | CONVERSION | POST | RIGHT |
---|---|---|---|---|
Source Description | If needed, pre-work steps | integration within the conversion step | If needed, post-work steps | expected result description |
Some examples are given below
The use of mapping sets
The mapping set is derived from a code conversion problem and describes the way it is handled. Also, it may be that a code conversion can be implemented in different ways, but implementation standards should be followed.
Based on existing mapping sets, a prototypical Legacy-to-Windows migration can be prepared by
- Alignment of the preparatory inventory activities
- Definition of the migration prototype
- Identifying possible code conversion issues that are not yet known.
Defined work descriptions in the pre-processing and post-processing part can be used afterward for effort estimations and migration planning.
Example
For better representation, the examples are presented in a transposed form
Microsoft.Activities.Extensions - Add to Dictionary Activity
As this NuGet package is not available in a Windows compatible version, a remodeling will be done
Part | Instruction |
---|---|
LEFT | * Microsoft.Activities.Extensions * Add to Dictionary Activity |
PRE | * replace by an Assign Activity |
CONVERSION | XAML Conversion with conversion tool |
POST | n/a |
RIGHT | AssignActivity: DictVar("Key") = "Value" |
Visuals
Left:
Right:
Conclusion
Mapping sets describe mappings of code conversions and the steps necessary to perform them
Furthermore, mapping sets can be used for this purpose:
- Code conversion problem analysis & prediction
- Documentation & Code Standards Definitions
- Effort estimation & migration planning
The mapping sets provide a way to formally define code conversions.
References
Questions
For questions on your specific case or migration topic open a new topic and get individual support.