codemetropolis / CodeMetropolis

See your software as never before.
http://codemetropolis.github.io/CodeMetropolis/
14 stars 30 forks source link

Development of Mapping Tree View GUI for XML Configuration #360

Open SzatmariA opened 7 months ago

SzatmariA commented 7 months ago

Objective

The objective of this issue is to design and implement a GUI that enables users to construct the XML configuration for the mapping phase of CodeMetropolis in a tree view format. This GUI should facilitate the intuitive creation, editing, and visualization of the complex XML structure required for defining mappings, resources, linkings, and bindings among various software metrics and architectural elements.

Description

The Mapping Tree View GUI aims to simplify the process of generating the mapping XML configuration, which is crucial for translating software metrics into architectural elements within the CodeMetropolis toolchain. The expected output of this GUI is a well-formed XML document that specifies constants, linkings, and bindings, akin to the following structure:

<mapping version="2.0">
  <resources>
    <constant id="cellar_character" value="planks"/>
    <constant id="cellar_external_character" value="wood"/>
  </resources>
  <linking source="package" target="ground"/>
  <linking source="class" target="garden">
    <binding from="CBO" to="flower-ratio">
      <conversions>
        <conversion type="normalize"/>
      </conversions>
    </binding>
    ...
  </linking>
  ...
</mapping>

This GUI should provide a user-friendly interface for specifying each element of the XML document, including resources, linkings, and their respective bindings and conversions.

Features

Action Items

Goal

By introducing the Mapping Tree View GUI, we aim to make the process of generating complex mapping XML configurations for CodeMetropolis more accessible and intuitive, thereby enhancing the toolchain's usability and flexibility for users.