Выявление методов - Система автоматизированного разделения кода прикладных программ
Из-за особенностей javaparser получать метод и необходимый к нему набор данных приходится в 2 этапа.
Как уже говорилось ранее, во многих случаях невозможно перейти от вершины, относящейся к внутренней части метода к самому методу. Также нет возможности поиска по набору выражений, чтобы узнать, присутствует ли там конструкция заданного типа.
Последовательный перебор всех конструкций в рамках одного метода возможен, однако выделить определенный тип выражения будет достаточно сложно. Пример сложной конструкции:
Int a= SomeClass. b + (++j) *o. CallSomeMethod(parameter);
Данная строчка содержит: бинарные выражения (операторы + и *), обращение к полю (SomeClass. b), Вызов метода (O. CallSomeMethod(parameter), унарное выражение (++j), объявление переменной (int a) и выражение присваивания (=).
Данная конструкция получит тип объявление переменной (VariableDeclarationExpr). Для того, чтобы получить выражение типа вызов метода (MethodCallExpr) Путем перебора всех выражений в рамках метода, необходимо будет переопределить методы visit для всех вышеназванных типов конструкций, а так как видов конструкций, частью которых может быть вызов метода достаточно много, то эффективнее будет разбить данный процесс на 2 более простых этапа. К тому же переопределение будет частично повторять возможности самого Javaparser.
В данном случае необходимо воспользоваться тем, что каждая вершина АСД хранит в себе номер начальной и номер завершающей строки. Так как АСД строится для единицы компиляции, то оба шага должны выполняться последовательно на Одном и том же Файле.
- 1) Необходимо обойти все вершины типа "вызов метода". Если вызываемый метод принадлежит к методам из списка JDBC методов, то запоминается номер начальной строки. 2) Производится обход вершин "объявление метода" и "объявление класса". Если номер строки лежит в интервале [Номер_строки_начала_метода; номер_строки_завершения_метода], вершина "объявление метода", добавляется в список. Для классов такая же процедура.
Данная функциональность не может быть реализована в рамках одного класса, так как Javaparser обходит дерево в глубину.
В результате мы получаем списки методов, соответствующих им единиц компиляции, классов, все то, что необходимо для генерирования классов взаимодействия.
Похожие статьи
-
Средства разработки В качестве целевого языка программирования была выбрана Java из-за ее распространенности. Данная система разделения кода также...
-
Данная методика рассчитана на приложения с трехуровневой архитектурой: клиент - сервер приложений - сервер базы данных. Так как программа нацелена на...
-
Схема работы системы - Система автоматизированного разделения кода прикладных программ
Система представляет из себя 2 модифицированные копии одной первоначально программы, расположенные на разных серверах. Вызовы методов, перенесенных на...
-
Обзор системы Основной задачей разрабатываемой системы является повышение производительности систем состоящий из сервера приложений и сервера баз данных,...
-
Данный программный продукт компании Dell собирает данные о выполняемых выражениях из Системной глобальной области в БД Oracle ( Англ. System Global Area,...
-
2 вышеописанных класса и интерфейс имеют сходную структуру, поэтому процесс генерации всех 3 объектов выглядит следующим образом: A. Задать импорт...
-
Предпосылки: исходный код Основная идея, на которой строится данная система, заключается в том, что исходный код сервера приложений не оптимален и в нем...
-
Модификация клиентской копии программы должна обеспечить согласование объектов-источников до выполнения удаленного запроса, а также предоставлять...
-
Qure Optimizer компании DB Sophic - Система автоматизированного разделения кода прикладных программ
Qure Optimizer является частью системы Qure управления производительностью БД и приложений работающих с БД. Данный программный продукт производит анализ...
-
Актуальность разработки - Система автоматизированного разделения кода прикладных программ
В большинстве современных систем, работающих с БД, набор параметров к запросам не фиксирован, а потенциально создаваемая избыточность негативно повлияет...
-
Существует множество различных способов улучшения производительности систем работающих с базами данных и самих баз данных. Так как цель разрабатываемой...
-
Секционирование [4] - Система автоматизированного разделения кода прикладных программ
Секционирование - это разделение хранящихся в БД объектов, например, таблиц на несколько меньших частей, с разным физическим расположением на диске....
-
Задание на разработку - Система автоматизированного разделения кода прикладных программ
Ознакомиться с технологией принципами построения системы разделения кода "Pyxis", разрабатываемой группой из MIT и университета Cornell. Провести...
-
Введение - Система автоматизированного разделения кода прикладных программ
Множество современных приложений используют базы данных для накопления самых разных видов информации, которые могут включать пользовательскую статистику,...
-
В основу успешного решения задач учета и управления автоперевозками положен комплексный подход к автоматизации предприятий, сочетающий в себе...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Математическое обеспечение позволяет использовать методы автоматизированного поиска оптимальных вариантов при проектировании системы. Часто при решении...
-
Методы и средства проектирования - Автоматизированные системы обработки экономической информации
Проектирование - процесс создания проекта-прототипа, прообраза предполагаемого или возможного объекта, его состояния. Современная технология создания АИС...
-
ППО - часть программного обеспечения, обеспечивающая решение прикладных задач. Выделяют: 1) пользовательское ППО (ПППО), предоставляющее пользователю...
-
, Алгоритм обратного хода: Шаг 1. Вычислим Шаг 2. Вычислим: , Рис. 1. Основной алгоритм решения СЛУ методом исключения Гаусса. Для контроля правильности...
-
При рассмотрении вопросов защиты АС целесообразно использовать четырехуровневую градацию доступа к хранимой, обрабатываемой и защищаемой АС информации....
-
Продукты компании Embarcadero - DB Optimizer и J Optimizer Есть категория приложений, в названии которых хоть и присутствуют слова "оптимизация" или...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
Проектирование базы данных было Подробно описано в главе 7. Благодаря графической оболочке MySQL Workbench для MySQL все SQL запросы на создание таблиц...
-
Методы архивации в WinRAR - Архивация информации и программы-архиваторы
Архиватор WinRAR предоставляет пользователю возможность выбора одного из шести возможных методов архивации. В таблице 10.2 приведено сравнение степени...
-
При разработке Системы были использованы современные веб-технологии: AJAX, LAMP. Используемые программные средства, языки программирования, библиотеки:...
-
Система "Экспедитор" предназначена для автоматизации деятельности транспортно-экспедиционных предприятий, занимающихся обслуживанием...
-
Программный алгоритм визуальный гаусс В программу включены следующие процедуры: "gauss1", "gaussj", "New1Click", "Button1Click", "Button2Click",...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
Метод Гаусса. Метод Гаусса решения систем линейных уравнений состоит в последовательном исключении неизвестных и описывается следующей процедурой. С...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Дана система линейных уравнений (СЛУ) с n неизвестными: В матричной форме записи система (1) имеет вид: (2) Где : n - порядок системы; - матрица...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Сетевая топология -- способ описания конфигурации сети, схема расположения и соединения сетевых устройств. Существует множество способов соединения...
-
Обеспечение высокопомехоустойчивого обмена информацией в автоматизированных системах управлениях
При передаче цифровых данных в комплексах средств автоматизации управления войсками и оружием существует вероятность того, что принятые данные могут...
-
Информация с точки зрения информационной безопасности обладает следующими категориями: * конфиденциальность -- гарантия того, что конкретная информация...
-
Система мониторинга социальных сетей предоставляет исследователю возможность собрать интересующие его упоминания в социальных сетях по какой-либо...
-
Для того, чтобы разработать оптимальный метод интеграции сторонних систем в существующую ИТ-инфраструктуру систем компании, требуется точно поставить...
-
Известно, что создание систем "с нуля" приводит к глобальным затратам компании на фонд оплаты труда, на поддержание созданного решения. К тому же, чем...
Выявление методов - Система автоматизированного разделения кода прикладных программ