[InfoSet] - LegacyToWindows Migration # Mapping Sets

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:
grafik
Right:
grafik

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.

1 Like