Assessment Mode

What is Assessment Mode, how to use it, when to use it and more technical information about this component in the Generic Infrastructure.

What is Assessment Mode?

The Assessment mode is an independent component from all the others modules like the Evolution Framework, converters and the Assessment Model that gets relevant information about the migration process to generate reports and the assessment itself.

It receives information from the events that the Evolution Framework publish via the pattern Publish/Subscriber and writes and reads information into the Assessment Model. Basically, this is the general overview of how this component is linked to others.

The Assessment Mode works with MEF, this means that is like a plug in that can be added to the container that loads all the other parts.

The class Assessment Mode has a tag interface that provides the Evolution Framework called "IEventListener" so it indicates that the Assessment Mode will be listening to the EF events.

Why does Assessment Mode exist?

Before the Assessment Mode existed, the converter tool was in charge of decorating the nodes and collecting information from the AST that provides the Evolution Framework, so this component was created to make that process more transparent and independently from the converters.

Assessment Mode Flow

The Evolution Framework implements the publish/subscribe pattern which makes possible that the Assessment Mode listens to those events that are published every time an action happens. This actions are the events from the EF that the Assessment Mode is subscribed.

Then, the converter setups the configuration of the Assessment Mode via an object called "AssessmentSetup". This means it provides the following configuration variables:

Notifications
ReportPath
TransformationContracts
CollectAssessmentContracts
CodeModelWriter
CodeModelReader
DefaultNodeStatus
RequiredObjectDetails
EnableEmbeddedCategory
LanguageConfigurations
SessionTimestamp
Reports

Once the configuration is provided by the converter, the Assessment Mode are ready to do its job.

  1. While every node in the AST is transformed or replaced it will be decorated by the Assessment Mode. It can be decorated in different ways like supported, partial supported, failed and so on. That process may look like this:

2. Once all the AST is decorated and the event called "NodeTransformerFinished" or "NodeReplacerFinished" is triggered and the node at that moment is the rot of the AST the Assessment Mode will start collecting the information.

3. When the informaiton is totally collected the Assessment Mode starts to save that information in the Code Model (Assessment Model). Temporarily, some data is being saved in a class called "AssessmentModeModel" that is used later to generate reports, however, all this information must be saved in the code model as well.

4. Lastly, when all the previous steps are done the Assessment Mode can generate reports.

Assessment Mode: Class Diagram

Last updated