Вычисление метрик связности и связности по классу XML

Я пытаюсь создать проект для поддержки принятия решений по проблеме распределения ответственности класса с помощью оптимизации роя частиц. Функция пригодности определяется с учетом различных параметров, таких как сцепление и сцепление, и должна выполняться оптимизация роя частиц. Входными данными для программы будет диаграмма классов UML в формате XML. Как рассчитать следующие параметры из диаграммы классов UML в формате XML:

MAC (c) - связь метода с атрибутом между классом c и другими классами - общее количество взаимодействий между методами одного класса (c) и атрибутами других классов на той же диаграмме классов MMC(c) - связь метода с методом между классом c и другие классы - общее количество взаимодействий между методами класса (c) и методами других классов в одной и той же диаграмме классов. MGC(c) связывание методов-обобщений - это применимо только в тех диаграммах классов, где применяется обобщение.

RCI (c) отношение когезионных взаимодействий класса c: RCI (c) = | CI (c) | / | CImax (c) |.

CImax (c) - максимально возможные связные взаимодействия в классе c. CI(c) - число существующих связных взаимодействий в классе c.

TCC (c) жесткая сплоченность класса - это пары методов m1 и m2 класса c∈C общего пользования.

DMA (m, a) прямая зависимость метода от атрибута между методом m и атрибутом a.

DMM (m1, m) прямая зависимость метода от метода между m1 и m2 .

Как рассчитать эти параметры из диаграммы классов UML в формате XML?

1 ответ

Вам необходимо выяснить, как десериализовать этот файл в объектное представление, с помощью которого вы можете написать алгоритм для выполнения ваших задач.

Трудно оказать помощь без дополнительной информации. Файл, который у вас есть, это файл XMI? Вы можете ответить на это, открыв его и выполнив поиск xmlns: xmi = "http://www.omg.org/XMI"; если найден, то да. Является ли файл экземпляром Ecore? Вы можете ответить на это, ища ecore:; если найден, то да.

Если файл является XMI-представлением диаграммы классов и экземпляром Ecore, вы должны открыть его с помощью Eclipse Modeling Tools. Если вам удастся открыть его таким образом, то следующим шагом будет ознакомление с Eclipse Modeling Framework (EMF) перед написанием алгоритмов, которые могут проходить по диаграмме классов, как если бы это была любая другая графоподобная структура данных.

Я знаю, что мой ответ - длинный выстрел; даже если я ошибаюсь, я бы предпочел оставить его здесь для того, чтобы другие натыкались на него, а именно те, которые пытаются открыть XML-представления диаграмм классов.

Другие вопросы по тегам